*/ public function getRedirectStatusCounts($bypassCache = false): array; /** * @param bool $bypassCache * @return array */ public function getCapturedStatusCounts($bypassCache = false): array; /** @return int */ public function getHighImpactCapturedCount(): int; /** @return string */ public function buildHighImpactCapturedCountQuery(): string; /** * @template T * @param callable():T $work * @return T */ public function runWithDeferredInvalidation(callable $work); /** @return void */ public function invalidateStatusCountsCache(): void; /** @return void */ public function invalidateViewSnapshotCache(): void; /** @return void */ public function clearRegexRedirectsCache(): void; /** * @param int $logID * @return int */ public function getLogsCount($logID); /** @return array> */ public function getRedirectsAll(); /** @param string $tempFile @return void */ public function doRedirectsExport(string $tempFile): void; /** @return array> */ public function getRedirectsWithLogs(); /** @return array> */ public function getRedirectsWithRegEx(); /** @return array> */ public function getManualRedirectsWithRegexMetachars(); /** * @param string $sub * @param array $tableOptions * @return array */ public function getRedirectsForView($sub, $tableOptions); /** * @param string $sub * @param array $tableOptions * @return bool */ public function viewRowsSnapshotAvailable($sub, array $tableOptions): bool; /** * @param string $sub * @param array $tableOptions * @return bool */ public function viewTableSnapshotAvailable($sub, array $tableOptions): bool; /** * @param string $sub * @param array $tableOptions * @return int */ public function getRedirectsForViewCount(string $sub, array $tableOptions): int; /** * @param string $sub * @param array $tableOptions * @param bool $queryAllRowsAtOnce * @param int $limitStart * @param int $limitEnd * @param bool $selectCountOnly * @return string */ public function getRedirectsForViewQuery($sub, $tableOptions, $queryAllRowsAtOnce, $limitStart, $limitEnd, $selectCountOnly); /** * @param array $postIDs * @return array */ public function getExtraDataToPermalinkSuggestions(array $postIDs): array; /** * @param string $query * @param array $data * @return string */ public function prepare_query_wp($query, $data); /** * @param string $query * @param array $data * @return array{0: string, 1: array} */ public function prepare_query($query, $data); // --- ViewSnapshotCache (warmup) --- /** * @param string $sub * @param array $tableOptions * @return array */ public function warmViewTableSnapshotStage(string $sub, array $tableOptions): array; // --- ViewMetadata (table diagnostics, inserts, counts) --- /** @return array */ public function getTableEngines(); /** @return bool */ public function isMyISAMSupported(): bool; /** * @param string $tableName * @param array $dataToInsert * @return array */ public function insertAndGetResults($tableName, $dataToInsert); /** @return int */ public function getCapturedCount(); /** @return array */ public function getAllPostTypes(); /** @return int */ public function getLogDiskUsage(); /** * @param array $types * @param int $trashed * @return int */ public function getRecordCount($types = array(), $trashed = 0); /** * @param string $sub * @param string $failedQuery * @param array $tableOptions * @param array $queryResult * @return array */ public function captureViewQueryFailureDiagnostics(string $sub, string $failedQuery, array $tableOptions, array $queryResult): array; // --- ViewQueriesHitsLifecycle --- /** @return void */ public function maybeUpdateRedirectsForViewHitsTable(): void; }