SYMBOL INDEX (1908 symbols across 138 files) FILE: _examples/library/basic/main.go function main (line 25) | func main() { function run (line 31) | func run(ctx context.Context) error { function openAppDB (line 101) | func openAppDB(_ context.Context, path string) (*sql.DB, error) { function initSchema (line 106) | func initSchema(ctx context.Context, db *sql.DB) error { function insertRow (line 117) | func insertRow(ctx context.Context, db *sql.DB) error { FILE: _examples/library/library_example_test.go function TestLibraryExampleFileBackend (line 18) | func TestLibraryExampleFileBackend(t *testing.T) { function openAppDB (line 92) | func openAppDB(ctx context.Context, path string) (*sql.DB, error) { function waitForLTXFiles (line 108) | func waitForLTXFiles(replicaPath string, timeout time.Duration) error { FILE: _examples/library/s3/main.go constant dbPath (line 36) | dbPath = "./myapp.db" function main (line 38) | func main() { function run (line 44) | func run(ctx context.Context) error { function restoreIfNotExists (line 134) | func restoreIfNotExists(ctx context.Context, client *s3.ReplicaClient, d... function openAppDB (line 171) | func openAppDB(_ context.Context, path string) (*sql.DB, error) { function initSchema (line 176) | func initSchema(ctx context.Context, db *sql.DB) error { function insertRow (line 187) | func insertRow(ctx context.Context, db *sql.DB) error { FILE: abs/replica_client.go function init (line 32) | func init() { constant ReplicaClientType (line 37) | ReplicaClientType = "abs" constant MetadataKeyTimestamp (line 41) | MetadataKeyTimestamp = "litestreamtimestamp" type ReplicaClient (line 46) | type ReplicaClient struct method SetLogger (line 69) | func (c *ReplicaClient) SetLogger(logger *slog.Logger) { method Type (line 95) | func (c *ReplicaClient) Type() string { method Init (line 100) | func (c *ReplicaClient) Init(ctx context.Context) (err error) { method LTXFiles (line 209) | func (c *ReplicaClient) LTXFiles(ctx context.Context, level int, seek ... method WriteLTXFile (line 217) | func (c *ReplicaClient) WriteLTXFile(ctx context.Context, level int, m... method OpenLTXFile (line 267) | func (c *ReplicaClient) OpenLTXFile(ctx context.Context, level int, mi... method DeleteLTXFiles (line 293) | func (c *ReplicaClient) DeleteLTXFiles(ctx context.Context, a []*ltx.F... method DeleteAll (line 317) | func (c *ReplicaClient) DeleteAll(ctx context.Context) error { function NewReplicaClient (line 63) | func NewReplicaClient() *ReplicaClient { function NewReplicaClientFromURL (line 76) | func NewReplicaClientFromURL(scheme, host, urlPath string, query url.Val... type ltxFileIterator (line 356) | type ltxFileIterator struct method Close (line 398) | func (itr *ltxFileIterator) Close() (err error) { method Next (line 404) | func (itr *ltxFileIterator) Next() bool { method loadNextPage (line 428) | func (itr *ltxFileIterator) loadNextPage() bool { method Err (line 487) | func (itr *ltxFileIterator) Err() error { return itr.err } method Item (line 489) | func (itr *ltxFileIterator) Item() *ltx.FileInfo { function newLTXFileIterator (line 372) | func newLTXFileIterator(ctx context.Context, client *ReplicaClient, leve... function isNotExists (line 493) | func isNotExists(err error) bool { FILE: cmd/litestream-test/load.go type LoadCommand (line 21) | type LoadCommand struct method Run (line 42) | func (c *LoadCommand) Run(ctx context.Context, args []string) error { method generateLoad (line 77) | func (c *LoadCommand) generateLoad(ctx context.Context) error { method worker (line 124) | func (c *LoadCommand) worker(ctx context.Context, db *sql.DB, workerID... method calculateRate (line 160) | func (c *LoadCommand) calculateRate(stats *LoadStats) float64 { method ensureTestTable (line 193) | func (c *LoadCommand) ensureTestTable(db *sql.DB) error { method performWrite (line 212) | func (c *LoadCommand) performWrite(db *sql.DB, data []byte) error { method performRead (line 225) | func (c *LoadCommand) performRead(db *sql.DB) error { method reportStats (line 233) | func (c *LoadCommand) reportStats(ctx context.Context, stats *LoadStat... method finalReport (line 268) | func (c *LoadCommand) finalReport(stats *LoadStats) { method Usage (line 284) | func (c *LoadCommand) Usage() { type LoadStats (line 33) | type LoadStats struct function waveFunction (line 178) | func waveFunction(t float64) float64 { function sinApprox (line 182) | func sinApprox(x float64) float64 { FILE: cmd/litestream-test/main.go function main (line 19) | func main() { type Main (line 27) | type Main struct method Run (line 41) | func (m *Main) Run(ctx context.Context, args []string) error { method Usage (line 69) | func (m *Main) Usage() { function NewMain (line 33) | func NewMain() *Main { type VersionCommand (line 89) | type VersionCommand struct method Run (line 93) | func (c *VersionCommand) Run(ctx context.Context, args []string) error { method Usage (line 108) | func (c *VersionCommand) Usage() { function init (line 118) | func init() { FILE: cmd/litestream-test/populate.go type PopulateCommand (line 17) | type PopulateCommand struct method Run (line 29) | func (c *PopulateCommand) Run(ctx context.Context, args []string) error { method populateDatabase (line 69) | func (c *PopulateCommand) populateDatabase(ctx context.Context, target... method populateTable (line 171) | func (c *PopulateCommand) populateTable(ctx context.Context, db *sql.D... method Usage (line 223) | func (c *PopulateCommand) Usage() { function parseSize (line 273) | func parseSize(s string) (int64, error) { function getDatabaseSize (line 303) | func getDatabaseSize(path string) (int64, error) { FILE: cmd/litestream-test/shrink.go type ShrinkCommand (line 15) | type ShrinkCommand struct method Run (line 25) | func (c *ShrinkCommand) Run(ctx context.Context, args []string) error { method shrinkDatabase (line 59) | func (c *ShrinkCommand) shrinkDatabase(ctx context.Context) error { method getTableList (line 147) | func (c *ShrinkCommand) getTableList(db *sql.DB) ([]string, error) { method deleteFromTable (line 171) | func (c *ShrinkCommand) deleteFromTable(db *sql.DB, table string) (int... method runCheckpoint (line 248) | func (c *ShrinkCommand) runCheckpoint(db *sql.DB) error { method runVacuum (line 272) | func (c *ShrinkCommand) runVacuum(db *sql.DB) error { method Usage (line 287) | func (c *ShrinkCommand) Usage() { FILE: cmd/litestream-test/validate.go type ValidateCommand (line 19) | type ValidateCommand struct method Run (line 38) | func (c *ValidateCommand) Run(ctx context.Context, args []string) error { method performRestore (line 99) | func (c *ValidateCommand) performRestore(ctx context.Context) Validati... method performQuickCheck (line 154) | func (c *ValidateCommand) performQuickCheck(ctx context.Context) Valid... method performIntegrityCheck (line 194) | func (c *ValidateCommand) performIntegrityCheck(ctx context.Context) V... method performChecksumCheck (line 249) | func (c *ValidateCommand) performChecksumCheck(ctx context.Context) Va... method performDataValidation (line 292) | func (c *ValidateCommand) performDataValidation(ctx context.Context) V... method validateLTXContinuity (line 365) | func (c *ValidateCommand) validateLTXContinuity(ctx context.Context) V... method calculateDBChecksum (line 401) | func (c *ValidateCommand) calculateDBChecksum(path string) ([]byte, er... method getTableList (line 416) | func (c *ValidateCommand) getTableList(db *sql.DB) ([]string, error) { method getRowCount (line 435) | func (c *ValidateCommand) getRowCount(db *sql.DB, table string) (int, ... method reportResults (line 442) | func (c *ValidateCommand) reportResults(results []ValidationResult) er... method Usage (line 462) | func (c *ValidateCommand) Usage() { type ValidationResult (line 30) | type ValidationResult struct FILE: cmd/litestream-vfs/chaos_test.go function TestVFS_ChaosEngineering (line 22) | func TestVFS_ChaosEngineering(t *testing.T) { function newChaosReplicaClient (line 174) | func newChaosReplicaClient(base litestream.ReplicaClient) *chaosReplicaC... type chaosReplicaClient (line 181) | type chaosReplicaClient struct method LTXFiles (line 188) | func (c *chaosReplicaClient) LTXFiles(ctx context.Context, level int, ... method OpenLTXFile (line 199) | func (c *chaosReplicaClient) OpenLTXFile(ctx context.Context, level in... FILE: cmd/litestream-vfs/fuzz_test.go function TestVFS_FuzzSeedCorpus (line 23) | func TestVFS_FuzzSeedCorpus(t *testing.T) { function FuzzVFSReplicaReadPatterns (line 38) | func FuzzVFSReplicaReadPatterns(f *testing.F) { function runVFSFuzzWorkload (line 48) | func runVFSFuzzWorkload(tb testing.TB, corpus []byte) { FILE: cmd/litestream-vfs/hydration_e2e_test.go function TestHydration_E2E_SQLiteCLI (line 27) | func TestHydration_E2E_SQLiteCLI(t *testing.T) { function TestHydration_E2E_SQLiteCLI_TempFile (line 68) | func TestHydration_E2E_SQLiteCLI_TempFile(t *testing.T) { function TestHydration_E2E_SQLiteCLI_Disabled (line 95) | func TestHydration_E2E_SQLiteCLI_Disabled(t *testing.T) { function TestHydration_E2E_SQLiteCLI_MultipleQueries (line 128) | func TestHydration_E2E_SQLiteCLI_MultipleQueries(t *testing.T) { function buildVFSExtension (line 171) | func buildVFSExtension(t *testing.T) string { function findProjectRoot (line 228) | func findProjectRoot(t *testing.T) string { function runSQLiteCLI (line 248) | func runSQLiteCLI(t *testing.T, extPath string, env []string, query stri... function setupTestReplica (line 279) | func setupTestReplica(t *testing.T, client litestream.ReplicaClient) { function setupTestReplicaWithMoreData (line 305) | func setupTestReplicaWithMoreData(t *testing.T, client litestream.Replic... FILE: cmd/litestream-vfs/main.go function main (line 39) | func main() {} function LitestreamVFSRegister (line 42) | func LitestreamVFSRegister() *C.char { function GoLitestreamRegisterConnection (line 115) | func GoLitestreamRegisterConnection(dbPtr unsafe.Pointer, fileID C.sqlit... function GoLitestreamUnregisterConnection (line 123) | func GoLitestreamUnregisterConnection(dbPtr unsafe.Pointer) *C.char { function GoLitestreamSetTime (line 129) | func GoLitestreamSetTime(dbPtr unsafe.Pointer, timestamp *C.char) *C.char { function GoLitestreamResetTime (line 140) | func GoLitestreamResetTime(dbPtr unsafe.Pointer) *C.char { function GoLitestreamTime (line 148) | func GoLitestreamTime(dbPtr unsafe.Pointer, out **C.char) *C.char { function GoLitestreamTxid (line 160) | func GoLitestreamTxid(dbPtr unsafe.Pointer, out **C.char) *C.char { function GoLitestreamLag (line 172) | func GoLitestreamLag(dbPtr unsafe.Pointer, out *C.sqlite3_int64) *C.char { FILE: cmd/litestream-vfs/main_test.go function TestVFS_Simple (line 34) | func TestVFS_Simple(t *testing.T) { function TestVFS_Updating (line 69) | func TestVFS_Updating(t *testing.T) { function TestVFS_ActiveReadTransaction (line 121) | func TestVFS_ActiveReadTransaction(t *testing.T) { function TestVFS_PollsL1Files (line 245) | func TestVFS_PollsL1Files(t *testing.T) { function TestVFS_LongRunningTxnStress (line 399) | func TestVFS_LongRunningTxnStress(t *testing.T) { function TestVFS_HighLoadConcurrentReads (line 487) | func TestVFS_HighLoadConcurrentReads(t *testing.T) { function TestVFS_OverlappingTransactionCommitStorm (line 618) | func TestVFS_OverlappingTransactionCommitStorm(t *testing.T) { function TestVFS_CacheMissStorm (line 750) | func TestVFS_CacheMissStorm(t *testing.T) { function BenchmarkVFS_LargeDatabase (line 791) | func BenchmarkVFS_LargeDatabase(b *testing.B) { function TestVFS_NetworkLatencySensitivity (line 825) | func TestVFS_NetworkLatencySensitivity(t *testing.T) { function TestVFS_ConcurrentConnectionScaling (line 853) | func TestVFS_ConcurrentConnectionScaling(t *testing.T) { function TestVFS_PRAGMAQueryBehavior (line 921) | func TestVFS_PRAGMAQueryBehavior(t *testing.T) { function TestVFS_SortingLargeResultSet (line 987) | func TestVFS_SortingLargeResultSet(t *testing.T) { function TestVFS_ConcurrentIndexAccessRaces (line 1033) | func TestVFS_ConcurrentIndexAccessRaces(t *testing.T) { function TestVFS_MultiplePageSizes (line 1166) | func TestVFS_MultiplePageSizes(t *testing.T) { function TestVFS_WaitsForInitialSnapshot (line 1253) | func TestVFS_WaitsForInitialSnapshot(t *testing.T) { function TestVFS_StorageFailureInjection (line 1309) | func TestVFS_StorageFailureInjection(t *testing.T) { function TestVFS_PartialLTXUpload (line 1396) | func TestVFS_PartialLTXUpload(t *testing.T) { function TestVFS_S3EventualConsistency (line 1450) | func TestVFS_S3EventualConsistency(t *testing.T) { function TestVFS_FileDescriptorBudget (line 1476) | func TestVFS_FileDescriptorBudget(t *testing.T) { function TestVFS_PageIndexOOM (line 1566) | func TestVFS_PageIndexOOM(t *testing.T) { function TestVFS_PageIndexCorruptionRecovery (line 1623) | func TestVFS_PageIndexCorruptionRecovery(t *testing.T) { function TestVFS_RapidUpdateCoalescing (line 1669) | func TestVFS_RapidUpdateCoalescing(t *testing.T) { function TestVFS_NonContiguousTXIDGapFailsOnOpen (line 1718) | func TestVFS_NonContiguousTXIDGapFailsOnOpen(t *testing.T) { function TestVFS_PollingThreadRecoversFromLTXListFailure (line 1740) | func TestVFS_PollingThreadRecoversFromLTXListFailure(t *testing.T) { function TestVFS_PollIntervalEdgeCases (line 1785) | func TestVFS_PollIntervalEdgeCases(t *testing.T) { function TestVFS_PooledWriteNoFalseConflict (line 1826) | func TestVFS_PooledWriteNoFalseConflict(t *testing.T) { function TestVFS_PooledWriteStress (line 1890) | func TestVFS_PooledWriteStress(t *testing.T) { function newVFS (line 1953) | func newVFS(tb testing.TB, client litestream.ReplicaClient) *testVFS { type testVFS (line 1968) | type testVFS struct method Open (line 1975) | func (v *testVFS) Open(name string, flags sqlite3vfs.OpenFlag) (sqlite... method Inject (line 1983) | func (v *testVFS) Inject(path string, err error) { method popFailure (line 1989) | func (v *testVFS) popFailure(path string) error { type injectingFile (line 2008) | type injectingFile struct method ReadAt (line 2015) | func (f *injectingFile) ReadAt(p []byte, off int64) (int, error) { method FileControl (line 2022) | func (f *injectingFile) FileControl(op int, pragmaName string, pragmaV... function registerTestVFS (line 2029) | func registerTestVFS(tb testing.TB, vfs sqlite3vfs.VFS) string { function openReplicatedPrimary (line 2038) | func openReplicatedPrimary(tb testing.TB, client litestream.ReplicaClien... function forceReplicaSync (line 2053) | func forceReplicaSync(tb testing.TB, db *litestream.DB) { function openVFSReplicaDB (line 2067) | func openVFSReplicaDB(tb testing.TB, vfsName string) *sql.DB { function waitForReplicaRowCount (line 2083) | func waitForReplicaRowCount(tb testing.TB, primary, replica *sql.DB, tim... function waitForTableRowCount (line 2098) | func waitForTableRowCount(tb testing.TB, primary, replica *sql.DB, table... function fetchOrderedPayloads (line 2114) | func fetchOrderedPayloads(tb testing.TB, db *sql.DB, limit int, orderBy ... function seedLargeTable (line 2137) | func seedLargeTable(tb testing.TB, db *sql.DB, n int) { function seedSortedDataset (line 2161) | func seedSortedDataset(tb testing.TB, db *sql.DB, n int) { function randomPayload (line 2185) | func randomPayload(r *rand.Rand, n int) string { function pageSizedPayload (line 2194) | func pageSizedPayload(pageSize int, row int) string { function isBusyError (line 2210) | func isBusyError(err error) bool { function writeSinglePageLTXFile (line 2231) | func writeSinglePageLTXFile(tb testing.TB, client *file.ReplicaClient, t... type latencyReplicaClient (line 2263) | type latencyReplicaClient struct method OpenLTXFile (line 2268) | func (c *latencyReplicaClient) OpenLTXFile(ctx context.Context, level ... method LTXFiles (line 2273) | func (c *latencyReplicaClient) LTXFiles(ctx context.Context, level int... type eventualConsistencyClient (line 2278) | type eventualConsistencyClient struct method LTXFiles (line 2283) | func (c *eventualConsistencyClient) LTXFiles(ctx context.Context, leve... type observingReplicaClient (line 2290) | type observingReplicaClient struct method LTXFiles (line 2322) | func (c *observingReplicaClient) LTXFiles(ctx context.Context, level i... type fdLimitedReplicaClient (line 2295) | type fdLimitedReplicaClient struct method OpenLTXFile (line 2302) | func (c *fdLimitedReplicaClient) OpenLTXFile(ctx context.Context, leve... type flakyLTXClient (line 2327) | type flakyLTXClient struct method LTXFiles (line 2333) | func (c *flakyLTXClient) LTXFiles(ctx context.Context, level int, seek... type oomPageIndexClient (line 2341) | type oomPageIndexClient struct method OpenLTXFile (line 2347) | func (c *oomPageIndexClient) OpenLTXFile(ctx context.Context, level in... type corruptingPageIndexClient (line 2355) | type corruptingPageIndexClient struct method OpenLTXFile (line 2361) | func (c *corruptingPageIndexClient) OpenLTXFile(ctx context.Context, l... type hookedReadCloser (line 2381) | type hookedReadCloser struct method Close (line 2387) | func (h *hookedReadCloser) Close() error { function waitForLTXFiles (line 2399) | func waitForLTXFiles(t *testing.T, client litestream.ReplicaClient, time... function waitForReplicaValue (line 2412) | func waitForReplicaValue(t *testing.T, db *sql.DB, query string, expecte... FILE: cmd/litestream-vfs/stress_test.go function TestVFS_RaceStressHarness (line 19) | func TestVFS_RaceStressHarness(t *testing.T) { FILE: cmd/litestream-vfs/time_travel_test.go function TestVFS_TimeTravelFunctions (line 24) | func TestVFS_TimeTravelFunctions(t *testing.T) { function TestVFS_PragmaLitestreamTxid (line 122) | func TestVFS_PragmaLitestreamTxid(t *testing.T) { function TestVFS_PragmaLitestreamLag (line 172) | func TestVFS_PragmaLitestreamLag(t *testing.T) { function TestVFS_PragmaRelativeTime (line 224) | func TestVFS_PragmaRelativeTime(t *testing.T) { function fetchLTXCreatedAt (line 324) | func fetchLTXCreatedAt(tb testing.TB, ctx context.Context, client litest... FILE: cmd/litestream-vfs/vfs_soak_test.go function TestVFS_LongRunningSoak (line 24) | func TestVFS_LongRunningSoak(t *testing.T) { FILE: cmd/litestream-vfs/vfs_write_integration_test.go function TestVFS_WriteAndSync_FileBackend (line 33) | func TestVFS_WriteAndSync_FileBackend(t *testing.T) { function TestVFS_ReadYourWrites (line 96) | func TestVFS_ReadYourWrites(t *testing.T) { function TestVFS_MultipleTransactions (line 132) | func TestVFS_MultipleTransactions(t *testing.T) { function TestVFS_LargeTransaction (line 163) | func TestVFS_LargeTransaction(t *testing.T) { function TestVFS_PeriodicSync (line 212) | func TestVFS_PeriodicSync(t *testing.T) { function TestVFS_SyncDuringTransaction (line 242) | func TestVFS_SyncDuringTransaction(t *testing.T) { function TestVFS_ManualSyncOnly (line 286) | func TestVFS_ManualSyncOnly(t *testing.T) { function TestVFS_WriteBufferDiscardedOnOpen (line 326) | func TestVFS_WriteBufferDiscardedOnOpen(t *testing.T) { function TestVFS_WriteBufferDuplicatePages (line 370) | func TestVFS_WriteBufferDuplicatePages(t *testing.T) { function TestVFS_ExistingBufferDiscarded (line 418) | func TestVFS_ExistingBufferDiscarded(t *testing.T) { function TestVFS_WriteBufferCorrupted (line 446) | func TestVFS_WriteBufferCorrupted(t *testing.T) { function TestVFS_ConflictDetection (line 478) | func TestVFS_ConflictDetection(t *testing.T) { function TestVFS_NoConflictWhenRemoteUnchanged (line 510) | func TestVFS_NoConflictWhenRemoteUnchanged(t *testing.T) { function TestVFS_ConcurrentReaders (line 543) | func TestVFS_ConcurrentReaders(t *testing.T) { function TestVFS_ReadWhileWriting (line 585) | func TestVFS_ReadWhileWriting(t *testing.T) { function TestVFS_Truncate (line 642) | func TestVFS_Truncate(t *testing.T) { function TestVFS_EmptyTransaction (line 682) | func TestVFS_EmptyTransaction(t *testing.T) { function TestVFS_SchemaChanges (line 712) | func TestVFS_SchemaChanges(t *testing.T) { function TestVFS_BlobData (line 758) | func TestVFS_BlobData(t *testing.T) { function TestVFS_WriteAndRestore (line 798) | func TestVFS_WriteAndRestore(t *testing.T) { function TestVFS_WriteReadVFSOnly (line 835) | func TestVFS_WriteReadVFSOnly(t *testing.T) { function TestVFS_MixedWorkload (line 869) | func TestVFS_MixedWorkload(t *testing.T) { function TestVFS_SyncNetworkError (line 911) | func TestVFS_SyncNetworkError(t *testing.T) { function TestVFS_InvalidPageSize (line 937) | func TestVFS_InvalidPageSize(t *testing.T) { function TestVFS_RollbackRestoresOriginalState (line 976) | func TestVFS_RollbackRestoresOriginalState(t *testing.T) { function TestVFS_RollbackAfterUpdate (line 1037) | func TestVFS_RollbackAfterUpdate(t *testing.T) { function TestVFS_RollbackAfterDelete (line 1088) | func TestVFS_RollbackAfterDelete(t *testing.T) { function TestVFS_CommitAfterRollbackWorks (line 1145) | func TestVFS_CommitAfterRollbackWorks(t *testing.T) { function newWritableVFS (line 1211) | func newWritableVFS(tb testing.TB, client litestream.ReplicaClient, sync... function newReadOnlyVFS (line 1231) | func newReadOnlyVFS(tb testing.TB, client litestream.ReplicaClient) *lit... function setupInitialDB (line 1245) | func setupInitialDB(t *testing.T, client litestream.ReplicaClient) { function countLTXFiles (line 1276) | func countLTXFiles(t *testing.T, client litestream.ReplicaClient) int { function addExternalLTXFile (line 1291) | func addExternalLTXFile(t *testing.T, client litestream.ReplicaClient, r... function restoreDB (line 1333) | func restoreDB(t *testing.T, client litestream.ReplicaClient, outputPath... FILE: cmd/litestream/databases.go type DatabasesCommand (line 12) | type DatabasesCommand struct method Run (line 15) | func (c *DatabasesCommand) Run(_ context.Context, args []string) (err ... method Usage (line 54) | func (c *DatabasesCommand) Usage() { FILE: cmd/litestream/directory_watcher.go constant debounceInterval (line 18) | debounceInterval = 250 * time.Millisecond type DirectoryMonitor (line 22) | type DirectoryMonitor struct method Close (line 104) | func (dm *DirectoryMonitor) Close() { method run (line 110) | func (dm *DirectoryMonitor) run() { method addInitialWatches (line 141) | func (dm *DirectoryMonitor) addInitialWatches() error { method addDirectoryWatch (line 157) | func (dm *DirectoryMonitor) addDirectoryWatch(path string) error { method removeDirectoryWatch (line 177) | func (dm *DirectoryMonitor) removeDirectoryWatch(path string) { method handleEvent (line 195) | func (dm *DirectoryMonitor) handleEvent(event fsnotify.Event) bool { method flushPendingEvents (line 258) | func (dm *DirectoryMonitor) flushPendingEvents() { method handlePotentialDatabase (line 271) | func (dm *DirectoryMonitor) handlePotentialDatabase(path string) { method removeDatabase (line 321) | func (dm *DirectoryMonitor) removeDatabase(path string) { method removeDatabasesUnder (line 342) | func (dm *DirectoryMonitor) removeDatabasesUnder(dir string) { method matchesPattern (line 374) | func (dm *DirectoryMonitor) matchesPattern(path string) bool { method shouldSkipPath (line 385) | func (dm *DirectoryMonitor) shouldSkipPath(path string) bool { method scanDirectory (line 394) | func (dm *DirectoryMonitor) scanDirectory(dir string) { function NewDirectoryMonitor (line 47) | func NewDirectoryMonitor(ctx context.Context, store *litestream.Store, d... FILE: cmd/litestream/directory_watcher_stress_test.go function TestDirectoryWatcher_PreCreated (line 21) | func TestDirectoryWatcher_PreCreated(t *testing.T) { function TestDirectoryWatcher_DynamicScaling (line 50) | func TestDirectoryWatcher_DynamicScaling(t *testing.T) { function TestDirectoryWatcher_ConcurrentWrites (line 110) | func TestDirectoryWatcher_ConcurrentWrites(t *testing.T) { function createTestDatabases (line 174) | func createTestDatabases(t *testing.T, dir string, count int) []*sql.DB { function createTestDatabasesBatch (line 178) | func createTestDatabasesBatch(t *testing.T, dir string, startIdx, count ... function closeTestDatabases (line 212) | func closeTestDatabases(dbs []*sql.DB) { function startDirectoryMonitor (line 220) | func startDirectoryMonitor(t *testing.T, dbDir, replicaDir string) (*lit... function stopDirectoryMonitor (line 257) | func stopDirectoryMonitor(store *litestream.Store, monitors []*Directory... function waitForDBCount (line 264) | func waitForDBCount(ctx context.Context, store *litestream.Store, expect... FILE: cmd/litestream/directory_watcher_test.go function TestDirectoryMonitor_shouldSkipPath (line 9) | func TestDirectoryMonitor_shouldSkipPath(t *testing.T) { function TestDirectoryMonitor_matchesPattern (line 47) | func TestDirectoryMonitor_matchesPattern(t *testing.T) { function TestDirectoryMonitor_pendingEvents (line 83) | func TestDirectoryMonitor_pendingEvents(t *testing.T) { FILE: cmd/litestream/info.go type InfoCommand (line 17) | type InfoCommand struct method Run (line 20) | func (c *InfoCommand) Run(_ context.Context, args []string) error { method Usage (line 91) | func (c *InfoCommand) Usage() { FILE: cmd/litestream/info_test.go function testSocketPath (line 17) | func testSocketPath(t *testing.T) string { function TestInfoCommand_Run (line 25) | func TestInfoCommand_Run(t *testing.T) { FILE: cmd/litestream/list.go type ListCommand (line 17) | type ListCommand struct method Run (line 20) | func (c *ListCommand) Run(_ context.Context, args []string) error { method Usage (line 96) | func (c *ListCommand) Usage() { FILE: cmd/litestream/list_test.go function TestListCommand_Run (line 12) | func TestListCommand_Run(t *testing.T) { FILE: cmd/litestream/ltx.go type LTXCommand (line 15) | type LTXCommand struct method Run (line 18) | func (c *LTXCommand) Run(ctx context.Context, args []string) (err erro... method Usage (line 110) | func (c *LTXCommand) Usage() { FILE: cmd/litestream/ltx_test.go function TestTXIDVarParsing (line 11) | func TestTXIDVarParsing(t *testing.T) { function TestTXIDVarString (line 74) | func TestTXIDVarString(t *testing.T) { function TestLevelVarParsing (line 112) | func TestLevelVarParsing(t *testing.T) { function TestLevelVarString (line 185) | func TestLevelVarString(t *testing.T) { FILE: cmd/litestream/main.go type ConfigValidationError (line 62) | type ConfigValidationError struct method Error (line 68) | func (e *ConfigValidationError) Error() string { method Unwrap (line 75) | func (e *ConfigValidationError) Unwrap() error { function main (line 79) | func main() { type Main (line 92) | type Main struct method Run (line 100) | func (m *Main) Run(ctx context.Context, args []string) (err error) { method Usage (line 214) | func (m *Main) Usage() { function NewMain (line 95) | func NewMain() *Main { type Config (line 242) | type Config struct method propagateGlobalSettings (line 323) | func (c *Config) propagateGlobalSettings() { method Validate (line 362) | func (c *Config) Validate() error { method CompactionLevels (line 481) | func (c *Config) CompactionLevels() litestream.CompactionLevels { method DBConfig (line 497) | func (c *Config) DBConfig(configPath string) *DBConfig { type SnapshotConfig (line 300) | type SnapshotConfig struct type RetentionConfig (line 306) | type RetentionConfig struct type ValidationConfig (line 311) | type ValidationConfig struct type LoggingConfig (line 316) | type LoggingConfig struct function DefaultConfig (line 336) | func DefaultConfig() Config { function OpenConfigFile (line 508) | func OpenConfigFile(filename string) (io.ReadCloser, error) { function ReadConfigFile (line 528) | func ReadConfigFile(filename string, expandEnv bool) (Config, error) { function ParseConfig (line 540) | func ParseConfig(r io.Reader, expandEnv bool) (_ Config, err error) { type CompactionLevelConfig (line 615) | type CompactionLevelConfig struct type DBConfig (line 620) | type DBConfig struct function NewDBFromConfig (line 640) | func NewDBFromConfig(dbc *DBConfig) (*litestream.DB, error) { function NewDBsFromDirectoryConfig (line 703) | func NewDBsFromDirectoryConfig(dbc *DBConfig) ([]*litestream.DB, error) { function newDBFromDirectoryEntry (line 752) | func newDBFromDirectoryEntry(dbc *DBConfig, dirPath, dbPath string) (*li... function cloneReplicaConfigWithRelativePath (line 807) | func cloneReplicaConfigWithRelativePath(base *ReplicaConfig, relPath str... function deriveMetaPathForDirectoryEntry (line 852) | func deriveMetaPathForDirectoryEntry(basePath, relPath string) string { function appendRelativePathToURL (line 869) | func appendRelativePathToURL(u *url.URL, relPath string) { function FindSQLiteDatabases (line 889) | func FindSQLiteDatabases(dir string, pattern string, recursive bool) ([]... function IsSQLiteDatabase (line 927) | func IsSQLiteDatabase(path string) bool { type ByteSize (line 946) | type ByteSize method UnmarshalYAML (line 949) | func (b *ByteSize) UnmarshalYAML(unmarshal func(interface{}) error) er... function ParseByteSize (line 966) | func ParseByteSize(s string) (int64, error) { type ReplicaSettings (line 988) | type ReplicaSettings struct method SetDefaults (line 1060) | func (rs *ReplicaSettings) SetDefaults(src *ReplicaSettings) { type ReplicaConfig (line 1200) | type ReplicaConfig struct method ReplicaType (line 1890) | func (c *ReplicaConfig) ReplicaType() string { function NewReplicaFromConfig (line 1210) | func NewReplicaFromConfig(c *ReplicaConfig, db *litestream.DB) (_ *lites... function newFileReplicaClientFromConfig (line 1278) | func newFileReplicaClientFromConfig(c *ReplicaConfig, r *litestream.Repl... function NewS3ReplicaClientFromConfig (line 1310) | func NewS3ReplicaClientFromConfig(c *ReplicaConfig, _ *litestream.Replic... function newGSReplicaClientFromConfig (line 1524) | func newGSReplicaClientFromConfig(c *ReplicaConfig, _ *litestream.Replic... function newABSReplicaClientFromConfig (line 1563) | func newABSReplicaClientFromConfig(c *ReplicaConfig, _ *litestream.Repli... function newSFTPReplicaClientFromConfig (line 1607) | func newSFTPReplicaClientFromConfig(c *ReplicaConfig, _ *litestream.Repl... function newWebDAVReplicaClientFromConfig (line 1664) | func newWebDAVReplicaClientFromConfig(c *ReplicaConfig, _ *litestream.Re... function newNATSReplicaClientFromConfig (line 1718) | func newNATSReplicaClientFromConfig(c *ReplicaConfig, _ *litestream.Repl... function newOSSReplicaClientFromConfig (line 1791) | func newOSSReplicaClientFromConfig(c *ReplicaConfig, _ *litestream.Repli... function applyLitestreamEnv (line 1856) | func applyLitestreamEnv() { type boolSetting (line 1869) | type boolSetting struct method Set (line 1878) | func (s *boolSetting) Set(value bool) { method ApplyDefault (line 1883) | func (s *boolSetting) ApplyDefault(value bool) { function newBoolSetting (line 1874) | func newBoolSetting(defaultValue bool) boolSetting { function DefaultConfigPath (line 1900) | func DefaultConfigPath() string { function registerConfigFlag (line 1907) | func registerConfigFlag(fs *flag.FlagSet) (configPath *string, noExpandE... function isValidHeartbeatURL (line 1913) | func isValidHeartbeatURL(u string) bool { function expand (line 1919) | func expand(s string) (string, error) { function StripSQLitePrefix (line 1947) | func StripSQLitePrefix(s string) string { type txidVar (line 1960) | type txidVar method String (line 1966) | func (v *txidVar) String() string { method Set (line 1971) | func (v *txidVar) Set(s string) error { constant levelAll (line 1981) | levelAll = -1 type levelVar (line 1985) | type levelVar method String (line 1989) | func (v *levelVar) String() string { method Set (line 1996) | func (v *levelVar) Set(s string) error { function initLog (line 2012) | func initLog(w io.Writer, level, typ string) { FILE: cmd/litestream/main_notwindows.go constant defaultConfigPath (line 12) | defaultConfigPath = "/etc/litestream.yml" function isWindowsService (line 14) | func isWindowsService() (bool, error) { function runWindowsService (line 18) | func runWindowsService(ctx context.Context) error { function signalChan (line 22) | func signalChan() <-chan os.Signal { FILE: cmd/litestream/main_test.go function TestOpenConfigFile (line 25) | func TestOpenConfigFile(t *testing.T) { function TestReadConfigFile (line 63) | func TestReadConfigFile(t *testing.T) { function TestNewDBFromConfig_MetaPathExpansion (line 144) | func TestNewDBFromConfig_MetaPathExpansion(t *testing.T) { function TestNewFileReplicaFromConfig (line 184) | func TestNewFileReplicaFromConfig(t *testing.T) { function TestNewS3ReplicaFromConfig (line 195) | func TestNewS3ReplicaFromConfig(t *testing.T) { function TestNewGSReplicaFromConfig (line 308) | func TestNewGSReplicaFromConfig(t *testing.T) { function TestNewSFTPReplicaFromConfig (line 321) | func TestNewSFTPReplicaFromConfig(t *testing.T) { function TestNewReplicaFromConfig_AgeEncryption (line 347) | func TestNewReplicaFromConfig_AgeEncryption(t *testing.T) { function TestConfig_Validate_SnapshotIntervals (line 416) | func TestConfig_Validate_SnapshotIntervals(t *testing.T) { function TestConfig_Validate_ValidationInterval (line 542) | func TestConfig_Validate_ValidationInterval(t *testing.T) { function TestParseReplicaURL_AccessPoint (line 578) | func TestParseReplicaURL_AccessPoint(t *testing.T) { function TestConfig_Validate_L0Retention (line 602) | func TestConfig_Validate_L0Retention(t *testing.T) { function TestConfig_Validate_SyncIntervals (line 664) | func TestConfig_Validate_SyncIntervals(t *testing.T) { function TestConfig_Validate_CompactionLevels (line 813) | func TestConfig_Validate_CompactionLevels(t *testing.T) { function TestConfig_DefaultValues (line 924) | func TestConfig_DefaultValues(t *testing.T) { function TestParseByteSize (line 947) | func TestParseByteSize(t *testing.T) { function TestParseByteSizeOverflow (line 1023) | func TestParseByteSizeOverflow(t *testing.T) { function TestS3ReplicaConfig_PartSizeAndConcurrency (line 1038) | func TestS3ReplicaConfig_PartSizeAndConcurrency(t *testing.T) { function TestDBConfig_CheckpointFields (line 1307) | func TestDBConfig_CheckpointFields(t *testing.T) { function TestFindSQLiteDatabases (line 1482) | func TestFindSQLiteDatabases(t *testing.T) { function TestParseReplicaURLWithQuery (line 1579) | func TestParseReplicaURLWithQuery(t *testing.T) { function TestIsSQLiteDatabase (line 1699) | func TestIsSQLiteDatabase(t *testing.T) { function TestDBConfigValidation (line 1747) | func TestDBConfigValidation(t *testing.T) { function TestNewDBsFromDirectoryConfig_UniquePaths (line 1825) | func TestNewDBsFromDirectoryConfig_UniquePaths(t *testing.T) { function TestNewDBsFromDirectoryConfig_MetaPathPerDatabase (line 1879) | func TestNewDBsFromDirectoryConfig_MetaPathPerDatabase(t *testing.T) { function TestNewDBsFromDirectoryConfig_SubdirectoryPaths (line 1946) | func TestNewDBsFromDirectoryConfig_SubdirectoryPaths(t *testing.T) { function TestNewDBsFromDirectoryConfig_DuplicateFilenames (line 1996) | func TestNewDBsFromDirectoryConfig_DuplicateFilenames(t *testing.T) { function TestNewDBsFromDirectoryConfig_S3URL (line 2051) | func TestNewDBsFromDirectoryConfig_S3URL(t *testing.T) { function TestNewDBsFromDirectoryConfig_ReplicasArrayURL (line 2096) | func TestNewDBsFromDirectoryConfig_ReplicasArrayURL(t *testing.T) { function TestNewDBsFromDirectoryConfig_SpecialCharacters (line 2143) | func TestNewDBsFromDirectoryConfig_SpecialCharacters(t *testing.T) { function TestNewDBsFromDirectoryConfig_EmptyBasePath (line 2188) | func TestNewDBsFromDirectoryConfig_EmptyBasePath(t *testing.T) { function TestNewDBsFromDirectoryConfig_ReplicasArray (line 2221) | func TestNewDBsFromDirectoryConfig_ReplicasArray(t *testing.T) { function TestNewDBsFromDirectoryConfig_EmptyDirectoryRequiresDatabases (line 2261) | func TestNewDBsFromDirectoryConfig_EmptyDirectoryRequiresDatabases(t *te... function TestNewDBsFromDirectoryConfig_EmptyDirectoryWithWatch (line 2276) | func TestNewDBsFromDirectoryConfig_EmptyDirectoryWithWatch(t *testing.T) { function TestDirectoryMonitor_DetectsDatabaseLifecycle (line 2296) | func TestDirectoryMonitor_DetectsDatabaseLifecycle(t *testing.T) { function TestDirectoryMonitor_RecursiveDetectsNestedDatabases (line 2351) | func TestDirectoryMonitor_RecursiveDetectsNestedDatabases(t *testing.T) { function createSQLiteDB (line 2395) | func createSQLiteDB(t *testing.T, path string) { function TestNewS3ReplicaClientFromConfig (line 2415) | func TestNewS3ReplicaClientFromConfig(t *testing.T) { function TestGlobalDefaults (line 2702) | func TestGlobalDefaults(t *testing.T) { function TestStripSQLitePrefix (line 2945) | func TestStripSQLitePrefix(t *testing.T) { function TestReadConfigFile_SQLiteConnectionString (line 2974) | func TestReadConfigFile_SQLiteConnectionString(t *testing.T) { function TestX509FallbackRoots (line 3032) | func TestX509FallbackRoots(t *testing.T) { function hasDBPath (line 3062) | func hasDBPath(dbs []*litestream.DB, path string) bool { function waitForCondition (line 3071) | func waitForCondition(timeout time.Duration, fn func() bool) bool { FILE: cmd/litestream/main_windows.go constant defaultConfigPath (line 17) | defaultConfigPath = `C:\Litestream\litestream.yml` constant serviceName (line 20) | serviceName = "Litestream" function isWindowsService (line 23) | func isWindowsService() (bool, error) { function runWindowsService (line 27) | func runWindowsService(ctx context.Context) error { type windowsService (line 53) | type windowsService struct method Execute (line 57) | func (s *windowsService) Execute(args []string, r <-chan svc.ChangeReq... type eventlogWriter (line 101) | type eventlogWriter method Write (line 103) | func (w *eventlogWriter) Write(p []byte) (n int, err error) { function signalChan (line 108) | func signalChan() <-chan os.Signal { FILE: cmd/litestream/mcp.go type MCPServer (line 18) | type MCPServer struct method Start (line 52) | func (s *MCPServer) Start(addr string) { method ServeHTTP (line 66) | func (s *MCPServer) ServeHTTP(w http.ResponseWriter, r *http.Request) { method Close (line 71) | func (s *MCPServer) Close() error { function NewMCP (line 25) | func NewMCP(ctx context.Context, configPath string) (*MCPServer, error) { function isReplicaURL (line 79) | func isReplicaURL(path string) bool { function DatabasesTool (line 83) | func DatabasesTool(configPath string) (mcp.Tool, server.ToolHandlerFunc) { function InfoTool (line 105) | func InfoTool(configPath string) (mcp.Tool, server.ToolHandlerFunc) { function RestoreTool (line 183) | func RestoreTool(configPath string) (mcp.Tool, server.ToolHandlerFunc) { function VersionTool (line 244) | func VersionTool() (mcp.Tool, server.ToolHandlerFunc) { function LTXTool (line 259) | func LTXTool(configPath string) (mcp.Tool, server.ToolHandlerFunc) { function StatusTool (line 296) | func StatusTool(configPath string) (mcp.Tool, server.ToolHandlerFunc) { function ResetTool (line 322) | func ResetTool(configPath string) (mcp.Tool, server.ToolHandlerFunc) { FILE: cmd/litestream/register.go type RegisterCommand (line 17) | type RegisterCommand struct method Run (line 19) | func (c *RegisterCommand) Run(ctx context.Context, args []string) error { method Usage (line 98) | func (c *RegisterCommand) Usage() { FILE: cmd/litestream/register_test.go function TestRegisterCommand_Run (line 13) | func TestRegisterCommand_Run(t *testing.T) { FILE: cmd/litestream/replicate.go type ReplicateCommand (line 30) | type ReplicateCommand struct method ParseFlags (line 65) | func (c *ReplicateCommand) ParseFlags(_ context.Context, args []string... method Run (line 177) | func (c *ReplicateCommand) Run(ctx context.Context) (err error) { method runOnce (line 393) | func (c *ReplicateCommand) runOnce(ctx context.Context) { method Close (line 435) | func (c *ReplicateCommand) Close(ctx context.Context) error { method SetDone (line 465) | func (c *ReplicateCommand) SetDone(done <-chan struct{}) { method restoreIfNeeded (line 472) | func (c *ReplicateCommand) restoreIfNeeded(ctx context.Context, dbConf... method Usage (line 518) | func (c *ReplicateCommand) Usage() { function NewReplicateCommand (line 58) | func NewReplicateCommand() *ReplicateCommand { FILE: cmd/litestream/replicate_test.go function TestReplicateCommand_ParseFlags_OnceFlags (line 12) | func TestReplicateCommand_ParseFlags_OnceFlags(t *testing.T) { function TestReplicateCommand_ParseFlags_FlagPositioning (line 89) | func TestReplicateCommand_ParseFlags_FlagPositioning(t *testing.T) { function TestReplicateCommand_ParseFlags_LogLevel (line 177) | func TestReplicateCommand_ParseFlags_LogLevel(t *testing.T) { FILE: cmd/litestream/reset.go type ResetCommand (line 14) | type ResetCommand struct method Run (line 17) | func (c *ResetCommand) Run(ctx context.Context, args []string) (err er... method Usage (line 101) | func (c *ResetCommand) Usage() { FILE: cmd/litestream/restore.go type RestoreCommand (line 17) | type RestoreCommand struct method Run (line 20) | func (c *RestoreCommand) Run(ctx context.Context, args []string) (err ... method loadFromURL (line 116) | func (c *RestoreCommand) loadFromURL(ctx context.Context, replicaURL s... method loadFromConfig (line 141) | func (c *RestoreCommand) loadFromConfig(_ context.Context, dbPath, con... method Usage (line 175) | func (c *RestoreCommand) Usage() { FILE: cmd/litestream/restore_test.go function TestRestoreCommand_FollowIntervalFlag (line 11) | func TestRestoreCommand_FollowIntervalFlag(t *testing.T) { FILE: cmd/litestream/start.go type StartCommand (line 18) | type StartCommand struct method Run (line 21) | func (c *StartCommand) Run(ctx context.Context, args []string) error { method Usage (line 93) | func (c *StartCommand) Usage() { FILE: cmd/litestream/status.go type StatusCommand (line 16) | type StatusCommand struct method Run (line 19) | func (c *StatusCommand) Run(ctx context.Context, args []string) (err e... method getDBStatus (line 79) | func (c *StatusCommand) getDBStatus(db *litestream.DB) DBStatus { method Usage (line 116) | func (c *StatusCommand) Usage() { type DBStatus (line 72) | type DBStatus struct FILE: cmd/litestream/status_test.go function TestStatusCommand_Run (line 12) | func TestStatusCommand_Run(t *testing.T) { FILE: cmd/litestream/stop.go type StopCommand (line 18) | type StopCommand struct method Run (line 21) | func (c *StopCommand) Run(ctx context.Context, args []string) error { method Usage (line 93) | func (c *StopCommand) Usage() { FILE: cmd/litestream/sync.go type SyncCommand (line 18) | type SyncCommand struct method Run (line 21) | func (c *SyncCommand) Run(ctx context.Context, args []string) error { method Usage (line 97) | func (c *SyncCommand) Usage() { FILE: cmd/litestream/sync_test.go function TestSyncCommand_Run (line 12) | func TestSyncCommand_Run(t *testing.T) { FILE: cmd/litestream/unregister.go type UnregisterCommand (line 17) | type UnregisterCommand struct method Run (line 19) | func (c *UnregisterCommand) Run(ctx context.Context, args []string) er... method Usage (line 93) | func (c *UnregisterCommand) Usage() { FILE: cmd/litestream/unregister_test.go function TestUnregisterCommand_Run (line 12) | func TestUnregisterCommand_Run(t *testing.T) { FILE: cmd/litestream/version.go type VersionCommand (line 10) | type VersionCommand struct method Run (line 13) | func (c *VersionCommand) Run(_ context.Context, args []string) (err er... method Usage (line 26) | func (c *VersionCommand) Usage() { FILE: compaction_level.go constant SnapshotLevel (line 9) | SnapshotLevel = 9 type CompactionLevel (line 23) | type CompactionLevel struct method PrevCompactionAt (line 33) | func (lvl *CompactionLevel) PrevCompactionAt(now time.Time) time.Time { method NextCompactionAt (line 39) | func (lvl *CompactionLevel) NextCompactionAt(now time.Time) time.Time { type CompactionLevels (line 44) | type CompactionLevels method Level (line 48) | func (a CompactionLevels) Level(level int) (*CompactionLevel, error) { method MaxLevel (line 59) | func (a CompactionLevels) MaxLevel() int { method Validate (line 64) | func (a CompactionLevels) Validate() error { method IsValidLevel (line 88) | func (a CompactionLevels) IsValidLevel(level int) bool { method PrevLevel (line 97) | func (a CompactionLevels) PrevLevel(level int) int { method NextLevel (line 106) | func (a CompactionLevels) NextLevel(level int) int { FILE: compactor.go type Compactor (line 18) | type Compactor struct method setLogger (line 66) | func (c *Compactor) setLogger(logger *slog.Logger) { method MaxLTXFileInfo (line 72) | func (c *Compactor) MaxLTXFileInfo(ctx context.Context, level int) (lt... method Compact (line 102) | func (c *Compactor) Compact(ctx context.Context, dstLevel int) (*ltx.F... method VerifyLevelConsistency (line 194) | func (c *Compactor) VerifyLevelConsistency(ctx context.Context, level ... method EnforceSnapshotRetention (line 235) | func (c *Compactor) EnforceSnapshotRetention(ctx context.Context, rete... method EnforceRetentionByTXID (line 290) | func (c *Compactor) EnforceRetentionByTXID(ctx context.Context, level ... method EnforceL0Retention (line 339) | func (c *Compactor) EnforceL0Retention(ctx context.Context, retention ... function NewCompactor (line 55) | func NewCompactor(client ReplicaClient, logger *slog.Logger) *Compactor { FILE: compactor_test.go function TestCompactor_Compact (line 17) | func TestCompactor_Compact(t *testing.T) { function TestCompactor_MaxLTXFileInfo (line 88) | func TestCompactor_MaxLTXFileInfo(t *testing.T) { function TestCompactor_EnforceRetentionByTXID (line 155) | func TestCompactor_EnforceRetentionByTXID(t *testing.T) { function TestCompactor_EnforceL0Retention (line 220) | func TestCompactor_EnforceL0Retention(t *testing.T) { function TestCompactor_EnforceSnapshotRetention (line 290) | func TestCompactor_EnforceSnapshotRetention(t *testing.T) { function TestCompactor_EnforceSnapshotRetention_RetentionDisabled (line 324) | func TestCompactor_EnforceSnapshotRetention_RetentionDisabled(t *testing... function TestCompactor_EnforceRetentionByTXID_RetentionDisabled (line 365) | func TestCompactor_EnforceRetentionByTXID_RetentionDisabled(t *testing.T) { function TestCompactor_EnforceL0Retention_RetentionDisabled (line 406) | func TestCompactor_EnforceL0Retention_RetentionDisabled(t *testing.T) { function TestCompactor_VerifyLevelConsistency (line 456) | func TestCompactor_VerifyLevelConsistency(t *testing.T) { function TestCompactor_CompactWithVerification (line 532) | func TestCompactor_CompactWithVerification(t *testing.T) { function containsString (line 558) | func containsString(s, substr string) bool { function createTestLTXFile (line 563) | func createTestLTXFile(t testing.TB, client litestream.ReplicaClient, le... function createTestLTXFileWithTimestamp (line 569) | func createTestLTXFileWithTimestamp(t testing.TB, client litestream.Repl... FILE: db.go constant DefaultMonitorInterval (line 31) | DefaultMonitorInterval = 1 * time.Second constant DefaultCheckpointInterval (line 32) | DefaultCheckpointInterval = 1 * time.Minute constant DefaultBusyTimeout (line 33) | DefaultBusyTimeout = 1 * time.Second constant DefaultMinCheckpointPageN (line 34) | DefaultMinCheckpointPageN = 1000 constant DefaultTruncatePageN (line 35) | DefaultTruncatePageN = 121359 constant DefaultShutdownSyncTimeout (line 36) | DefaultShutdownSyncTimeout = 30 * time.Second constant DefaultShutdownSyncInterval (line 37) | DefaultShutdownSyncInterval = 500 * time.Millisecond constant DefaultSyncBackoffMax (line 41) | DefaultSyncBackoffMax = 5 * time.Minute constant SyncErrorLogInterval (line 42) | SyncErrorLogInterval = 30 * time.Second type DB (line 64) | type DB struct method SetLogger (line 256) | func (db *DB) SetLogger(logger *slog.Logger) { method SQLDB (line 270) | func (db *DB) SQLDB() *sql.DB { method Path (line 275) | func (db *DB) Path() string { method IsOpen (line 280) | func (db *DB) IsOpen() bool { method WALPath (line 287) | func (db *DB) WALPath() string { method MetaPath (line 292) | func (db *DB) MetaPath() string { method SetMetaPath (line 297) | func (db *DB) SetMetaPath(path string) { method LTXDir (line 302) | func (db *DB) LTXDir() string { method ResetLocalState (line 309) | func (db *DB) ResetLocalState(ctx context.Context) error { method LTXLevelDir (line 332) | func (db *DB) LTXLevelDir(level int) string { method LTXPath (line 338) | func (db *DB) LTXPath(level int, minTXID, maxTXID ltx.TXID) string { method openLocalLTXFile (line 345) | func (db *DB) openLocalLTXFile(level int, minTXID, maxTXID ltx.TXID) (... method deleteLocalLTXFile (line 351) | func (db *DB) deleteLocalLTXFile(level int, minTXID, maxTXID ltx.TXID)... method MaxLTX (line 363) | func (db *DB) MaxLTX() (minTXID, maxTXID ltx.TXID, err error) { method FileInfo (line 383) | func (db *DB) FileInfo() os.FileInfo { method DirInfo (line 388) | func (db *DB) DirInfo() os.FileInfo { method Pos (line 394) | func (db *DB) Pos() (ltx.Pos, error) { method invalidatePosCache (line 429) | func (db *DB) invalidatePosCache() { method Notify (line 436) | func (db *DB) Notify() <-chan struct{} { method PageSize (line 444) | func (db *DB) PageSize() int { method RecordSuccessfulSync (line 452) | func (db *DB) RecordSuccessfulSync() { method LastSuccessfulSyncAt (line 459) | func (db *DB) LastSuccessfulSyncAt() time.Time { method SyncStatus (line 475) | func (db *DB) SyncStatus(ctx context.Context) (SyncStatus, error) { method SyncAndWait (line 499) | func (db *DB) SyncAndWait(ctx context.Context) error { method EnsureExists (line 516) | func (db *DB) EnsureExists(ctx context.Context) error { method Open (line 553) | func (db *DB) Open() (err error) { method Close (line 601) | func (db *DB) Close(ctx context.Context) (err error) { method syncReplicaWithRetry (line 655) | func (db *DB) syncReplicaWithRetry(ctx context.Context) error { method setPersistWAL (line 772) | func (db *DB) setPersistWAL(ctx context.Context) error { method init (line 796) | func (db *DB) init(ctx context.Context) (err error) { method acquireReadLock (line 955) | func (db *DB) acquireReadLock(ctx context.Context) error { method releaseReadLock (line 978) | func (db *DB) releaseReadLock() error { method Sync (line 994) | func (db *DB) Sync(ctx context.Context) (err error) { method verifyAndSync (line 1057) | func (db *DB) verifyAndSync(ctx context.Context, checkpointing bool) (... method checkpointIfNeeded (line 1100) | func (db *DB) checkpointIfNeeded(ctx context.Context, origWALSize, new... method walFileSize (line 1182) | func (db *DB) walFileSize() (int64, error) { method ensureWALExists (line 1199) | func (db *DB) ensureWALExists(ctx context.Context) (err error) { method checkDatabaseBehindReplica (line 1216) | func (db *DB) checkDatabaseBehindReplica(ctx context.Context) error { method verify (line 1297) | func (db *DB) verify(ctx context.Context) (info syncInfo, err error) { method lastPageMatch (line 1441) | func (db *DB) lastPageMatch(ctx context.Context, dec *ltx.Decoder, pre... method detectFullCheckpoint (line 1481) | func (db *DB) detectFullCheckpoint(ctx context.Context, knownSalts [][... method sync (line 1521) | func (db *DB) sync(ctx context.Context, checkpointing bool, info syncI... method writeLTXFromDB (line 1727) | func (db *DB) writeLTXFromDB(ctx context.Context, enc *ltx.Encoder, wa... method writeLTXFromWAL (line 1774) | func (db *DB) writeLTXFromWAL(ctx context.Context, enc *ltx.Encoder, w... method Checkpoint (line 1804) | func (db *DB) Checkpoint(ctx context.Context, mode string) (err error) { method checkpoint (line 1812) | func (db *DB) checkpoint(ctx context.Context, mode string) error { method execCheckpoint (line 1877) | func (db *DB) execCheckpoint(ctx context.Context, mode string) (err er... method SnapshotReader (line 1924) | func (db *DB) SnapshotReader(ctx context.Context) (ltx.Pos, io.Reader,... method Compact (line 2028) | func (db *DB) Compact(ctx context.Context, dstLevel int) (*ltx.FileInf... method Snapshot (line 2048) | func (db *DB) Snapshot(ctx context.Context) (*ltx.FileInfo, error) { method EnforceSnapshotRetention (line 2066) | func (db *DB) EnforceSnapshotRetention(ctx context.Context, timestamp ... method EnforceL0RetentionByTime (line 2122) | func (db *DB) EnforceL0RetentionByTime(ctx context.Context) error { method EnforceRetentionByTXID (line 2248) | func (db *DB) EnforceRetentionByTXID(ctx context.Context, level int, t... method monitor (line 2256) | func (db *DB) monitor() { method CRC64 (line 2331) | func (db *DB) CRC64(ctx context.Context) (uint64, ltx.Pos, error) { method MaxLTXFileInfo (line 2365) | func (db *DB) MaxLTXFileInfo(ctx context.Context, level int) (ltx.File... function NewDB (line 201) | func NewDB(path string) *DB { type SyncStatus (line 466) | type SyncStatus struct function isSQLiteBusyError (line 1158) | func isSQLiteBusyError(err error) bool { function isDiskFullError (line 1170) | func isDiskFullError(err error) bool { function calcWALSize (line 1194) | func calcWALSize(pageSize uint32, pageN uint32) int64 { type syncInfo (line 1511) | type syncInfo struct constant DefaultRestoreParallelism (line 2384) | DefaultRestoreParallelism = 8 constant DefaultFollowInterval (line 2387) | DefaultFollowInterval = 1 * time.Second type IntegrityCheckMode (line 2390) | type IntegrityCheckMode constant IntegrityCheckNone (line 2393) | IntegrityCheckNone IntegrityCheckMode = iota constant IntegrityCheckQuick (line 2394) | IntegrityCheckQuick constant IntegrityCheckFull (line 2395) | IntegrityCheckFull type RestoreOptions (line 2399) | type RestoreOptions struct function NewRestoreOptions (line 2428) | func NewRestoreOptions() RestoreOptions { FILE: db_internal_test.go type testReplicaClient (line 25) | type testReplicaClient struct method Init (line 29) | func (c *testReplicaClient) Init(_ context.Context) error { return nil } method SetLogger (line 31) | func (c *testReplicaClient) SetLogger(_ *slog.Logger) {} method Type (line 33) | func (c *testReplicaClient) Type() string { return "test" } method LTXFiles (line 35) | func (c *testReplicaClient) LTXFiles(_ context.Context, level int, aft... method OpenLTXFile (line 70) | func (c *testReplicaClient) OpenLTXFile(_ context.Context, level int, ... method WriteLTXFile (line 77) | func (c *testReplicaClient) WriteLTXFile(_ context.Context, level int,... method DeleteLTXFiles (line 97) | func (c *testReplicaClient) DeleteLTXFiles(_ context.Context, infos []... method DeleteAll (line 102) | func (c *testReplicaClient) DeleteAll(_ context.Context) error { function TestCalcWALSize (line 109) | func TestCalcWALSize(t *testing.T) { function TestDB_Sync_UpdatesMetrics (line 177) | func TestDB_Sync_UpdatesMetrics(t *testing.T) { function TestDB_Checkpoint_UpdatesMetrics (line 273) | func TestDB_Checkpoint_UpdatesMetrics(t *testing.T) { function TestDB_ReplicaSync_OperationMetrics (line 339) | func TestDB_ReplicaSync_OperationMetrics(t *testing.T) { function TestDB_Sync_ErrorMetrics (line 400) | func TestDB_Sync_ErrorMetrics(t *testing.T) { function TestDB_Checkpoint_ErrorMetrics (line 454) | func TestDB_Checkpoint_ErrorMetrics(t *testing.T) { function TestDB_L0RetentionMetrics (line 500) | func TestDB_L0RetentionMetrics(t *testing.T) { function TestDB_Verify_WALOffsetAtHeader (line 563) | func TestDB_Verify_WALOffsetAtHeader(t *testing.T) { function TestDB_Verify_WALOffsetAtHeader_SaltMismatch (line 685) | func TestDB_Verify_WALOffsetAtHeader_SaltMismatch(t *testing.T) { function TestDB_releaseReadLock_DoubleRollback (line 810) | func TestDB_releaseReadLock_DoubleRollback(t *testing.T) { function TestDB_CheckpointDoesNotTriggerSnapshot (line 875) | func TestDB_CheckpointDoesNotTriggerSnapshot(t *testing.T) { function testCheckpointSnapshot (line 884) | func testCheckpointSnapshot(t *testing.T, mode string) { function TestDB_MultipleCheckpointsWithWrites (line 987) | func TestDB_MultipleCheckpointsWithWrites(t *testing.T) { function TestIsDiskFullError (line 1062) | func TestIsDiskFullError(t *testing.T) { function TestIsSQLiteBusyError (line 1126) | func TestIsSQLiteBusyError(t *testing.T) { function TestDB_IdleCheckpointSnapshotLoop (line 1176) | func TestDB_IdleCheckpointSnapshotLoop(t *testing.T) { function TestDB_Issue994_RunawayDiskUsage (line 1260) | func TestDB_Issue994_RunawayDiskUsage(t *testing.T) { function dirSize (line 1350) | func dirSize(t *testing.T, path string) int64 { function dirFileCount (line 1368) | func dirFileCount(t *testing.T, path string) int { function TestDB_WALPageCoverage_AllNewPagesPresent (line 1394) | func TestDB_WALPageCoverage_AllNewPagesPresent(t *testing.T) { function TestDB_WriteLTXFromWAL_PageGrowthCoverage (line 1462) | func TestDB_WriteLTXFromWAL_PageGrowthCoverage(t *testing.T) { function TestDB_Sync_CompactionValidAfterGrowthAndCheckpoint (line 1584) | func TestDB_Sync_CompactionValidAfterGrowthAndCheckpoint(t *testing.T) { function TestDB_Sync_InitErrorMetrics (line 1691) | func TestDB_Sync_InitErrorMetrics(t *testing.T) { FILE: db_shutdown_test.go function TestDB_Close_SyncRetry (line 19) | func TestDB_Close_SyncRetry(t *testing.T) { FILE: db_test.go function TestDB_Path (line 22) | func TestDB_Path(t *testing.T) { function TestDB_WALPath (line 29) | func TestDB_WALPath(t *testing.T) { function TestDB_MetaPath (line 36) | func TestDB_MetaPath(t *testing.T) { function TestDB_CRC64 (line 52) | func TestDB_CRC64(t *testing.T) { function TestDB_Sync (line 106) | func TestDB_Sync(t *testing.T) { function TestDB_Compact (line 385) | func TestDB_Compact(t *testing.T) { function walPageCountForTest (line 488) | func walPageCountForTest(tb testing.TB, db *litestream.DB) int64 { function TestDB_Snapshot (line 508) | func TestDB_Snapshot(t *testing.T) { function TestDB_EnforceRetention (line 553) | func TestDB_EnforceRetention(t *testing.T) { function TestDB_EnforceSnapshotRetention_RetentionDisabled (line 625) | func TestDB_EnforceSnapshotRetention_RetentionDisabled(t *testing.T) { function TestDB_EnforceL0RetentionByTime_RetentionDisabled (line 685) | func TestDB_EnforceL0RetentionByTime_RetentionDisabled(t *testing.T) { function TestDB_ConcurrentMapWrite (line 757) | func TestDB_ConcurrentMapWrite(t *testing.T) { function TestCompaction_PreservesLastTimestamp (line 833) | func TestCompaction_PreservesLastTimestamp(t *testing.T) { function TestDB_EnforceRetentionByTXID_LocalCleanup (line 947) | func TestDB_EnforceRetentionByTXID_LocalCleanup(t *testing.T) { function TestDB_EnforceL0RetentionByTime (line 1042) | func TestDB_EnforceL0RetentionByTime(t *testing.T) { function TestDB_SyncAfterVacuum (line 1152) | func TestDB_SyncAfterVacuum(t *testing.T) { function TestDB_NoLTXFilesOnIdleSync (line 1219) | func TestDB_NoLTXFilesOnIdleSync(t *testing.T) { function TestDB_DelayedCheckpointAfterWrite (line 1287) | func TestDB_DelayedCheckpointAfterWrite(t *testing.T) { function TestDB_SyncStatus (line 1353) | func TestDB_SyncStatus(t *testing.T) { function TestDB_SyncAndWait (line 1485) | func TestDB_SyncAndWait(t *testing.T) { function TestDB_EnsureExists (line 1519) | func TestDB_EnsureExists(t *testing.T) { function TestDB_ResetLocalState (line 1660) | func TestDB_ResetLocalState(t *testing.T) { FILE: file/replica_client.go function init (line 21) | func init() { constant ReplicaClientType (line 26) | ReplicaClientType = "file" type ReplicaClient (line 32) | type ReplicaClient struct method SetLogger (line 47) | func (c *ReplicaClient) SetLogger(logger *slog.Logger) { method db (line 62) | func (c *ReplicaClient) db() *litestream.DB { method Type (line 70) | func (c *ReplicaClient) Type() string { method Init (line 75) | func (c *ReplicaClient) Init(ctx context.Context) error { method Path (line 80) | func (c *ReplicaClient) Path() string { method LTXLevelDir (line 85) | func (c *ReplicaClient) LTXLevelDir(level int) string { method LTXFilePath (line 90) | func (c *ReplicaClient) LTXFilePath(level int, minTXID, maxTXID ltx.TX... method LTXFiles (line 96) | func (c *ReplicaClient) LTXFiles(ctx context.Context, level int, seek ... method OpenLTXFile (line 135) | func (c *ReplicaClient) OpenLTXFile(ctx context.Context, level int, mi... method WriteLTXFile (line 160) | func (c *ReplicaClient) WriteLTXFile(ctx context.Context, level int, m... method DeleteLTXFiles (line 240) | func (c *ReplicaClient) DeleteLTXFiles(ctx context.Context, a []*ltx.F... method DeleteAll (line 254) | func (c *ReplicaClient) DeleteAll(ctx context.Context) error { method GenerationsV3 (line 262) | func (c *ReplicaClient) GenerationsV3(ctx context.Context) ([]string, ... method SnapshotsV3 (line 282) | func (c *ReplicaClient) SnapshotsV3(ctx context.Context, generation st... method WALSegmentsV3 (line 318) | func (c *ReplicaClient) WALSegmentsV3(ctx context.Context, generation ... method OpenSnapshotV3 (line 359) | func (c *ReplicaClient) OpenSnapshotV3(ctx context.Context, generation... method OpenWALSegmentV3 (line 370) | func (c *ReplicaClient) OpenWALSegmentV3(ctx context.Context, generati... function NewReplicaClient (line 40) | func NewReplicaClient(path string) *ReplicaClient { function NewReplicaClientFromURL (line 53) | func NewReplicaClientFromURL(scheme, host, urlPath string, query url.Val... FILE: file/replica_client_test.go function TestReplicaClient_Path (line 20) | func TestReplicaClient_Path(t *testing.T) { function TestReplicaClient_Type (line 27) | func TestReplicaClient_Type(t *testing.T) { function TestReplicaClient_WriteLTXFile_ErrorCleanup (line 34) | func TestReplicaClient_WriteLTXFile_ErrorCleanup(t *testing.T) { type failAfterReader (line 114) | type failAfterReader struct method Read (line 121) | func (r *failAfterReader) Read(p []byte) (n int, err error) { function findTmpFiles (line 142) | func findTmpFiles(t *testing.T, root string) []string { function createLTXData (line 161) | func createLTXData(minTXID, maxTXID ltx.TXID, data []byte) []byte { function createLTXHeader (line 180) | func createLTXHeader(minTXID, maxTXID ltx.TXID) []byte { function TestReplicaClient_GenerationsV3 (line 184) | func TestReplicaClient_GenerationsV3(t *testing.T) { function TestReplicaClient_SnapshotsV3 (line 298) | func TestReplicaClient_SnapshotsV3(t *testing.T) { function TestReplicaClient_WALSegmentsV3 (line 422) | func TestReplicaClient_WALSegmentsV3(t *testing.T) { function TestReplicaClient_OpenSnapshotV3 (line 568) | func TestReplicaClient_OpenSnapshotV3(t *testing.T) { function TestReplicaClient_OpenWALSegmentV3 (line 622) | func TestReplicaClient_OpenWALSegmentV3(t *testing.T) { FILE: gs/replica_client.go function init (line 24) | func init() { constant ReplicaClientType (line 29) | ReplicaClientType = "gs" constant MetadataKeyTimestamp (line 32) | MetadataKeyTimestamp = "litestream-timestamp" type ReplicaClient (line 37) | type ReplicaClient struct method SetLogger (line 55) | func (c *ReplicaClient) SetLogger(logger *slog.Logger) { method Type (line 73) | func (c *ReplicaClient) Type() string { method Init (line 78) | func (c *ReplicaClient) Init(ctx context.Context) (err error) { method DeleteAll (line 95) | func (c *ReplicaClient) DeleteAll(ctx context.Context) error { method LTXFiles (line 126) | func (c *ReplicaClient) LTXFiles(ctx context.Context, level int, seek ... method WriteLTXFile (line 141) | func (c *ReplicaClient) WriteLTXFile(ctx context.Context, level int, m... method OpenLTXFile (line 191) | func (c *ReplicaClient) OpenLTXFile(ctx context.Context, level int, mi... method DeleteLTXFiles (line 220) | func (c *ReplicaClient) DeleteLTXFiles(ctx context.Context, a []*ltx.F... function NewReplicaClient (line 49) | func NewReplicaClient() *ReplicaClient { function NewReplicaClientFromURL (line 61) | func NewReplicaClientFromURL(scheme, host, urlPath string, query url.Val... type ltxFileIterator (line 239) | type ltxFileIterator struct method Close (line 255) | func (itr *ltxFileIterator) Close() (err error) { method Next (line 259) | func (itr *ltxFileIterator) Next() bool { method Err (line 305) | func (itr *ltxFileIterator) Err() error { return itr.err } method Item (line 307) | func (itr *ltxFileIterator) Item() *ltx.FileInfo { function newLTXFileIterator (line 247) | func newLTXFileIterator(it *storage.ObjectIterator, client *ReplicaClien... function isNotExists (line 311) | func isNotExists(err error) bool { FILE: gs/replica_client_test.go function ltxTestData (line 14) | func ltxTestData(tb testing.TB, minTXID, maxTXID ltx.TXID, payload []byt... function setupTestClient (line 34) | func setupTestClient(tb testing.TB) (*ReplicaClient, *fakestorage.Server) { function TestReplicaClient_OpenLTXFileReadsFullObject (line 56) | func TestReplicaClient_OpenLTXFileReadsFullObject(t *testing.T) { FILE: heartbeat.go constant DefaultHeartbeatInterval (line 12) | DefaultHeartbeatInterval = 5 * time.Minute constant DefaultHeartbeatTimeout (line 13) | DefaultHeartbeatTimeout = 30 * time.Second constant MinHeartbeatInterval (line 14) | MinHeartbeatInterval = 1 * time.Minute type HeartbeatClient (line 17) | type HeartbeatClient struct method Ping (line 45) | func (c *HeartbeatClient) Ping(ctx context.Context) error { method ShouldPing (line 68) | func (c *HeartbeatClient) ShouldPing() bool { method LastPingAt (line 74) | func (c *HeartbeatClient) LastPingAt() time.Time { method RecordPing (line 80) | func (c *HeartbeatClient) RecordPing() { function NewHeartbeatClient (line 28) | func NewHeartbeatClient(url string, interval time.Duration) *HeartbeatCl... FILE: heartbeat_test.go function TestHeartbeatClient_Ping (line 16) | func TestHeartbeatClient_Ping(t *testing.T) { function TestHeartbeatClient_ShouldPing (line 84) | func TestHeartbeatClient_ShouldPing(t *testing.T) { function TestHeartbeatClient_MinInterval (line 102) | func TestHeartbeatClient_MinInterval(t *testing.T) { function TestHeartbeatClient_LastPingAt (line 109) | func TestHeartbeatClient_LastPingAt(t *testing.T) { function TestStore_Heartbeat_AllDatabasesHealthy (line 126) | func TestStore_Heartbeat_AllDatabasesHealthy(t *testing.T) { FILE: internal/hexdump.go function Hexdump (line 8) | func Hexdump(data []byte) string { function toChar (line 40) | func toChar(b byte) string { FILE: internal/internal.go constant LevelTrace (line 14) | LevelTrace = slog.LevelDebug - 4 type ReadCloser (line 17) | type ReadCloser struct method Read (line 28) | func (r *ReadCloser) Read(p []byte) (n int, err error) { method Close (line 33) | func (r *ReadCloser) Close() error { function NewReadCloser (line 23) | func NewReadCloser(r io.Reader, c io.Closer) *ReadCloser { type LZ4ReadCloser (line 44) | type LZ4ReadCloser struct method Close (line 49) | func (r *LZ4ReadCloser) Close() error { function NewLZ4Reader (line 55) | func NewLZ4Reader(r io.ReadCloser) io.ReadCloser { type ReadCounter (line 63) | type ReadCounter struct method Read (line 74) | func (r *ReadCounter) Read(p []byte) (int, error) { method N (line 81) | func (r *ReadCounter) N() int64 { return r.n } function NewReadCounter (line 69) | func NewReadCounter(r io.Reader) *ReadCounter { function CreateFile (line 84) | func CreateFile(filename string, fi os.FileInfo) (*os.File, error) { function MkdirAll (line 102) | func MkdirAll(path string, fi os.FileInfo) error { function ReplaceAttr (line 153) | func ReplaceAttr(groups []string, a slog.Attr) slog.Attr { FILE: internal/internal_unix.go function Fileinfo (line 12) | func Fileinfo(fi os.FileInfo) (uid, gid int) { function fixRootDirectory (line 23) | func fixRootDirectory(p string) string { FILE: internal/internal_windows.go function Fileinfo (line 11) | func Fileinfo(fi os.FileInfo) (uid, gid int) { function fixRootDirectory (line 16) | func fixRootDirectory(p string) string { FILE: internal/limit_read_closer.go function LimitReadCloser (line 6) | func LimitReadCloser(r io.ReadCloser, n int64) io.ReadCloser { type LimitedReadCloser (line 10) | type LimitedReadCloser struct method Close (line 15) | func (l *LimitedReadCloser) Close() error { method Read (line 19) | func (l *LimitedReadCloser) Read(p []byte) (n int, err error) { FILE: internal/lock_unix.go constant sqlitePendingByte (line 12) | sqlitePendingByte = 0x40000000 constant sqliteSharedFirst (line 13) | sqliteSharedFirst = sqlitePendingByte + 2 constant sqliteSharedSize (line 14) | sqliteSharedSize = 510 function LockFileExclusive (line 17) | func LockFileExclusive(f *os.File) error { function UnlockFile (line 32) | func UnlockFile(f *os.File) error { function setFcntlLock (line 42) | func setFcntlLock(fd int, lockType int16, start int64, length int64) err... FILE: internal/lock_windows.go constant sqlitePendingByte (line 12) | sqlitePendingByte = 0x40000000 constant sqliteSharedFirst (line 13) | sqliteSharedFirst = sqlitePendingByte + 2 constant sqliteSharedSize (line 14) | sqliteSharedSize = 510 function LockFileExclusive (line 17) | func LockFileExclusive(f *os.File) error { function UnlockFile (line 34) | func UnlockFile(f *os.File) error { FILE: internal/resumable_reader.go type LTXFileOpener (line 12) | type LTXFileOpener interface type ResumableReader (line 36) | type ResumableReader struct method Read (line 64) | func (r *ResumableReader) Read(p []byte) (int, error) { method Close (line 120) | func (r *ResumableReader) Close() error { function NewResumableReader (line 49) | func NewResumableReader(ctx context.Context, client LTXFileOpener, level... constant resumableReaderMaxRetries (line 62) | resumableReaderMaxRetries = 3 FILE: internal/resumable_reader_test.go function TestResumableReader (line 15) | func TestResumableReader(t *testing.T) { function newTestResumableReader (line 243) | func newTestResumableReader(client *testLTXFileOpener, size int64, data ... type testLTXFileOpener (line 257) | type testLTXFileOpener struct method OpenLTXFile (line 261) | func (t *testLTXFileOpener) OpenLTXFile(ctx context.Context, level int... type errorAfterN (line 268) | type errorAfterN struct method Read (line 275) | func (r *errorAfterN) Read(p []byte) (int, error) { FILE: internal/testingutil/testingutil.go constant defaultTigrisEndpoint (line 34) | defaultTigrisEndpoint = "https://fly.storage.tigris.dev" constant defaultTigrisRegion (line 35) | defaultTigrisRegion = "auto" constant defaultTigrisBucket (line 36) | defaultTigrisBucket = "litestream-dev" constant defaultTigrisPathRoot (line 37) | defaultTigrisPathRoot = "integration-tests" function Integration (line 135) | func Integration() bool { function ReplicaClientTypes (line 139) | func ReplicaClientTypes() []string { function NewDB (line 143) | func NewDB(tb testing.TB, path string) *litestream.DB { function MustOpenDBs (line 161) | func MustOpenDBs(tb testing.TB) (*litestream.DB, *sql.DB) { function MustCloseDBs (line 168) | func MustCloseDBs(tb testing.TB, db *litestream.DB, sqldb *sql.DB) { function MustOpenDB (line 175) | func MustOpenDB(tb testing.TB) *litestream.DB { function MustOpenDBAt (line 182) | func MustOpenDBAt(tb testing.TB, path string) *litestream.DB { function MustCloseDB (line 197) | func MustCloseDB(tb testing.TB, db *litestream.DB) { function MustOpenSQLDB (line 207) | func MustOpenSQLDB(tb testing.TB, path string) *sql.DB { function MustCloseSQLDB (line 221) | func MustCloseSQLDB(tb testing.TB, d *sql.DB) { function NewReplicaClient (line 229) | func NewReplicaClient(tb testing.TB, typ string) litestream.ReplicaClient { function NewFileReplicaClient (line 262) | func NewFileReplicaClient(tb testing.TB) *file.ReplicaClient { function NewS3ReplicaClient (line 268) | func NewS3ReplicaClient(tb testing.TB) *s3.ReplicaClient { function NewTigrisReplicaClient (line 284) | func NewTigrisReplicaClient(tb testing.TB) *s3.ReplicaClient { function NewR2ReplicaClient (line 305) | func NewR2ReplicaClient(tb testing.TB) *s3.ReplicaClient { function NewB2ReplicaClient (line 332) | func NewB2ReplicaClient(tb testing.TB) *s3.ReplicaClient { function NewGSReplicaClient (line 358) | func NewGSReplicaClient(tb testing.TB) *gs.ReplicaClient { function NewABSReplicaClient (line 388) | func NewABSReplicaClient(tb testing.TB) *abs.ReplicaClient { function NewSFTPReplicaClient (line 401) | func NewSFTPReplicaClient(tb testing.TB) *sftp.ReplicaClient { function NewWebDAVReplicaClient (line 414) | func NewWebDAVReplicaClient(tb testing.TB) *webdav.ReplicaClient { function NewNATSReplicaClient (line 426) | func NewNATSReplicaClient(tb testing.TB) *nats.ReplicaClient { function NewOSSReplicaClient (line 439) | func NewOSSReplicaClient(tb testing.TB) *oss.ReplicaClient { function MustDeleteAll (line 453) | func MustDeleteAll(tb testing.TB, c litestream.ReplicaClient) { function MockSFTPServer (line 468) | func MockSFTPServer(t *testing.T, hostKey ssh.Signer) string { FILE: leaser.go type LeaseExistsError (line 12) | type LeaseExistsError struct method Error (line 17) | func (e *LeaseExistsError) Error() string { type Leaser (line 24) | type Leaser interface type Lease (line 31) | type Lease struct method IsExpired (line 38) | func (l *Lease) IsExpired() bool { method TTL (line 42) | func (l *Lease) TTL() time.Duration { FILE: litestream.go constant MetaDirSuffix (line 20) | MetaDirSuffix = "-litestream" constant CheckpointModePassive (line 25) | CheckpointModePassive = "PASSIVE" constant CheckpointModeFull (line 26) | CheckpointModeFull = "FULL" constant CheckpointModeRestart (line 27) | CheckpointModeRestart = "RESTART" constant CheckpointModeTruncate (line 28) | CheckpointModeTruncate = "TRUNCATE" type LTXError (line 40) | type LTXError struct method Error (line 50) | func (e *LTXError) Error() string { method Unwrap (line 57) | func (e *LTXError) Unwrap() error { return e.Err } function NewLTXError (line 60) | func NewLTXError(op, path string, level int, minTXID, maxTXID uint64, er... constant WALHeaderChecksumOffset (line 83) | WALHeaderChecksumOffset = 24 constant WALFrameHeaderChecksumOffset (line 84) | WALFrameHeaderChecksumOffset = 16 function Checksum (line 96) | func Checksum(bo binary.ByteOrder, s0, s1 uint32, b []byte) (uint32, uin... constant WALHeaderSize (line 109) | WALHeaderSize = 32 constant WALFrameHeaderSize (line 112) | WALFrameHeaderSize = 24 function rollback (line 116) | func rollback(tx *sql.Tx) error { function readWALHeader (line 124) | func readWALHeader(filename string) ([]byte, error) { function readWALFileAt (line 138) | func readWALFileAt(filename string, offset, n int64) ([]byte, error) { function removeTmpFiles (line 155) | func removeTmpFiles(root string) error { function LTXDir (line 171) | func LTXDir(root string) string { function LTXLevelDir (line 176) | func LTXLevelDir(root string, level int) string { function LTXFilePath (line 181) | func LTXFilePath(root string, level int, minTXID, maxTXID ltx.TXID) stri... function assert (line 185) | func assert(condition bool, message string) { FILE: litestream_test.go function TestChecksum (line 17) | func TestChecksum(t *testing.T) { function TestLTXDir (line 47) | func TestLTXDir(t *testing.T) { function TestLTXLevelDir (line 53) | func TestLTXLevelDir(t *testing.T) { function LTXFilePath (line 59) | func LTXFilePath(t *testing.T) { function MustDecodeHexString (line 66) | func MustDecodeHexString(s string) []byte { function TestNewLTXError (line 74) | func TestNewLTXError(t *testing.T) { function TestLTXErrorHints (line 125) | func TestLTXErrorHints(t *testing.T) { FILE: log.go constant LogKeySystem (line 4) | LogKeySystem = "system" constant LogKeySubsystem (line 5) | LogKeySubsystem = "subsystem" constant LogKeyDB (line 6) | LogKeyDB = "db" constant LogSystemStore (line 10) | LogSystemStore = "store" constant LogSystemServer (line 11) | LogSystemServer = "server" constant LogSubsystemCompactor (line 15) | LogSubsystemCompactor = "compactor" constant LogSubsystemWALReader (line 16) | LogSubsystemWALReader = "wal-reader" FILE: mock/replica_client.go type ReplicaClient (line 15) | type ReplicaClient struct method Type (line 24) | func (c *ReplicaClient) Type() string { return "mock" } method Init (line 26) | func (c *ReplicaClient) Init(ctx context.Context) error { method DeleteAll (line 33) | func (c *ReplicaClient) DeleteAll(ctx context.Context) error { method LTXFiles (line 37) | func (c *ReplicaClient) LTXFiles(ctx context.Context, level int, seek ... method OpenLTXFile (line 41) | func (c *ReplicaClient) OpenLTXFile(ctx context.Context, level int, mi... method WriteLTXFile (line 45) | func (c *ReplicaClient) WriteLTXFile(ctx context.Context, level int, m... method DeleteLTXFiles (line 49) | func (c *ReplicaClient) DeleteLTXFiles(ctx context.Context, a []*ltx.F... method SetLogger (line 53) | func (c *ReplicaClient) SetLogger(_ *slog.Logger) {} FILE: nats/replica_client.go function init (line 26) | func init() { constant ReplicaClientType (line 31) | ReplicaClientType = "nats" constant HeaderKeyTimestamp (line 34) | HeaderKeyTimestamp = "Litestream-Timestamp" type ReplicaClient (line 39) | type ReplicaClient struct method SetLogger (line 92) | func (c *ReplicaClient) SetLogger(logger *slog.Logger) { method Type (line 124) | func (c *ReplicaClient) Type() string { method Init (line 129) | func (c *ReplicaClient) Init(ctx context.Context) error { method connect (line 149) | func (c *ReplicaClient) connect(_ context.Context) error { method initObjectStore (line 213) | func (c *ReplicaClient) initObjectStore(ctx context.Context) error { method Close (line 229) | func (c *ReplicaClient) Close() error { method ltxPath (line 243) | func (c *ReplicaClient) ltxPath(level int, minTXID, maxTXID ltx.TXID) ... method parseLTXPath (line 248) | func (c *ReplicaClient) parseLTXPath(objPath string) (level int, minTX... method LTXFiles (line 278) | func (c *ReplicaClient) LTXFiles(ctx context.Context, level int, seek ... method OpenLTXFile (line 347) | func (c *ReplicaClient) OpenLTXFile(ctx context.Context, level int, mi... method WriteLTXFile (line 383) | func (c *ReplicaClient) WriteLTXFile(ctx context.Context, level int, m... method DeleteLTXFiles (line 429) | func (c *ReplicaClient) DeleteLTXFiles(ctx context.Context, a []*ltx.F... method DeleteAll (line 451) | func (c *ReplicaClient) DeleteAll(ctx context.Context) error { function NewReplicaClient (line 80) | func NewReplicaClient() *ReplicaClient { function NewReplicaClientFromURL (line 99) | func NewReplicaClientFromURL(scheme, host, urlPath string, query url.Val... function isNotFoundError (line 480) | func isNotFoundError(err error) bool { type ltxFileIterator (line 485) | type ltxFileIterator struct method Next (line 492) | func (itr *ltxFileIterator) Next() bool { method Item (line 498) | func (itr *ltxFileIterator) Item() *ltx.FileInfo { method Err (line 506) | func (itr *ltxFileIterator) Err() error { method Close (line 511) | func (itr *ltxFileIterator) Close() error { FILE: nats/replica_client_test.go function TestReplicaClient_Type (line 10) | func TestReplicaClient_Type(t *testing.T) { function TestReplicaClient_ltxPath (line 17) | func TestReplicaClient_ltxPath(t *testing.T) { function TestReplicaClient_parseLTXPath (line 38) | func TestReplicaClient_parseLTXPath(t *testing.T) { function TestReplicaClient_isNotFoundError (line 102) | func TestReplicaClient_isNotFoundError(t *testing.T) { function TestLtxFileIterator (line 134) | func TestLtxFileIterator(t *testing.T) { type mockNotFoundError (line 186) | type mockNotFoundError struct method Error (line 188) | func (e *mockNotFoundError) Error() string { type mockOtherError (line 192) | type mockOtherError struct method Error (line 194) | func (e *mockOtherError) Error() string { function TestReplicaClientDefaults (line 198) | func TestReplicaClientDefaults(t *testing.T) { FILE: oss/replica_client.go function init (line 28) | func init() { constant ReplicaClientType (line 33) | ReplicaClientType = "oss" constant MetadataKeyTimestamp (line 37) | MetadataKeyTimestamp = "litestream-timestamp" constant MaxKeys (line 40) | MaxKeys = 1000 constant DefaultRegion (line 43) | DefaultRegion = "cn-hangzhou" constant DefaultMetadataConcurrency (line 47) | DefaultMetadataConcurrency = 50 type ReplicaClient (line 52) | type ReplicaClient struct method SetLogger (line 85) | func (c *ReplicaClient) SetLogger(logger *slog.Logger) { method Type (line 108) | func (c *ReplicaClient) Type() string { method Init (line 113) | func (c *ReplicaClient) Init(ctx context.Context) (err error) { method LTXFiles (line 185) | func (c *ReplicaClient) LTXFiles(ctx context.Context, level int, seek ... method OpenLTXFile (line 194) | func (c *ReplicaClient) OpenLTXFile(ctx context.Context, level int, mi... method WriteLTXFile (line 233) | func (c *ReplicaClient) WriteLTXFile(ctx context.Context, level int, m... method DeleteLTXFiles (line 291) | func (c *ReplicaClient) DeleteLTXFiles(ctx context.Context, a []*ltx.F... method DeleteAll (line 336) | func (c *ReplicaClient) DeleteAll(ctx context.Context) error { method ltxPath (line 389) | func (c *ReplicaClient) ltxPath(level int, filename string) string { function NewReplicaClient (line 79) | func NewReplicaClient() *ReplicaClient { function NewReplicaClientFromURL (line 92) | func NewReplicaClientFromURL(scheme, host, urlPath string, query url.Val... type fileIterator (line 394) | type fileIterator struct method fetchMetadataBatch (line 431) | func (itr *fileIterator) fetchMetadataBatch(keys []string) error { method initPaginator (line 494) | func (itr *fileIterator) initPaginator() { method Close (line 509) | func (itr *fileIterator) Close() (err error) { method Next (line 516) | func (itr *fileIterator) Next() bool { method Item (line 614) | func (itr *fileIterator) Item() *ltx.FileInfo { method Err (line 619) | func (itr *fileIterator) Err() error { function newFileIterator (line 414) | func newFileIterator(ctx context.Context, client *ReplicaClient, level i... function ParseURL (line 624) | func ParseURL(s string) (bucket, region, key string, err error) { function ParseHost (line 649) | func ParseHost(host string) (bucket, region, endpoint string) { function isNotExists (line 680) | func isNotExists(err error) bool { function deleteResultError (line 691) | func deleteResultError(requested []oss.DeleteObject, out *oss.DeleteMult... FILE: oss/replica_client_test.go function TestReplicaClient_Type (line 10) | func TestReplicaClient_Type(t *testing.T) { function TestReplicaClient_Init_BucketValidation (line 20) | func TestReplicaClient_Init_BucketValidation(t *testing.T) { function TestReplicaClient_Init_Idempotent (line 63) | func TestReplicaClient_Init_Idempotent(t *testing.T) { function TestParseURL (line 80) | func TestParseURL(t *testing.T) { function TestParseHost (line 157) | func TestParseHost(t *testing.T) { function TestIsNotExists (line 240) | func TestIsNotExists(t *testing.T) { function TestLtxPath (line 262) | func TestLtxPath(t *testing.T) { function TestDeleteResultError (line 286) | func TestDeleteResultError(t *testing.T) { function contains (line 361) | func contains(s, substr string) bool { function containsHelper (line 365) | func containsHelper(s, substr string) bool { FILE: packages/npm/litestream-vfs/index.js constant PLATFORM_PACKAGES (line 6) | const PLATFORM_PACKAGES = { constant EXT_MAP (line 13) | const EXT_MAP = { function getLoadablePath (line 18) | function getLoadablePath() { FILE: packages/python/litestream_vfs/__init__.py function loadable_path (line 12) | def loadable_path(): function load (line 26) | def load(conn): FILE: packages/python/litestream_vfs/noop.c type PyModuleDef (line 6) | struct PyModuleDef function PyMODINIT_FUNC (line 10) | PyMODINIT_FUNC PyInit__noop(void) { return PyModule_Create(&module); } FILE: packages/python/scripts/rename_wheel.py function main (line 13) | def main(): FILE: packages/ruby/lib/litestream_vfs.rb type LitestreamVfs (line 3) | module LitestreamVfs function loadable_path (line 9) | def self.loadable_path function load (line 23) | def self.load(db) FILE: replica.go constant DefaultSyncInterval (line 24) | DefaultSyncInterval = 1 * time.Second type Replica (line 30) | type Replica struct method Logger (line 80) | func (r *Replica) Logger() *slog.Logger { method DB (line 89) | func (r *Replica) DB() *DB { return r.db } method Start (line 92) | func (r *Replica) Start(ctx context.Context) error { method Stop (line 116) | func (r *Replica) Stop(hard bool) (err error) { method Sync (line 132) | func (r *Replica) Sync(ctx context.Context) (err error) { method uploadLTXFile (line 182) | func (r *Replica) uploadLTXFile(ctx context.Context, level int, minTXI... method calcPos (line 208) | func (r *Replica) calcPos(ctx context.Context) (pos ltx.Pos, err error) { method MaxLTXFileInfo (line 218) | func (r *Replica) MaxLTXFileInfo(ctx context.Context, level int) (info... method Pos (line 237) | func (r *Replica) Pos() ltx.Pos { method SetPos (line 244) | func (r *Replica) SetPos(pos ltx.Pos) { method EnforceRetention (line 252) | func (r *Replica) EnforceRetention(ctx context.Context) (err error) { method monitor (line 326) | func (r *Replica) monitor(ctx context.Context) { method CreatedAt (line 443) | func (r *Replica) CreatedAt(ctx context.Context) (time.Time, error) { method TimeBounds (line 461) | func (r *Replica) TimeBounds(ctx context.Context) (createdAt, updatedA... method CalcRestoreTarget (line 485) | func (r *Replica) CalcRestoreTarget(ctx context.Context, opt RestoreOp... method Restore (line 531) | func (r *Replica) Restore(ctx context.Context, opt RestoreOptions) (er... method follow (line 728) | func (r *Replica) follow(ctx context.Context, outputPath string, lastT... method applyNewLTXFiles (line 789) | func (r *Replica) applyNewLTXFiles(ctx context.Context, f *os.File, af... method applyLTXFile (line 870) | func (r *Replica) applyLTXFile(ctx context.Context, f *os.File, info *... method fillFollowGap (line 925) | func (r *Replica) fillFollowGap(ctx context.Context, f *os.File, after... method RestoreV3 (line 988) | func (r *Replica) RestoreV3(ctx context.Context, opt RestoreOptions) e... method downloadSnapshotV3 (line 1142) | func (r *Replica) downloadSnapshotV3(ctx context.Context, client Repli... method applyWALSegmentsV3 (line 1162) | func (r *Replica) applyWALSegmentsV3(ctx context.Context, client Repli... method writeWALSegmentV3 (line 1180) | func (r *Replica) writeWALSegmentV3(ctx context.Context, client Replic... method findBestV3SnapshotForTimestamp (line 1256) | func (r *Replica) findBestV3SnapshotForTimestamp(ctx context.Context, ... method shouldUseV3Restore (line 1286) | func (r *Replica) shouldUseV3Restore(ctx context.Context, client Repli... method TimeBoundsV3 (line 1344) | func (r *Replica) TimeBoundsV3(ctx context.Context, client ReplicaClie... method findBestLTXSnapshotForTimestamp (line 1383) | func (r *Replica) findBestLTXSnapshotForTimestamp(ctx context.Context,... method ValidateLevel (line 1675) | func (r *Replica) ValidateLevel(ctx context.Context, level int) ([]Val... function NewReplica (line 61) | func NewReplica(db *DB) *Replica { function NewReplicaWithClient (line 73) | func NewReplicaWithClient(db *DB, client ReplicaClient) *Replica { function sortSnapshotsV3ByCreatedAt (line 1097) | func sortSnapshotsV3ByCreatedAt(snapshots []SnapshotInfoV3) { function findBestSnapshotV3 (line 1110) | func findBestSnapshotV3(snapshots []SnapshotInfoV3, timestamp time.Time)... function filterWALSegmentsV3 (line 1127) | func filterWALSegmentsV3(segments []WALSegmentInfoV3, snapshotIndex int,... function checkpointV3 (line 1206) | func checkpointV3(dbPath string) error { function checkIntegrity (line 1218) | func checkIntegrity(ctx context.Context, dbPath string, mode IntegrityCh... function CalcRestorePlan (line 1400) | func CalcRestorePlan(ctx context.Context, client ReplicaClient, txID ltx... type restoreLevelCursor (line 1518) | type restoreLevelCursor struct method refresh (line 1529) | func (c *restoreLevelCursor) refresh(currentMax, txID ltx.TXID, timest... method ensureCurrent (line 1569) | func (c *restoreLevelCursor) ensureCurrent() error { function restoreCandidateBetter (line 1585) | func restoreCandidateBetter(curr, next *ltx.FileInfo) bool { function TXIDPath (line 1600) | func TXIDPath(outputPath string) string { function WriteTXIDFile (line 1606) | func WriteTXIDFile(outputPath string, txid ltx.TXID) error { function ReadTXIDFile (line 1646) | func ReadTXIDFile(outputPath string) (ltx.TXID, error) { type ValidationError (line 1665) | type ValidationError struct FILE: replica_client.go type ReplicaClient (line 19) | type ReplicaClient interface function FindLTXFiles (line 57) | func FindLTXFiles(ctx context.Context, client ReplicaClient, level int, ... constant DefaultEstimatedPageIndexSize (line 88) | DefaultEstimatedPageIndexSize = 32 * 1024 function FetchPageIndex (line 90) | func FetchPageIndex(ctx context.Context, client ReplicaClient, info *ltx... function FetchLTXHeader (line 101) | func FetchLTXHeader(ctx context.Context, client ReplicaClient, info *ltx... function fetchPageIndexData (line 116) | func fetchPageIndexData(ctx context.Context, client ReplicaClient, info ... function FetchPage (line 148) | func FetchPage(ctx context.Context, client ReplicaClient, level int, min... FILE: replica_client_test.go function createLTXData (line 27) | func createLTXData(minTXID, maxTXID ltx.TXID, data []byte) []byte { function createLTXDataWithTimestamp (line 31) | func createLTXDataWithTimestamp(minTXID, maxTXID ltx.TXID, ts time.Time,... function TestReplicaClient_LTX (line 51) | func TestReplicaClient_LTX(t *testing.T) { function TestReplicaClient_WriteLTXFile (line 131) | func TestReplicaClient_WriteLTXFile(t *testing.T) { function TestReplicaClient_OpenLTXFile (line 165) | func TestReplicaClient_OpenLTXFile(t *testing.T) { function TestReplicaClient_DeleteWALSegments (line 201) | func TestReplicaClient_DeleteWALSegments(t *testing.T) { function RunWithReplicaClient (line 230) | func RunWithReplicaClient(t *testing.T, name string, fn func(*testing.T,... function TestReplicaClient_TimestampPreservation (line 249) | func TestReplicaClient_TimestampPreservation(t *testing.T) { function TestReplicaClient_S3_UploaderConfig (line 307) | func TestReplicaClient_S3_UploaderConfig(t *testing.T) { function TestReplicaClient_S3_ErrorContext (line 375) | func TestReplicaClient_S3_ErrorContext(t *testing.T) { function TestReplicaClient_S3_BucketValidation (line 399) | func TestReplicaClient_S3_BucketValidation(t *testing.T) { function TestReplicaClient_S3_UnsignedPayloadRejected (line 426) | func TestReplicaClient_S3_UnsignedPayloadRejected(t *testing.T) { function TestReplicaClient_SFTP_HostKeyValidation (line 473) | func TestReplicaClient_SFTP_HostKeyValidation(t *testing.T) { function TestReplicaClient_S3_MultipartThresholds (line 555) | func TestReplicaClient_S3_MultipartThresholds(t *testing.T) { function TestReplicaClient_S3_ConcurrencyLimits (line 644) | func TestReplicaClient_S3_ConcurrencyLimits(t *testing.T) { function TestReplicaClient_PITR_ManyLTXFiles (line 709) | func TestReplicaClient_PITR_ManyLTXFiles(t *testing.T) { function TestReplicaClient_PITR_TimestampFiltering (line 807) | func TestReplicaClient_PITR_TimestampFiltering(t *testing.T) { function TestReplicaClient_PITR_CalcRestorePlanWithManyFiles (line 874) | func TestReplicaClient_PITR_CalcRestorePlanWithManyFiles(t *testing.T) { FILE: replica_internal_test.go function TestReplica_ApplyNewLTXFiles_FillGapWithOverlappingCompactedFile (line 20) | func TestReplica_ApplyNewLTXFiles_FillGapWithOverlappingCompactedFile(t ... function TestReplica_ApplyNewLTXFiles_LevelZeroEmptyFallsBackToCompaction (line 73) | func TestReplica_ApplyNewLTXFiles_LevelZeroEmptyFallsBackToCompaction(t ... function TestReplica_ApplyNewLTXFiles_IteratorCloseError (line 117) | func TestReplica_ApplyNewLTXFiles_IteratorCloseError(t *testing.T) { function TestReplica_ApplyLTXFile_VerifiesChecksumOnClose (line 142) | func TestReplica_ApplyLTXFile_VerifiesChecksumOnClose(t *testing.T) { type errorFileIterator (line 167) | type errorFileIterator struct method Close (line 220) | func (itr *errorFileIterator) Close() error { method Next (line 224) | func (itr *errorFileIterator) Next() bool { method Err (line 228) | func (itr *errorFileIterator) Err() error { method Item (line 232) | func (itr *errorFileIterator) Item() *ltx.FileInfo { type followTestReplicaClient (line 171) | type followTestReplicaClient struct method Type (line 179) | func (*followTestReplicaClient) Type() string { return "test" } method Init (line 181) | func (*followTestReplicaClient) Init(context.Context) error { return n... method SetLogger (line 183) | func (*followTestReplicaClient) SetLogger(*slog.Logger) {} method LTXFiles (line 185) | func (c *followTestReplicaClient) LTXFiles(ctx context.Context, level ... method OpenLTXFile (line 192) | func (c *followTestReplicaClient) OpenLTXFile(ctx context.Context, lev... method WriteLTXFile (line 199) | func (c *followTestReplicaClient) WriteLTXFile(ctx context.Context, le... method DeleteLTXFiles (line 206) | func (c *followTestReplicaClient) DeleteLTXFiles(ctx context.Context, ... method DeleteAll (line 213) | func (c *followTestReplicaClient) DeleteAll(ctx context.Context) error { function mustBuildIncrementalLTX (line 236) | func mustBuildIncrementalLTX(tb testing.TB, minTXID, maxTXID ltx.TXID, p... function mustCreateWritableDBFile (line 268) | func mustCreateWritableDBFile(tb testing.TB) *os.File { function ltxFixtureKey (line 283) | func ltxFixtureKey(level int, minTXID, maxTXID ltx.TXID) string { function mustCreateValidSQLiteDB (line 287) | func mustCreateValidSQLiteDB(tb testing.TB) string { function TestCheckIntegrity_Quick_ValidDB (line 307) | func TestCheckIntegrity_Quick_ValidDB(t *testing.T) { function TestCheckIntegrity_Full_ValidDB (line 314) | func TestCheckIntegrity_Full_ValidDB(t *testing.T) { function TestCheckIntegrity_None_Skips (line 321) | func TestCheckIntegrity_None_Skips(t *testing.T) { function TestCheckIntegrity_CorruptDB (line 327) | func TestCheckIntegrity_CorruptDB(t *testing.T) { FILE: replica_test.go function TestReplica_Sync (line 25) | func TestReplica_Sync(t *testing.T) { function TestReplica_RestoreAndReplicateAfterDataLoss (line 111) | func TestReplica_RestoreAndReplicateAfterDataLoss(t *testing.T) { function TestReplica_CalcRestorePlan (line 257) | func TestReplica_CalcRestorePlan(t *testing.T) { function TestReplica_TimeBounds (line 533) | func TestReplica_TimeBounds(t *testing.T) { function TestReplica_CalcRestoreTarget (line 695) | func TestReplica_CalcRestoreTarget(t *testing.T) { function TestReplica_Restore_InvalidFileSize (line 797) | func TestReplica_Restore_InvalidFileSize(t *testing.T) { function TestReplica_ContextCancellationNoLogs (line 860) | func TestReplica_ContextCancellationNoLogs(t *testing.T) { function TestReplica_ValidateLevel (line 943) | func TestReplica_ValidateLevel(t *testing.T) { function TestReplica_RestoreV3 (line 1057) | func TestReplica_RestoreV3(t *testing.T) { function TestReplica_Restore_BothFormats (line 1299) | func TestReplica_Restore_BothFormats(t *testing.T) { function createTestLTXSnapshot (line 1550) | func createTestLTXSnapshot(t *testing.T) []byte { type v3SnapshotData (line 1603) | type v3SnapshotData struct type v3WALSegmentData (line 1609) | type v3WALSegmentData struct function createV3Backup (line 1616) | func createV3Backup(t *testing.T, replicaDir, generation string, snapsho... function writeV3Snapshot (line 1643) | func writeV3Snapshot(t *testing.T, dir string, index int, data []byte) { function writeV3WALSegment (line 1662) | func writeV3WALSegment(t *testing.T, dir string, index int, offset int64... function createTestSQLiteDB (line 1681) | func createTestSQLiteDB(t *testing.T) []byte { function createTestWALData (line 1703) | func createTestWALData(t *testing.T, dbData []byte) []byte { function TestWriteTXIDFile (line 1722) | func TestWriteTXIDFile(t *testing.T) { function TestReadTXIDFile (line 1764) | func TestReadTXIDFile(t *testing.T) { function TestReplica_Restore_Follow_IncompatibleFlags (line 1824) | func TestReplica_Restore_Follow_IncompatibleFlags(t *testing.T) { function TestReplica_Restore_Follow (line 1854) | func TestReplica_Restore_Follow(t *testing.T) { function TestReplica_Restore_Follow_ContextCancellation (line 1957) | func TestReplica_Restore_Follow_ContextCancellation(t *testing.T) { function TestReplica_Restore_Follow_WriteTXIDFile (line 2015) | func TestReplica_Restore_Follow_WriteTXIDFile(t *testing.T) { function TestReplica_Restore_Follow_CrashRecovery (line 2125) | func TestReplica_Restore_Follow_CrashRecovery(t *testing.T) { function TestReplica_Restore_Follow_NoTXIDFile (line 2256) | func TestReplica_Restore_Follow_NoTXIDFile(t *testing.T) { function TestReplica_Restore_Follow_StaleTXID (line 2282) | func TestReplica_Restore_Follow_StaleTXID(t *testing.T) { function verifyRestoredDB (line 2355) | func verifyRestoredDB(t *testing.T, path string) { FILE: replica_url.go type ReplicaClientFactory (line 14) | type ReplicaClientFactory function RegisterReplicaClientFactory (line 23) | func RegisterReplicaClientFactory(scheme string, factory ReplicaClientFa... function NewReplicaClientFromURL (line 31) | func NewReplicaClientFromURL(rawURL string) (ReplicaClient, error) { function ReplicaTypeFromURL (line 56) | func ReplicaTypeFromURL(rawURL string) string { function ParseReplicaURL (line 68) | func ParseReplicaURL(s string) (scheme, host, urlPath string, err error) { function ParseReplicaURLWithQuery (line 79) | func ParseReplicaURLWithQuery(s string) (scheme, host, urlPath string, q... function parseS3AccessPointURL (line 107) | func parseS3AccessPointURL(s string) (scheme, host, urlPath string, quer... function splitS3AccessPointARN (line 139) | func splitS3AccessPointARN(s string) (bucket, key string, err error) { function CleanReplicaURLPath (line 165) | func CleanReplicaURLPath(p string) string { function RegionFromS3ARN (line 178) | func RegionFromS3ARN(arn string) string { function BoolQueryValue (line 188) | func BoolQueryValue(query url.Values, keys ...string) (value bool, ok bo... function IsHetznerEndpoint (line 208) | func IsHetznerEndpoint(endpoint string) bool { function IsTigrisEndpoint (line 217) | func IsTigrisEndpoint(endpoint string) bool { function IsDigitalOceanEndpoint (line 223) | func IsDigitalOceanEndpoint(endpoint string) bool { function IsBackblazeEndpoint (line 232) | func IsBackblazeEndpoint(endpoint string) bool { function IsFilebaseEndpoint (line 241) | func IsFilebaseEndpoint(endpoint string) bool { function IsScalewayEndpoint (line 250) | func IsScalewayEndpoint(endpoint string) bool { function IsCloudflareR2Endpoint (line 259) | func IsCloudflareR2Endpoint(endpoint string) bool { function IsSupabaseEndpoint (line 268) | func IsSupabaseEndpoint(endpoint string) bool { function IsMinIOEndpoint (line 278) | func IsMinIOEndpoint(endpoint string) bool { function IsLocalEndpoint (line 306) | func IsLocalEndpoint(endpoint string) bool { function EnsureEndpointScheme (line 335) | func EnsureEndpointScheme(endpoint string) (string, bool) { function extractEndpointHost (line 351) | func extractEndpointHost(endpoint string) string { function IsURL (line 367) | func IsURL(s string) bool { FILE: replica_url_test.go function TestNewReplicaClientFromURL (line 17) | func TestNewReplicaClientFromURL(t *testing.T) { function TestReplicaTypeFromURL (line 456) | func TestReplicaTypeFromURL(t *testing.T) { function TestIsURL (line 484) | func TestIsURL(t *testing.T) { function TestBoolQueryValue (line 507) | func TestBoolQueryValue(t *testing.T) { function TestIsTigrisEndpoint (line 576) | func TestIsTigrisEndpoint(t *testing.T) { function TestRegionFromS3ARN (line 606) | func TestRegionFromS3ARN(t *testing.T) { function TestCleanReplicaURLPath (line 630) | func TestCleanReplicaURLPath(t *testing.T) { function TestParseS3AccessPointURL (line 658) | func TestParseS3AccessPointURL(t *testing.T) { function TestIsDigitalOceanEndpoint (line 765) | func TestIsDigitalOceanEndpoint(t *testing.T) { function TestIsBackblazeEndpoint (line 787) | func TestIsBackblazeEndpoint(t *testing.T) { function TestIsFilebaseEndpoint (line 809) | func TestIsFilebaseEndpoint(t *testing.T) { function TestIsScalewayEndpoint (line 831) | func TestIsScalewayEndpoint(t *testing.T) { function TestIsCloudflareR2Endpoint (line 853) | func TestIsCloudflareR2Endpoint(t *testing.T) { function TestIsSupabaseEndpoint (line 875) | func TestIsSupabaseEndpoint(t *testing.T) { function TestIsHetznerEndpoint (line 897) | func TestIsHetznerEndpoint(t *testing.T) { function TestIsMinIOEndpoint (line 921) | func TestIsMinIOEndpoint(t *testing.T) { function TestIsLocalEndpoint (line 945) | func TestIsLocalEndpoint(t *testing.T) { function TestS3ProviderDefaults (line 1003) | func TestS3ProviderDefaults(t *testing.T) { function TestEnsureEndpointScheme (line 1101) | func TestEnsureEndpointScheme(t *testing.T) { function TestS3ProviderDefaults_QueryParamOverrides (line 1145) | func TestS3ProviderDefaults_QueryParamOverrides(t *testing.T) { FILE: restore_fuzz_test.go function FuzzRestoreWithMissingCompactedFile (line 17) | func FuzzRestoreWithMissingCompactedFile(f *testing.F) { FILE: s3/leaser.go constant DefaultLeaseTTL (line 22) | DefaultLeaseTTL = 30 * time.Second constant DefaultLeasePath (line 23) | DefaultLeasePath = "lock.json" constant LeaserType (line 24) | LeaserType = "s3" type S3API (line 36) | type S3API interface type Leaser (line 42) | type Leaser struct method SetLogger (line 67) | func (l *Leaser) SetLogger(logger *slog.Logger) { method Client (line 71) | func (l *Leaser) Client() S3API { method SetClient (line 75) | func (l *Leaser) SetClient(client S3API) { method Type (line 79) | func (l *Leaser) Type() string { method lockKey (line 83) | func (l *Leaser) lockKey() string { method AcquireLease (line 90) | func (l *Leaser) AcquireLease(ctx context.Context) (*litestream.Lease,... method RenewLease (line 138) | func (l *Leaser) RenewLease(ctx context.Context, lease *litestream.Lea... method ReleaseLease (line 171) | func (l *Leaser) ReleaseLease(ctx context.Context, lease *litestream.L... method readLease (line 202) | func (l *Leaser) readLease(ctx context.Context) (*litestream.Lease, st... method writeLease (line 231) | func (l *Leaser) writeLease(ctx context.Context, lease *litestream.Lea... function NewLeaser (line 52) | func NewLeaser() *Leaser { function isPreconditionFailed (line 268) | func isPreconditionFailed(err error) bool { function isNotFoundError (line 285) | func isNotFoundError(err error) bool { FILE: s3/leaser_test.go function TestLeaser_AcquireLease_NewLease (line 19) | func TestLeaser_AcquireLease_NewLease(t *testing.T) { function TestLeaser_AcquireLease_ExpiredLease (line 78) | func TestLeaser_AcquireLease_ExpiredLease(t *testing.T) { function TestLeaser_AcquireLease_ActiveLease (line 124) | func TestLeaser_AcquireLease_ActiveLease(t *testing.T) { function TestLeaser_AcquireLease_RaceCondition412 (line 167) | func TestLeaser_AcquireLease_RaceCondition412(t *testing.T) { function TestLeaser_RenewLease (line 213) | func TestLeaser_RenewLease(t *testing.T) { function TestLeaser_RenewLease_LostLease (line 270) | func TestLeaser_RenewLease_LostLease(t *testing.T) { function TestLeaser_RenewLease_NilLease (line 294) | func TestLeaser_RenewLease_NilLease(t *testing.T) { function TestLeaser_RenewLease_EmptyETag (line 309) | func TestLeaser_RenewLease_EmptyETag(t *testing.T) { function TestLeaser_ReleaseLease (line 330) | func TestLeaser_ReleaseLease(t *testing.T) { function TestLeaser_ReleaseLease_StaleETag (line 366) | func TestLeaser_ReleaseLease_StaleETag(t *testing.T) { function TestLeaser_ReleaseLease_AlreadyDeleted (line 390) | func TestLeaser_ReleaseLease_AlreadyDeleted(t *testing.T) { function TestLeaser_ReleaseLease_NilLease (line 414) | func TestLeaser_ReleaseLease_NilLease(t *testing.T) { function TestLeaser_ReleaseLease_EmptyETag (line 429) | func TestLeaser_ReleaseLease_EmptyETag(t *testing.T) { function TestLeaser_ConcurrentAcquisition (line 450) | func TestLeaser_ConcurrentAcquisition(t *testing.T) { function TestLeaser_LockKey (line 536) | func TestLeaser_LockKey(t *testing.T) { function TestLeaser_Type (line 571) | func TestLeaser_Type(t *testing.T) { function newTestLeaser (line 579) | func newTestLeaser(t *testing.T, serverURL string) *Leaser { FILE: s3/replica_client.go function init (line 45) | func init() { constant ReplicaClientType (line 50) | ReplicaClientType = "s3" constant MetadataKeyTimestamp (line 53) | MetadataKeyTimestamp = "litestream-timestamp" constant MaxKeys (line 56) | MaxKeys = 1000 constant DefaultRegion (line 59) | DefaultRegion = "us-east-1" constant DefaultMetadataConcurrency (line 64) | DefaultMetadataConcurrency = 50 constant DefaultR2Concurrency (line 68) | DefaultR2Concurrency = 2 type contentMD5StackKey (line 72) | type contentMD5StackKey struct type ReplicaClient (line 78) | type ReplicaClient struct method SetLogger (line 127) | func (c *ReplicaClient) SetLogger(logger *slog.Logger) { method Type (line 317) | func (c *ReplicaClient) Type() string { method Init (line 322) | func (c *ReplicaClient) Init(ctx context.Context) (err error) { method configureEndpoint (line 480) | func (c *ReplicaClient) configureEndpoint(opts *[]func(*s3.Options)) { method validateSSEConfig (line 501) | func (c *ReplicaClient) validateSSEConfig() error { method findBucketRegion (line 558) | func (c *ReplicaClient) findBucketRegion(ctx context.Context, bucket s... method LTXFiles (line 606) | func (c *ReplicaClient) LTXFiles(ctx context.Context, level int, seek ... method OpenLTXFile (line 615) | func (c *ReplicaClient) OpenLTXFile(ctx context.Context, level int, mi... method WriteLTXFile (line 657) | func (c *ReplicaClient) WriteLTXFile(ctx context.Context, level int, m... method middlewareOption (line 729) | func (c *ReplicaClient) middlewareOption() func(*middleware.Stack) err... method DeleteLTXFiles (line 1028) | func (c *ReplicaClient) DeleteLTXFiles(ctx context.Context, a []*ltx.F... method DeleteAll (line 1104) | func (c *ReplicaClient) DeleteAll(ctx context.Context) error { method GenerationsV3 (line 1151) | func (c *ReplicaClient) GenerationsV3(ctx context.Context) ([]string, ... method SnapshotsV3 (line 1188) | func (c *ReplicaClient) SnapshotsV3(ctx context.Context, generation st... method WALSegmentsV3 (line 1230) | func (c *ReplicaClient) WALSegmentsV3(ctx context.Context, generation ... method OpenSnapshotV3 (line 1277) | func (c *ReplicaClient) OpenSnapshotV3(ctx context.Context, generation... method OpenWALSegmentV3 (line 1309) | func (c *ReplicaClient) OpenWALSegmentV3(ctx context.Context, generati... function NewReplicaClient (line 119) | func NewReplicaClient() *ReplicaClient { function NewReplicaClientFromURL (line 133) | func NewReplicaClientFromURL(scheme, host, urlPath string, query url.Val... function computeDeleteObjectsContentMD5 (line 899) | func computeDeleteObjectsContentMD5(deleteInput *types.Delete) (string, ... function marshalDeleteObjects (line 916) | func marshalDeleteObjects(deleteInput *types.Delete) ([]byte, error) { function encodeDeleteDocument (line 939) | func encodeDeleteDocument(v *types.Delete, value smithyxml.Value) error { function encodeObjectIdentifierList (line 964) | func encodeObjectIdentifierList(v []types.ObjectIdentifier, value smithy... function encodeObjectIdentifier (line 982) | func encodeObjectIdentifier(v *types.ObjectIdentifier, value smithyxml.V... type fileIterator (line 1340) | type fileIterator struct method fetchMetadataBatch (line 1385) | func (itr *fileIterator) fetchMetadataBatch(keys []string) error { method Close (line 1458) | func (itr *fileIterator) Close() (err error) { method Next (line 1465) | func (itr *fileIterator) Next() bool { method Item (line 1562) | func (itr *fileIterator) Item() *ltx.FileInfo { method Err (line 1567) | func (itr *fileIterator) Err() error { function newFileIterator (line 1360) | func newFileIterator(ctx context.Context, client *ReplicaClient, level i... function ParseURL (line 1573) | func ParseURL(s, endpoint string) (bucket, region, key string, err error) { function ParseHost (line 1608) | func ParseHost(host string) (bucket, region, endpoint string, forcePathS... function isNotExists (line 1662) | func isNotExists(err error) bool { function deleteOutputError (line 1670) | func deleteOutputError(out *s3.DeleteObjectsOutput) error { function parseS3DebugEnv (line 1686) | func parseS3DebugEnv() aws.ClientLogMode { FILE: s3/replica_client_test.go type mockAPIError (line 32) | type mockAPIError struct method Error (line 37) | func (e *mockAPIError) Error() string { method ErrorCode (line 41) | func (e *mockAPIError) ErrorCode() string { method ErrorMessage (line 45) | func (e *mockAPIError) ErrorMessage() string { method ErrorFault (line 49) | func (e *mockAPIError) ErrorFault() smithy.ErrorFault { function TestIsNotExists (line 53) | func TestIsNotExists(t *testing.T) { function TestReplicaClient_DefaultSignPayload (line 93) | func TestReplicaClient_DefaultSignPayload(t *testing.T) { function TestReplicaClientPayloadSigning (line 103) | func TestReplicaClientPayloadSigning(t *testing.T) { function TestReplicaClient_UnsignedPayload_NoChunkedEncoding (line 169) | func TestReplicaClient_UnsignedPayload_NoChunkedEncoding(t *testing.T) { function TestReplicaClient_SignedPayload_CustomEndpoint_NoChunkedEncoding (line 239) | func TestReplicaClient_SignedPayload_CustomEndpoint_NoChunkedEncoding(t ... function mustLTX (line 311) | func mustLTX(t *testing.T) []byte { function mustLTXWithSize (line 340) | func mustLTXWithSize(t *testing.T, size int) []byte { function TestReplicaClient_MultipartUploadThreshold (line 351) | func TestReplicaClient_MultipartUploadThreshold(t *testing.T) { function TestReplicaClient_Init_BucketValidation (line 468) | func TestReplicaClient_Init_BucketValidation(t *testing.T) { function TestReplicaClient_UploaderConfiguration (line 497) | func TestReplicaClient_UploaderConfiguration(t *testing.T) { function TestReplicaClient_ConfigureEndpoint (line 527) | func TestReplicaClient_ConfigureEndpoint(t *testing.T) { function TestReplicaClient_HTTPClientConfiguration (line 582) | func TestReplicaClient_HTTPClientConfiguration(t *testing.T) { function TestReplicaClientDeleteLTXFiles_ContentMD5 (line 608) | func TestReplicaClientDeleteLTXFiles_ContentMD5(t *testing.T) { function TestReplicaClientDeleteLTXFiles_PreexistingContentMD5 (line 719) | func TestReplicaClientDeleteLTXFiles_PreexistingContentMD5(t *testing.T) { function TestReplicaClient_CredentialConfiguration (line 785) | func TestReplicaClient_CredentialConfiguration(t *testing.T) { function TestReplicaClient_DefaultRegionUsage (line 813) | func TestReplicaClient_DefaultRegionUsage(t *testing.T) { function TestMarshalDeleteObjects_EdgeCases (line 837) | func TestMarshalDeleteObjects_EdgeCases(t *testing.T) { function TestEncodeObjectIdentifier_AllFields (line 947) | func TestEncodeObjectIdentifier_AllFields(t *testing.T) { function TestComputeDeleteObjectsContentMD5_Deterministic (line 1041) | func TestComputeDeleteObjectsContentMD5_Deterministic(t *testing.T) { function TestParseHost (line 1071) | func TestParseHost(t *testing.T) { function TestReplicaClient_AccessPointARN (line 1150) | func TestReplicaClient_AccessPointARN(t *testing.T) { function TestReplicaClient_S3DebugEnvVar (line 1212) | func TestReplicaClient_S3DebugEnvVar(t *testing.T) { function TestReplicaClient_TigrisConsistentHeader (line 1301) | func TestReplicaClient_TigrisConsistentHeader(t *testing.T) { function TestReplicaClient_SSE_C_Validation (line 1355) | func TestReplicaClient_SSE_C_Validation(t *testing.T) { function TestReplicaClient_SSE_KMS_Configuration (line 1533) | func TestReplicaClient_SSE_KMS_Configuration(t *testing.T) { function TestReplicaClient_SSE_C_Headers (line 1560) | func TestReplicaClient_SSE_C_Headers(t *testing.T) { function TestReplicaClient_SSE_KMS_Headers (line 1679) | func TestReplicaClient_SSE_KMS_Headers(t *testing.T) { function TestReplicaClient_NoSSE_Headers (line 1735) | func TestReplicaClient_NoSSE_Headers(t *testing.T) { function TestReplicaClient_R2ConcurrencyDefault (line 1795) | func TestReplicaClient_R2ConcurrencyDefault(t *testing.T) { function TestReplicaClient_ProviderEndpointDetection (line 1835) | func TestReplicaClient_ProviderEndpointDetection(t *testing.T) { function TestReplicaClient_CustomEndpoint_DisablesChecksumFeatures (line 1892) | func TestReplicaClient_CustomEndpoint_DisablesChecksumFeatures(t *testin... function TestNewReplicaClientFromURL_QueryParamAliases (line 1940) | func TestNewReplicaClientFromURL_QueryParamAliases(t *testing.T) { function TestNewReplicaClientFromURL_EndpointEnvVar (line 2023) | func TestNewReplicaClientFromURL_EndpointEnvVar(t *testing.T) { FILE: server.go type SocketConfig (line 18) | type SocketConfig struct function DefaultSocketConfig (line 25) | func DefaultSocketConfig() SocketConfig { type Server (line 34) | type Server struct method Start (line 97) | func (s *Server) Start() error { method Close (line 144) | func (s *Server) Close() error { method expandPath (line 160) | func (s *Server) expandPath(path string) (string, error) { method handleStart (line 167) | func (s *Server) handleStart(w http.ResponseWriter, r *http.Request) { method handleStop (line 203) | func (s *Server) handleStop(w http.ResponseWriter, r *http.Request) { method handleTXID (line 239) | func (s *Server) handleTXID(w http.ResponseWriter, r *http.Request) { method handleSync (line 319) | func (s *Server) handleSync(w http.ResponseWriter, r *http.Request) { method handleList (line 392) | func (s *Server) handleList(w http.ResponseWriter, _ *http.Request) { method handleInfo (line 425) | func (s *Server) handleInfo(w http.ResponseWriter, _ *http.Request) { method handleRegister (line 486) | func (s *Server) handleRegister(w http.ResponseWriter, r *http.Request) { method handleUnregister (line 545) | func (s *Server) handleUnregister(w http.ResponseWriter, r *http.Reque... function NewServer (line 64) | func NewServer(store *Store) *Server { function writeJSON (line 269) | func writeJSON(w http.ResponseWriter, status int, v interface{}) { function writeJSONError (line 275) | func writeJSONError(w http.ResponseWriter, status int, message string, d... type StartRequest (line 285) | type StartRequest struct type StartResponse (line 291) | type StartResponse struct type StopRequest (line 297) | type StopRequest struct type StopResponse (line 303) | type StopResponse struct type ErrorResponse (line 309) | type ErrorResponse struct type TXIDResponse (line 315) | type TXIDResponse struct type SyncRequest (line 378) | type SyncRequest struct type SyncResponse (line 385) | type SyncResponse struct type ListResponse (line 438) | type ListResponse struct type DatabaseSummary (line 443) | type DatabaseSummary struct type InfoResponse (line 454) | type InfoResponse struct type RegisterDatabaseRequest (line 463) | type RegisterDatabaseRequest struct type RegisterDatabaseResponse (line 469) | type RegisterDatabaseResponse struct type UnregisterDatabaseRequest (line 475) | type UnregisterDatabaseRequest struct type UnregisterDatabaseResponse (line 481) | type UnregisterDatabaseResponse struct FILE: server_test.go function testSocketPath (line 23) | func testSocketPath(t *testing.T) string { function TestServer_HandleInfo (line 31) | func TestServer_HandleInfo(t *testing.T) { function TestServer_HandleList (line 63) | func TestServer_HandleList(t *testing.T) { function TestServer_HandleStart (line 220) | func TestServer_HandleStart(t *testing.T) { function TestServer_HandleStop (line 254) | func TestServer_HandleStop(t *testing.T) { function TestServer_HandleRegister (line 278) | func TestServer_HandleRegister(t *testing.T) { function TestServer_HandleUnregister (line 418) | func TestServer_HandleUnregister(t *testing.T) { function TestServer_HandleSync (line 503) | func TestServer_HandleSync(t *testing.T) { function newSocketClient (line 659) | func newSocketClient(t *testing.T, socketPath string) *http.Client { type stringReaderType (line 671) | type stringReaderType struct method Read (line 680) | func (r *stringReaderType) Read(p []byte) (n int, err error) { function stringReader (line 676) | func stringReader(s string) *stringReaderType { FILE: sftp/replica_client.go function init (line 25) | func init() { constant ReplicaClientType (line 30) | ReplicaClientType = "sftp" constant DefaultDialTimeout (line 34) | DefaultDialTimeout = 30 * time.Second type ReplicaClient (line 40) | type ReplicaClient struct method SetLogger (line 69) | func (c *ReplicaClient) SetLogger(logger *slog.Logger) { method Type (line 99) | func (c *ReplicaClient) Type() string { method Init (line 104) | func (c *ReplicaClient) Init(ctx context.Context) error { method init (line 110) | func (c *ReplicaClient) init(ctx context.Context) (_ *sftp.Client, err... method DeleteAll (line 184) | func (c *ReplicaClient) DeleteAll(ctx context.Context) (err error) { method LTXFiles (line 228) | func (c *ReplicaClient) LTXFiles(ctx context.Context, level int, seek ... method WriteLTXFile (line 267) | func (c *ReplicaClient) WriteLTXFile(ctx context.Context, level int, m... method OpenLTXFile (line 327) | func (c *ReplicaClient) OpenLTXFile(ctx context.Context, level int, mi... method DeleteLTXFiles (line 356) | func (c *ReplicaClient) DeleteLTXFiles(ctx context.Context, a []*ltx.F... method Cleanup (line 379) | func (c *ReplicaClient) Cleanup(ctx context.Context) (err error) { method resetOnConnError (line 394) | func (c *ReplicaClient) resetOnConnError(err error) { function NewReplicaClient (line 61) | func NewReplicaClient() *ReplicaClient { function NewReplicaClientFromURL (line 76) | func NewReplicaClientFromURL(scheme, host, urlPath string, query url.Val... FILE: src/litestream-vfs.c type sqlite3_api_routines (line 28) | struct sqlite3_api_routines function sqlite3_litestreamvfs_init (line 31) | int sqlite3_litestreamvfs_init(sqlite3 *db, char **pzErrMsg, const sqlit... function litestream_auto_extension (line 50) | static void litestream_auto_extension(sqlite3* db, const char** pzErrMsg... function litestream_register_connection (line 67) | static int litestream_register_connection(sqlite3* db) { function litestream_set_time_impl (line 89) | static void litestream_set_time_impl(sqlite3_context* ctx, int argc, sql... function litestream_time_impl (line 125) | static void litestream_time_impl(sqlite3_context* ctx, int argc, sqlite3... function litestream_txid_impl (line 142) | static void litestream_txid_impl(sqlite3_context* ctx, int argc, sqlite3... function litestream_lag_impl (line 159) | static void litestream_lag_impl(sqlite3_context* ctx, int argc, sqlite3_... function litestream_function_destroy (line 175) | static void litestream_function_destroy(void* db) { FILE: src/sqlite3.h type sqlite3 (line 272) | typedef struct sqlite3 sqlite3; type SQLITE_INT64_TYPE (line 291) | typedef SQLITE_INT64_TYPE sqlite_int64; type SQLITE_UINT64_TYPE (line 293) | typedef SQLITE_UINT64_TYPE sqlite_uint64; type sqlite_uint64 (line 295) | typedef unsigned SQLITE_INT64_TYPE sqlite_uint64; type __int64 (line 298) | typedef __int64 sqlite_int64; type sqlite_uint64 (line 299) | typedef unsigned __int64 sqlite_uint64; type sqlite_int64 (line 301) | typedef long long int sqlite_int64; type sqlite_uint64 (line 302) | typedef unsigned long long int sqlite_uint64; type sqlite_int64 (line 304) | typedef sqlite_int64 sqlite3_int64; type sqlite_uint64 (line 305) | typedef sqlite_uint64 sqlite3_uint64; type sqlite3_file (line 738) | typedef struct sqlite3_file sqlite3_file; type sqlite3_file (line 739) | struct sqlite3_file { type sqlite3_io_methods (line 845) | typedef struct sqlite3_io_methods sqlite3_io_methods; type sqlite3_io_methods (line 846) | struct sqlite3_io_methods { type sqlite3_mutex (line 1286) | typedef struct sqlite3_mutex sqlite3_mutex; type sqlite3_api_routines (line 1296) | typedef struct sqlite3_api_routines sqlite3_api_routines; type sqlite3_vfs (line 1487) | typedef struct sqlite3_vfs sqlite3_vfs; type sqlite3_vfs (line 1489) | struct sqlite3_vfs { type sqlite3_mem_methods (line 1788) | typedef struct sqlite3_mem_methods sqlite3_mem_methods; type sqlite3_mem_methods (line 1789) | struct sqlite3_mem_methods { type sqlite3_stmt (line 4222) | typedef struct sqlite3_stmt sqlite3_stmt; type sqlite3_value (line 4740) | typedef struct sqlite3_value sqlite3_value; type sqlite3_context (line 4754) | typedef struct sqlite3_context sqlite3_context; type sqlite3_vtab (line 7499) | typedef struct sqlite3_vtab sqlite3_vtab; type sqlite3_index_info (line 7500) | typedef struct sqlite3_index_info sqlite3_index_info; type sqlite3_vtab_cursor (line 7501) | typedef struct sqlite3_vtab_cursor sqlite3_vtab_cursor; type sqlite3_module (line 7502) | typedef struct sqlite3_module sqlite3_module; type sqlite3_module (line 7520) | struct sqlite3_module { type sqlite3_index_info (line 7666) | struct sqlite3_index_info { type sqlite3_vtab (line 7846) | struct sqlite3_vtab { type sqlite3_vtab_cursor (line 7870) | struct sqlite3_vtab_cursor { type sqlite3_blob (line 7916) | typedef struct sqlite3_blob sqlite3_blob; type sqlite3_mutex_methods (line 8366) | typedef struct sqlite3_mutex_methods sqlite3_mutex_methods; type sqlite3_mutex_methods (line 8367) | struct sqlite3_mutex_methods { type sqlite3_str (line 8634) | typedef struct sqlite3_str sqlite3_str; type sqlite3_pcache (line 9129) | typedef struct sqlite3_pcache sqlite3_pcache; type sqlite3_pcache_page (line 9141) | typedef struct sqlite3_pcache_page sqlite3_pcache_page; type sqlite3_pcache_page (line 9142) | struct sqlite3_pcache_page { type sqlite3_pcache_methods2 (line 9306) | typedef struct sqlite3_pcache_methods2 sqlite3_pcache_methods2; type sqlite3_pcache_methods2 (line 9307) | struct sqlite3_pcache_methods2 { type sqlite3_pcache_methods (line 9329) | typedef struct sqlite3_pcache_methods sqlite3_pcache_methods; type sqlite3_pcache_methods (line 9330) | struct sqlite3_pcache_methods { type sqlite3_backup (line 9355) | typedef struct sqlite3_backup sqlite3_backup; type sqlite3_snapshot (line 10735) | typedef struct sqlite3_snapshot { type sqlite3_rtree_geometry (line 11103) | typedef struct sqlite3_rtree_geometry sqlite3_rtree_geometry; type sqlite3_rtree_query_info (line 11104) | typedef struct sqlite3_rtree_query_info sqlite3_rtree_query_info; type sqlite3_int64 (line 11110) | typedef sqlite3_int64 sqlite3_rtree_dbl; type sqlite3_rtree_dbl (line 11112) | typedef double sqlite3_rtree_dbl; type sqlite3_rtree_geometry (line 11133) | struct sqlite3_rtree_geometry { type sqlite3_rtree_query_info (line 11165) | struct sqlite3_rtree_query_info { type sqlite3_session (line 11219) | typedef struct sqlite3_session sqlite3_session; type sqlite3_changeset_iter (line 11227) | typedef struct sqlite3_changeset_iter sqlite3_changeset_iter; type sqlite3_changegroup (line 12093) | typedef struct sqlite3_changegroup sqlite3_changegroup; type sqlite3_rebaser (line 12739) | typedef struct sqlite3_rebaser sqlite3_rebaser; type Fts5ExtensionApi (line 13055) | typedef struct Fts5ExtensionApi Fts5ExtensionApi; type Fts5Context (line 13056) | typedef struct Fts5Context Fts5Context; type Fts5PhraseIter (line 13057) | typedef struct Fts5PhraseIter Fts5PhraseIter; type Fts5PhraseIter (line 13067) | struct Fts5PhraseIter { type Fts5ExtensionApi (line 13368) | struct Fts5ExtensionApi { type Fts5Tokenizer (line 13649) | typedef struct Fts5Tokenizer Fts5Tokenizer; type fts5_tokenizer_v2 (line 13650) | typedef struct fts5_tokenizer_v2 fts5_tokenizer_v2; type fts5_tokenizer_v2 (line 13651) | struct fts5_tokenizer_v2 { type fts5_tokenizer (line 13677) | typedef struct fts5_tokenizer fts5_tokenizer; type fts5_tokenizer (line 13678) | struct fts5_tokenizer { type fts5_api (line 13714) | typedef struct fts5_api fts5_api; type fts5_api (line 13715) | struct fts5_api { FILE: src/sqlite3ext.h type sqlite3_api_routines (line 32) | struct sqlite3_api_routines { FILE: src/sqlite3vfs.h type s3vfsFile (line 10) | typedef struct s3vfsFile { FILE: store.go type DBNotReadyError (line 42) | type DBNotReadyError struct method Error (line 46) | func (e *DBNotReadyError) Error() string { method Is (line 53) | func (e *DBNotReadyError) Is(target error) bool { constant DefaultSnapshotInterval (line 60) | DefaultSnapshotInterval = 24 * time.Hour constant DefaultSnapshotRetention (line 61) | DefaultSnapshotRetention = 24 * time.Hour constant DefaultRetention (line 63) | DefaultRetention = 24 * time.Hour constant DefaultRetentionCheckInterval (line 64) | DefaultRetentionCheckInterval = 1 * time.Hour constant DefaultL0Retention (line 68) | DefaultL0Retention = 5 * time.Minute constant DefaultL0RetentionCheckInterval (line 72) | DefaultL0RetentionCheckInterval = 15 * time.Second constant DefaultHeartbeatCheckInterval (line 76) | DefaultHeartbeatCheckInterval = 15 * time.Second constant DefaultDBInitTimeout (line 80) | DefaultDBInitTimeout = 30 * time.Second type Store (line 87) | type Store struct method Open (line 167) | func (s *Store) Open(ctx context.Context) error { method Close (line 236) | func (s *Store) Close(ctx context.Context) (err error) { method DBs (line 260) | func (s *Store) DBs() []*DB { method RegisterDB (line 267) | func (s *Store) RegisterDB(db *DB) error { method UnregisterDB (line 323) | func (s *Store) UnregisterDB(ctx context.Context, path string) error { method EnableDB (line 358) | func (s *Store) EnableDB(ctx context.Context, path string) error { method DisableDB (line 381) | func (s *Store) DisableDB(ctx context.Context, path string) error { method SyncDB (line 409) | func (s *Store) SyncDB(ctx context.Context, path string, wait bool) (S... method FindDB (line 452) | func (s *Store) FindDB(path string) *DB { method SetL0Retention (line 466) | func (s *Store) SetL0Retention(d time.Duration) { method SetDone (line 477) | func (s *Store) SetDone(done <-chan struct{}) { method SetShutdownSyncTimeout (line 488) | func (s *Store) SetShutdownSyncTimeout(d time.Duration) { method SetShutdownSyncInterval (line 499) | func (s *Store) SetShutdownSyncInterval(d time.Duration) { method SetVerifyCompaction (line 510) | func (s *Store) SetVerifyCompaction(v bool) { method SetRetentionEnabled (line 520) | func (s *Store) SetRetentionEnabled(v bool) { method SnapshotLevel (line 531) | func (s *Store) SnapshotLevel() *CompactionLevel { method monitorCompactionLevel (line 538) | func (s *Store) monitorCompactionLevel(ctx context.Context, lvl *Compa... method monitorL0Retention (line 606) | func (s *Store) monitorL0Retention(ctx context.Context) { method startHeartbeatMonitorIfNeeded (line 638) | func (s *Store) startHeartbeatMonitorIfNeeded() { method hasHeartbeatConfigLocked (line 662) | func (s *Store) hasHeartbeatConfigLocked() bool { method monitorHeartbeats (line 669) | func (s *Store) monitorHeartbeats(ctx context.Context) { method sendHeartbeatIfNeeded (line 691) | func (s *Store) sendHeartbeatIfNeeded(ctx context.Context) { method allDatabasesHealthy (line 723) | func (s *Store) allDatabasesHealthy(since time.Time) bool { method CompactDB (line 745) | func (s *Store) CompactDB(ctx context.Context, db *DB, lvl *Compaction... method EnforceSnapshotRetention (line 803) | func (s *Store) EnforceSnapshotRetention(ctx context.Context, db *DB) ... method Validate (line 833) | func (s *Store) Validate(ctx context.Context) (*ValidationResult, erro... method monitorValidation (line 862) | func (s *Store) monitorValidation(ctx context.Context) { function NewStore (line 138) | func NewStore(dbs []*DB, levels CompactionLevels) *Store { type SyncDBResult (line 399) | type SyncDBResult struct type ValidationResult (line 826) | type ValidationResult struct FILE: store_compaction_remote_test.go function TestStore_CompactDB_RemotePartialRead (line 26) | func TestStore_CompactDB_RemotePartialRead(t *testing.T) { type delayedReplicaClient (line 105) | type delayedReplicaClient struct method Type (line 128) | func (c *delayedReplicaClient) Type() string { return "delayed" } method Init (line 130) | func (c *delayedReplicaClient) Init(context.Context) error { return nil } method SetLogger (line 132) | func (c *delayedReplicaClient) SetLogger(*slog.Logger) {} method key (line 134) | func (c *delayedReplicaClient) key(level int, min, max ltx.TXID) string { method LTXFiles (line 138) | func (c *delayedReplicaClient) LTXFiles(_ context.Context, level int, ... method OpenLTXFile (line 162) | func (c *delayedReplicaClient) OpenLTXFile(_ context.Context, level in... method WriteLTXFile (line 186) | func (c *delayedReplicaClient) WriteLTXFile(_ context.Context, level i... method DeleteLTXFiles (line 219) | func (c *delayedReplicaClient) DeleteLTXFiles(_ context.Context, a []*... method DeleteAll (line 228) | func (c *delayedReplicaClient) DeleteAll(context.Context) error { method waitForAvailability (line 235) | func (c *delayedReplicaClient) waitForAvailability() { type delayedFile (line 111) | type delayedFile struct function newDelayedReplicaClient (line 121) | func newDelayedReplicaClient(delay time.Duration) *delayedReplicaClient { function buildPartialSnapshot (line 241) | func buildPartialSnapshot(data []byte) ([]byte, error) { FILE: store_test.go function TestStore_CompactDB (line 18) | func TestStore_CompactDB(t *testing.T) { function TestStore_Integration (line 131) | func TestStore_Integration(t *testing.T) { function TestStore_SnapshotInterval_Default (line 263) | func TestStore_SnapshotInterval_Default(t *testing.T) { function TestStore_Validate (line 280) | func TestStore_Validate(t *testing.T) { function TestStore_ValidationMonitor (line 395) | func TestStore_ValidationMonitor(t *testing.T) { function TestStore_SetRetentionEnabled (line 442) | func TestStore_SetRetentionEnabled(t *testing.T) { FILE: tests/integration/boundary_test.go function Test1GBBoundary (line 14) | func Test1GBBoundary(t *testing.T) { function TestLockPageWithDifferentPageSizes (line 119) | func TestLockPageWithDifferentPageSizes(t *testing.T) { function containsAny (line 182) | func containsAny(s string, substrs []string) bool { function contains (line 191) | func contains(s, substr string) bool { function anySubstring (line 195) | func anySubstring(s, substr string) bool { FILE: tests/integration/compatibility_test.go function TestRestore_FormatConsistency (line 25) | func TestRestore_FormatConsistency(t *testing.T) { function TestRestore_MultipleSyncs (line 121) | func TestRestore_MultipleSyncs(t *testing.T) { function TestRestore_LTXFileValidation (line 190) | func TestRestore_LTXFileValidation(t *testing.T) { function TestRestore_CrossPlatformPaths (line 245) | func TestRestore_CrossPlatformPaths(t *testing.T) { function TestRestore_PointInTimeAccuracy (line 300) | func TestRestore_PointInTimeAccuracy(t *testing.T) { function createValidLTXData (line 358) | func createValidLTXData(t *testing.T, minTXID, maxTXID ltx.TXID, ts time... function TestBinaryCompatibility_CLIRestore (line 385) | func TestBinaryCompatibility_CLIRestore(t *testing.T) { function TestVersionMigration_DirectoryLayout (line 455) | func TestVersionMigration_DirectoryLayout(t *testing.T) { function TestCompaction_Compatibility (line 554) | func TestCompaction_Compatibility(t *testing.T) { FILE: tests/integration/comprehensive_soak_test.go function TestComprehensiveSoak (line 25) | func TestComprehensiveSoak(t *testing.T) { FILE: tests/integration/concurrent_test.go function TestRapidCheckpoints (line 17) | func TestRapidCheckpoints(t *testing.T) { function TestWALGrowth (line 137) | func TestWALGrowth(t *testing.T) { function TestConcurrentOperations (line 256) | func TestConcurrentOperations(t *testing.T) { function TestBusyTimeout (line 368) | func TestBusyTimeout(t *testing.T) { function getFileSize (line 476) | func getFileSize(path string) (int64, error) { FILE: tests/integration/directory_watcher_helpers.go type DirWatchTestDB (line 20) | type DirWatchTestDB struct method CreateDirectoryWatchConfig (line 52) | func (db *DirWatchTestDB) CreateDirectoryWatchConfig() (string, error) { function SetupDirectoryWatchTest (line 30) | func SetupDirectoryWatchTest(t *testing.T, name string, pattern string, ... function CreateDatabaseInDir (line 79) | func CreateDatabaseInDir(t *testing.T, dirPath, subDir, name string) str... function CreateDatabaseWithData (line 113) | func CreateDatabaseWithData(t *testing.T, dbPath string, rowCount int) e... function CreateFakeDatabase (line 157) | func CreateFakeDatabase(t *testing.T, dirPath, name string, content []by... function WaitForDatabaseInReplica (line 170) | func WaitForDatabaseInReplica(t *testing.T, replicaPath, dbPath string, ... function VerifyDatabaseRemoved (line 218) | func VerifyDatabaseRemoved(t *testing.T, replicaPath, dbPath string, tim... function CountDatabasesInReplica (line 244) | func CountDatabasesInReplica(replicaPath string) (int, error) { function StartContinuousWrites (line 270) | func StartContinuousWrites(ctx context.Context, t *testing.T, dbPath str... function CreateMultipleDatabasesConcurrently (line 314) | func CreateMultipleDatabasesConcurrently(t *testing.T, dirPath string, c... function GetRowCount (line 340) | func GetRowCount(dbPath, tableName string) (int, error) { function getRelativeDBPath (line 358) | func getRelativeDBPath(dbPath, replicaBase string) (string, error) { function hasLTXFiles (line 364) | func hasLTXFiles(dir string) (bool, error) { function CheckForCriticalErrors (line 379) | func CheckForCriticalErrors(t *testing.T, db *TestDB) ([]string, error) { FILE: tests/integration/directory_watcher_test.go function TestDirectoryWatcherBasicLifecycle (line 18) | func TestDirectoryWatcherBasicLifecycle(t *testing.T) { function TestDirectoryWatcherRapidConcurrentCreation (line 112) | func TestDirectoryWatcherRapidConcurrentCreation(t *testing.T) { function TestDirectoryWatcherRecursiveMode (line 165) | func TestDirectoryWatcherRecursiveMode(t *testing.T) { function TestDirectoryWatcherPatternMatching (line 233) | func TestDirectoryWatcherPatternMatching(t *testing.T) { function TestDirectoryWatcherNonSQLiteRejection (line 293) | func TestDirectoryWatcherNonSQLiteRejection(t *testing.T) { function TestDirectoryWatcherActiveConnections (line 350) | func TestDirectoryWatcherActiveConnections(t *testing.T) { function TestDirectoryWatcherRestartBehavior (line 433) | func TestDirectoryWatcherRestartBehavior(t *testing.T) { function TestDirectoryWatcherRenameOperations (line 529) | func TestDirectoryWatcherRenameOperations(t *testing.T) { function TestDirectoryWatcherLoadWithWrites (line 581) | func TestDirectoryWatcherLoadWithWrites(t *testing.T) { FILE: tests/integration/docker_helpers.go function RequireDocker (line 14) | func RequireDocker(t *testing.T) { function StartMinioTestContainer (line 21) | func StartMinioTestContainer(t *testing.T) (string, string) { function StopMinioTestContainer (line 46) | func StopMinioTestContainer(t *testing.T, name string) { function runDockerCommand (line 58) | func runDockerCommand(t *testing.T, args ...string) string { function parseDockerPort (line 68) | func parseDockerPort(t *testing.T, portInfo string) string { FILE: tests/integration/fixtures.go type LoadPattern (line 14) | type LoadPattern constant LoadPatternConstant (line 17) | LoadPatternConstant LoadPattern = "constant" constant LoadPatternBurst (line 18) | LoadPatternBurst LoadPattern = "burst" constant LoadPatternRandom (line 19) | LoadPatternRandom LoadPattern = "random" constant LoadPatternWave (line 20) | LoadPatternWave LoadPattern = "wave" type LoadConfig (line 23) | type LoadConfig struct function DefaultLoadConfig (line 32) | func DefaultLoadConfig() *LoadConfig { type PopulateConfig (line 43) | type PopulateConfig struct function DefaultPopulateConfig (line 52) | func DefaultPopulateConfig() *PopulateConfig { function CreateComplexTestSchema (line 63) | func CreateComplexTestSchema(db *sql.DB) error { function PopulateComplexTestData (line 103) | func PopulateComplexTestData(db *sql.DB, userCount, postsPerUser, commen... function generateRandomContent (line 183) | func generateRandomContent(length int) string { type TestScenario (line 195) | type TestScenario struct function LargeWALScenario (line 202) | func LargeWALScenario() *TestScenario { function RapidCheckpointsScenario (line 247) | func RapidCheckpointsScenario() *TestScenario { FILE: tests/integration/helpers.go type TestDB (line 24) | type TestDB struct method Create (line 109) | func (db *TestDB) Create() error { method CreateWithPageSize (line 123) | func (db *TestDB) CreateWithPageSize(pageSize int) error { method Populate (line 141) | func (db *TestDB) Populate(targetSize string) error { method PopulateWithOptions (line 160) | func (db *TestDB) PopulateWithOptions(targetSize string, pageSize int,... method GenerateLoad (line 181) | func (db *TestDB) GenerateLoad(ctx context.Context, writeRate int, dur... method StartLitestream (line 202) | func (db *TestDB) StartLitestream() error { method StartLitestreamWithConfig (line 235) | func (db *TestDB) StartLitestreamWithConfig(configPath string) error { method StopLitestream (line 262) | func (db *TestDB) StopLitestream() error { method Restore (line 277) | func (db *TestDB) Restore(outputPath string) error { method Validate (line 303) | func (db *TestDB) Validate(restoredPath string) error { method QuickValidate (line 322) | func (db *TestDB) QuickValidate(restoredPath string) error { method GetRowCount (line 341) | func (db *TestDB) GetRowCount(table string) (int, error) { method GetDatabaseSize (line 357) | func (db *TestDB) GetDatabaseSize() (int64, error) { method GetReplicaFileCount (line 373) | func (db *TestDB) GetReplicaFileCount() (int, error) { method WaitForReplicaFiles (line 382) | func (db *TestDB) WaitForReplicaFiles(minFiles int, timeout time.Durat... method GetLitestreamLog (line 398) | func (db *TestDB) GetLitestreamLog() (string, error) { method CheckForErrors (line 407) | func (db *TestDB) CheckForErrors() ([]string, error) { method Cleanup (line 424) | func (db *TestDB) Cleanup() { method WaitForSnapshots (line 429) | func (db *TestDB) WaitForSnapshots(timeout time.Duration) error { method IntegrityCheck (line 564) | func (db *TestDB) IntegrityCheck() error { method PrintTestSummary (line 582) | func (db *TestDB) PrintTestSummary(t *testing.T, testName string, star... function getBinaryPath (line 38) | func getBinaryPath(name string) string { function streamCommandOutput (line 46) | func streamCommandOutput() bool { function configureCmdIO (line 56) | func configureCmdIO(cmd *exec.Cmd) (bool, *bytes.Buffer, *bytes.Buffer) { function combinedOutput (line 70) | func combinedOutput(stdoutBuf, stderrBuf *bytes.Buffer) string { function SetupTestDB (line 81) | func SetupTestDB(t *testing.T, name string) *TestDB { function countLTXFiles (line 454) | func countLTXFiles(dir string) int { function GetTestDuration (line 462) | func GetTestDuration(t *testing.T, defaultDuration time.Duration) time.D... function RequireBinaries (line 472) | func RequireBinaries(t *testing.T) { function WriteS3AccessPointConfig (line 487) | func WriteS3AccessPointConfig(t *testing.T, dbPath, replicaURL, endpoint... function CreateTestTable (line 514) | func CreateTestTable(t *testing.T, dbPath string) error { function InsertTestData (line 533) | func InsertTestData(t *testing.T, dbPath string, count int) error { FILE: tests/integration/minio_soak_test.go function TestMinIOSoak (line 32) | func TestMinIOSoak(t *testing.T) { function logMinIOMetrics (line 304) | func logMinIOMetrics(t *testing.T, db *TestDB, containerID, bucket strin... function countMinIOLTXFiles (line 323) | func countMinIOLTXFiles(t *testing.T, containerID, bucket string) int { function getRowCountFromPath (line 348) | func getRowCountFromPath(dbPath, table string) (int, error) { FILE: tests/integration/overnight_s3_soak_test.go function TestOvernightS3Soak (line 33) | func TestOvernightS3Soak(t *testing.T) { function logS3Metrics (line 314) | func logS3Metrics(t *testing.T, db *TestDB, s3URL string) { function getRowCountFromPath (line 333) | func getRowCountFromPath(dbPath, table string) (int, error) { FILE: tests/integration/overnight_test.go function TestOvernightFile (line 14) | func TestOvernightFile(t *testing.T) { function TestOvernightComprehensive (line 132) | func TestOvernightComprehensive(t *testing.T) { FILE: tests/integration/profile_test.go function TestIdleCPUProfile (line 42) | func TestIdleCPUProfile(t *testing.T) { FILE: tests/integration/quick_test.go function TestQuickValidation (line 14) | func TestQuickValidation(t *testing.T) { FILE: tests/integration/s3_access_point_test.go function TestS3AccessPointLocalStack (line 23) | func TestS3AccessPointLocalStack(t *testing.T) { function newMinioS3Client (line 99) | func newMinioS3Client(t *testing.T, endpoint string, forcePathStyle bool... function createBucket (line 125) | func createBucket(t *testing.T, ctx context.Context, client *awss3.Clien... function clearBucket (line 133) | func clearBucket(ctx context.Context, client *awss3.Client, bucket strin... function waitForObjects (line 157) | func waitForObjects(t *testing.T, client *awss3.Client, bucket, prefix s... function compareRowCounts (line 187) | func compareRowCounts(srcPath, restoredPath string) error { function findUserTable (line 218) | func findUserTable(db *sql.DB) (string, error) { FILE: tests/integration/s3_restore_connection_drop_test.go function TestRestore_S3ConnectionDrop (line 23) | func TestRestore_S3ConnectionDrop(t *testing.T) { function startDockerNetwork (line 99) | func startDockerNetwork(t *testing.T) string { function removeDockerNetwork (line 106) | func removeDockerNetwork(name string) { function startMinioContainerForProxy (line 113) | func startMinioContainerForProxy(t *testing.T, networkName string) string { function startToxiproxyContainer (line 130) | func startToxiproxyContainer(t *testing.T, networkName string) (string, ... function stopDockerContainer (line 156) | func stopDockerContainer(name string) { function createMinioBucket (line 163) | func createMinioBucket(t *testing.T, networkName, minioName, bucket stri... function writeS3Config (line 176) | func writeS3Config(t *testing.T, dbPath, replicaURL, endpoint string) st... function insertLargeRows (line 203) | func insertLargeRows(dbPath string, rows int, blobSize int) error { function verifyRestoredRowCount (line 223) | func verifyRestoredRowCount(dbPath string, expected int) error { type toxiproxyClient (line 240) | type toxiproxyClient struct method createProxy (line 255) | func (c *toxiproxyClient) createProxy(t *testing.T, name, listen, upst... method addResetPeerToxic (line 265) | func (c *toxiproxyClient) addResetPeerToxic(t *testing.T, proxy, name ... method removeToxic (line 279) | func (c *toxiproxyClient) removeToxic(t *testing.T, proxy, name string) { method postJSON (line 296) | func (c *toxiproxyClient) postJSON(t *testing.T, path string, payload ... function newToxiproxyClient (line 245) | func newToxiproxyClient(t *testing.T, baseURL string) *toxiproxyClient { FILE: tests/integration/scenario_test.go function TestFreshStart (line 16) | func TestFreshStart(t *testing.T) { function TestDatabaseIntegrity (line 137) | func TestDatabaseIntegrity(t *testing.T) { function TestDatabaseDeletion (line 243) | func TestDatabaseDeletion(t *testing.T) { function min (line 337) | func min(a, b int) int { FILE: tests/integration/shutdown_retry_test.go function TestShutdownSyncRetry_429Errors (line 42) | func TestShutdownSyncRetry_429Errors(t *testing.T) { type rateLimitingProxy (line 258) | type rateLimitingProxy struct method ServeHTTP (line 299) | func (p *rateLimitingProxy) ServeHTTP(w http.ResponseWriter, r *http.R... method Reset (line 319) | func (p *rateLimitingProxy) Reset() { method Stats (line 323) | func (p *rateLimitingProxy) Stats() proxyStats { type proxyStats (line 270) | type proxyStats struct function newRateLimitingProxy (line 276) | func newRateLimitingProxy(t *testing.T, targetURL string, limit int) *ra... FILE: tests/integration/soak_helpers.go type S3Config (line 22) | type S3Config struct type TestInfo (line 34) | type TestInfo struct type ErrorStats (line 44) | type ErrorStats struct function isInteractive (line 52) | func isInteractive() bool { function promptYesNo (line 59) | func promptYesNo(t *testing.T, prompt string, defaultYes bool) bool { function promptYesNoDefaultNo (line 106) | func promptYesNoDefaultNo(t *testing.T, prompt string) bool { function promptYesNoDefaultYes (line 110) | func promptYesNoDefaultYes(t *testing.T, prompt string) bool { function StartMinIOContainer (line 115) | func StartMinIOContainer(t *testing.T) (containerID string, endpoint str... function StopMinIOContainer (line 167) | func StopMinIOContainer(t *testing.T, containerID string, volumeName str... function CreateMinIOBucket (line 185) | func CreateMinIOBucket(t *testing.T, containerID, bucket string) { function minioBucketExists (line 224) | func minioBucketExists(containerID, bucket string) bool { function clearMinIOBucket (line 236) | func clearMinIOBucket(containerID, bucket string) error { function waitForMinIOBucket (line 252) | func waitForMinIOBucket(containerID, bucket string, timeout time.Duratio... function CountMinIOObjects (line 267) | func CountMinIOObjects(t *testing.T, containerID, bucket string) int { function CheckAWSCredentials (line 290) | func CheckAWSCredentials(t *testing.T) (bucket, region string) { function TestS3Connectivity (line 312) | func TestS3Connectivity(t *testing.T, bucket string) { function CountS3Objects (line 324) | func CountS3Objects(t *testing.T, s3URL string) int { function GetS3StorageSize (line 343) | func GetS3StorageSize(t *testing.T, s3URL string) int64 { function CreateSoakConfig (line 366) | func CreateSoakConfig(dbPath, replicaURL string, s3Config *S3Config, sho... function setupSignalHandler (line 445) | func setupSignalHandler(t *testing.T, cancel context.CancelFunc, testInf... function performGracefulShutdown (line 512) | func performGracefulShutdown(t *testing.T, testInfo *TestInfo) { function getErrorStats (line 602) | func getErrorStats(db *TestDB) ErrorStats { function printProgress (line 638) | func printProgress(t *testing.T, elapsed, total time.Duration, errorStat... function printErrorDetails (line 694) | func printErrorDetails(t *testing.T, errorStats ErrorStats) { function shouldAbortTest (line 735) | func shouldAbortTest(errorStats ErrorStats, fileCount int, elapsed time.... function MonitorSoakTest (line 761) | func MonitorSoakTest(t *testing.T, db *TestDB, ctx context.Context, info... function LogSoakMetrics (line 872) | func LogSoakMetrics(t *testing.T, db *TestDB, testName string) { type SoakTestAnalysis (line 910) | type SoakTestAnalysis struct function AnalyzeSoakTest (line 927) | func AnalyzeSoakTest(t *testing.T, db *TestDB, duration time.Duration) *... function parseLog (line 965) | func parseLog(logPath string, analysis *SoakTestAnalysis) { function PrintSoakTestAnalysis (line 1026) | func PrintSoakTestAnalysis(t *testing.T, analysis *SoakTestAnalysis) { FILE: tests/integration/upgrade_test.go function TestUpgrade_V3ToV5 (line 20) | func TestUpgrade_V3ToV5(t *testing.T) { FILE: v3.go type PosV3 (line 14) | type PosV3 struct method IsZero (line 21) | func (p PosV3) IsZero() bool { method String (line 26) | func (p PosV3) String() string { type SnapshotInfoV3 (line 34) | type SnapshotInfoV3 struct method Pos (line 42) | func (info SnapshotInfoV3) Pos() PosV3 { type WALSegmentInfoV3 (line 47) | type WALSegmentInfoV3 struct method Pos (line 56) | func (info WALSegmentInfoV3) Pos() PosV3 { constant GenerationsDirV3 (line 62) | GenerationsDirV3 = "generations" constant SnapshotsDirV3 (line 63) | SnapshotsDirV3 = "snapshots" constant WALDirV3 (line 64) | WALDirV3 = "wal" function GenerationsPathV3 (line 68) | func GenerationsPathV3(root string) string { function GenerationPathV3 (line 73) | func GenerationPathV3(root, generation string) string { function SnapshotsPathV3 (line 78) | func SnapshotsPathV3(root, generation string) string { function WALPathV3 (line 83) | func WALPathV3(root, generation string) string { function SnapshotPathV3 (line 88) | func SnapshotPathV3(root, generation string, index int) string { function WALSegmentPathV3 (line 93) | func WALSegmentPathV3(root, generation string, index int, offset int64) ... function FormatSnapshotFilenameV3 (line 99) | func FormatSnapshotFilenameV3(index int) string { function FormatWALSegmentFilenameV3 (line 105) | func FormatWALSegmentFilenameV3(index int, offset int64) string { function ParseSnapshotFilenameV3 (line 117) | func ParseSnapshotFilenameV3(filename string) (index int, err error) { function ParseWALSegmentFilenameV3 (line 128) | func ParseWALSegmentFilenameV3(filename string) (index int, offset int64... function IsGenerationIDV3 (line 139) | func IsGenerationIDV3(s string) bool { type ReplicaClientV3 (line 145) | type ReplicaClientV3 interface FILE: v3_test.go function TestPosV3_IsZero (line 9) | func TestPosV3_IsZero(t *testing.T) { function TestPosV3_String (line 18) | func TestPosV3_String(t *testing.T) { function TestSnapshotInfoV3_Pos (line 33) | func TestSnapshotInfoV3_Pos(t *testing.T) { function TestWALSegmentInfoV3_Pos (line 41) | func TestWALSegmentInfoV3_Pos(t *testing.T) { function TestFormatSnapshotFilenameV3 (line 49) | func TestFormatSnapshotFilenameV3(t *testing.T) { function TestParseSnapshotFilenameV3 (line 66) | func TestParseSnapshotFilenameV3(t *testing.T) { function TestFormatWALSegmentFilenameV3 (line 109) | func TestFormatWALSegmentFilenameV3(t *testing.T) { function TestParseWALSegmentFilenameV3 (line 126) | func TestParseWALSegmentFilenameV3(t *testing.T) { function TestIsGenerationIDV3 (line 168) | func TestIsGenerationIDV3(t *testing.T) { function TestPathsV3 (line 192) | func TestPathsV3(t *testing.T) { function TestFormatParseRoundtrip (line 246) | func TestFormatParseRoundtrip(t *testing.T) { FILE: vfs.go constant DefaultPollInterval (line 31) | DefaultPollInterval = 1 * time.Second constant DefaultCacheSize (line 32) | DefaultCacheSize = 10 * 1024 * 1024 constant DefaultPageSize (line 33) | DefaultPageSize = 4096 constant pageFetchRetryAttempts (line 35) | pageFetchRetryAttempts = 6 constant pageFetchRetryDelay (line 36) | pageFetchRetryDelay = 15 * time.Millisecond type VFS (line 55) | type VFS struct method Open (line 127) | func (vfs *VFS) Open(name string, flags sqlite3vfs.OpenFlag) (sqlite3v... method openMainDB (line 140) | func (vfs *VFS) openMainDB(name string, flags sqlite3vfs.OpenFlag) (sq... method Delete (line 221) | func (vfs *VFS) Delete(name string, dirSync bool) error { method Access (line 236) | func (vfs *VFS) Access(name string, flag sqlite3vfs.AccessFlag) (bool,... method accessWAL (line 248) | func (vfs *VFS) accessWAL(name string, flag sqlite3vfs.AccessFlag) (bo... method FullPathname (line 252) | func (vfs *VFS) FullPathname(name string) string { method requiresTempFile (line 257) | func (vfs *VFS) requiresTempFile(flags sqlite3vfs.OpenFlag) bool { method ensureTempDir (line 270) | func (vfs *VFS) ensureTempDir() (string, error) { method canonicalTempName (line 282) | func (vfs *VFS) canonicalTempName(name string) string { method openTempFile (line 306) | func (vfs *VFS) openTempFile(name string, flags sqlite3vfs.OpenFlag) (... method deleteTempFile (line 343) | func (vfs *VFS) deleteTempFile(name string) error { method isTempFileName (line 361) | func (vfs *VFS) isTempFileName(name string) bool { method wasTempFileName (line 366) | func (vfs *VFS) wasTempFileName(name string) bool { method unregisterTempFile (line 375) | func (vfs *VFS) unregisterTempFile(name string) { method accessTempFile (line 383) | func (vfs *VFS) accessTempFile(name string, flag sqlite3vfs.AccessFlag... method trackTempFile (line 398) | func (vfs *VFS) trackTempFile(canonical, path string) func() { method loadTempFilePath (line 407) | func (vfs *VFS) loadTempFilePath(name string) (string, bool) { function NewVFS (line 118) | func NewVFS(client ReplicaClient, logger *slog.Logger) *VFS { function tempFilenameFromCanonical (line 293) | func tempFilenameFromCanonical(canonical string) (string, error) { function openFlagToOSFlag (line 418) | func openFlagToOSFlag(flag sqlite3vfs.OpenFlag) int { type localTempFile (line 439) | type localTempFile struct method Close (line 450) | func (tf *localTempFile) Close() error { method ReadAt (line 463) | func (tf *localTempFile) ReadAt(p []byte, off int64) (n int, err error) { method WriteAt (line 467) | func (tf *localTempFile) WriteAt(b []byte, off int64) (n int, err erro... method Truncate (line 471) | func (tf *localTempFile) Truncate(size int64) error { method Sync (line 475) | func (tf *localTempFile) Sync(flag sqlite3vfs.SyncType) error { method FileSize (line 479) | func (tf *localTempFile) FileSize() (int64, error) { method Lock (line 487) | func (tf *localTempFile) Lock(elock sqlite3vfs.LockType) error { method Unlock (line 495) | func (tf *localTempFile) Unlock(elock sqlite3vfs.LockType) error { method CheckReservedLock (line 500) | func (tf *localTempFile) CheckReservedLock() (bool, error) { method SectorSize (line 504) | func (tf *localTempFile) SectorSize() int64 { method DeviceCharacteristics (line 508) | func (tf *localTempFile) DeviceCharacteristics() sqlite3vfs.DeviceChar... function newLocalTempFile (line 446) | func newLocalTempFile(f *os.File, deleteOnClose bool, onClose func()) *l... type VFSFile (line 513) | type VFSFile struct method Pos (line 969) | func (f *VFSFile) Pos() ltx.Pos { method MaxTXID1 (line 976) | func (f *VFSFile) MaxTXID1() ltx.TXID { method LockType (line 983) | func (f *VFSFile) LockType() sqlite3vfs.LockType { method TargetTime (line 990) | func (f *VFSFile) TargetTime() *time.Time { method LatestLTXTime (line 1001) | func (f *VFSFile) LatestLTXTime() time.Time { method LastPollSuccess (line 1008) | func (f *VFSFile) LastPollSuccess() time.Time { method hasTargetTime (line 1014) | func (f *VFSFile) hasTargetTime() bool { method Open (line 1020) | func (f *VFSFile) Open() error { method openNewDatabase (line 1110) | func (f *VFSFile) openNewDatabase() error { method SetTargetTime (line 1166) | func (f *VFSFile) SetTargetTime(ctx context.Context, timestamp time.Ti... method ResetTime (line 1188) | func (f *VFSFile) ResetTime(ctx context.Context) error { method rebuildIndex (line 1200) | func (f *VFSFile) rebuildIndex(ctx context.Context, infos []*ltx.FileI... method buildIndexMap (line 1251) | func (f *VFSFile) buildIndexMap(ctx context.Context, infos []*ltx.File... method buildIndex (line 1283) | func (f *VFSFile) buildIndex(ctx context.Context, infos []*ltx.FileInf... method initHydration (line 1288) | func (f *VFSFile) initHydration(infos []*ltx.FileInfo) error { method runHydration (line 1302) | func (f *VFSFile) runHydration(infos []*ltx.FileInfo) { method applySyncedPagesToHydratedFile (line 1350) | func (f *VFSFile) applySyncedPagesToHydratedFile() error { method Close (line 1366) | func (f *VFSFile) Close() error { method ReadAt (line 1422) | func (f *VFSFile) ReadAt(p []byte, off int64) (n int, err error) { method WriteAt (line 1542) | func (f *VFSFile) WriteAt(b []byte, off int64) (n int, err error) { method readPageForWrite (line 1602) | func (f *VFSFile) readPageForWrite(pgno uint32, buf []byte) error { method Truncate (line 1632) | func (f *VFSFile) Truncate(size int64) error { method Sync (line 1671) | func (f *VFSFile) Sync(flag sqlite3vfs.SyncType) error { method SetWriteEnabled (line 1697) | func (f *VFSFile) SetWriteEnabled(enabled bool) error { method SetWriteEnabledWithTimeout (line 1715) | func (f *VFSFile) SetWriteEnabledWithTimeout(enabled bool, timeout tim... method syncLoop (line 1871) | func (f *VFSFile) syncLoop(stopCh <-chan struct{}, tickerCh <-chan tim... method syncToRemote (line 1892) | func (f *VFSFile) syncToRemote() error { method syncToRemoteWithLock (line 1900) | func (f *VFSFile) syncToRemoteWithLock() error { method checkForConflict (line 1971) | func (f *VFSFile) checkForConflict(ctx context.Context) error { method createLTXFromDirty (line 2006) | func (f *VFSFile) createLTXFromDirty() io.Reader { method initWriteBuffer (line 2088) | func (f *VFSFile) initWriteBuffer() error { method initWriteBufferWithLock (line 2097) | func (f *VFSFile) initWriteBufferWithLock() error { method writeToBuffer (line 2118) | func (f *VFSFile) writeToBuffer(pgno uint32, data []byte) error { method clearWriteBuffer (line 2141) | func (f *VFSFile) clearWriteBuffer() error { method FileSize (line 2153) | func (f *VFSFile) FileSize() (size int64, err error) { method Lock (line 2182) | func (f *VFSFile) Lock(elock sqlite3vfs.LockType) error { method Unlock (line 2231) | func (f *VFSFile) Unlock(elock sqlite3vfs.LockType) error { method CheckReservedLock (line 2279) | func (f *VFSFile) CheckReservedLock() (bool, error) { method SectorSize (line 2295) | func (f *VFSFile) SectorSize() int64 { method DeviceCharacteristics (line 2300) | func (f *VFSFile) DeviceCharacteristics() sqlite3vfs.DeviceCharacteris... method FileControl (line 2332) | func (f *VFSFile) FileControl(op int, pragmaName string, pragmaValue *... method currentTimeString (line 2441) | func (f *VFSFile) currentTimeString() string { method monitorReplicaClient (line 2471) | func (f *VFSFile) monitorReplicaClient(ctx context.Context) { method pollReplicaClient (line 2500) | func (f *VFSFile) pollReplicaClient(ctx context.Context) error { method pollLevel (line 2626) | func (f *VFSFile) pollLevel(ctx context.Context, level int, prevMaxTXI... method pageSizeBytes (line 2681) | func (f *VFSFile) pageSizeBytes() (uint32, error) { method waitForRestorePlan (line 2733) | func (f *VFSFile) waitForRestorePlan() ([]*ltx.FileInfo, error) { method startCompactionMonitors (line 2861) | func (f *VFSFile) startCompactionMonitors() { method Compact (line 2908) | func (f *VFSFile) Compact(ctx context.Context, level int) (*ltx.FileIn... method Snapshot (line 2917) | func (f *VFSFile) Snapshot(ctx context.Context) (*ltx.FileInfo, error) { method monitorCompaction (line 2990) | func (f *VFSFile) monitorCompaction(ctx context.Context, lvl *Compacti... method monitorSnapshots (line 3020) | func (f *VFSFile) monitorSnapshots(ctx context.Context) { method monitorL0Retention (line 3056) | func (f *VFSFile) monitorL0Retention(ctx context.Context) { type Hydrator (line 568) | type Hydrator struct method Init (line 594) | func (h *Hydrator) Init() error { method Complete (line 625) | func (h *Hydrator) Complete() bool { method SetComplete (line 630) | func (h *Hydrator) SetComplete() { method Disable (line 635) | func (h *Hydrator) Disable() { method TXID (line 640) | func (h *Hydrator) TXID() ltx.TXID { method SetTXID (line 647) | func (h *Hydrator) SetTXID(txid ltx.TXID) { method Err (line 654) | func (h *Hydrator) Err() error { method SetErr (line 661) | func (h *Hydrator) SetErr(err error) { method Status (line 668) | func (h *Hydrator) Status() ltx.CompactorStatus { method Restore (line 676) | func (h *Hydrator) Restore(ctx context.Context, infos []*ltx.FileInfo)... method CatchUp (line 726) | func (h *Hydrator) CatchUp(ctx context.Context, fromTXID, toTXID ltx.T... method ApplyLTX (line 755) | func (h *Hydrator) ApplyLTX(ctx context.Context, info *ltx.FileInfo) e... method ReadAt (line 793) | func (h *Hydrator) ReadAt(p []byte, off int64) (int, error) { method ApplyUpdates (line 812) | func (h *Hydrator) ApplyUpdates(ctx context.Context, updates map[uint3... method WritePage (line 832) | func (h *Hydrator) WritePage(pgno uint32, data []byte) error { method Truncate (line 844) | func (h *Hydrator) Truncate(size int64) error { method Close (line 852) | func (h *Hydrator) Close() error { method metaPath (line 880) | func (h *Hydrator) metaPath() string { method loadMeta (line 884) | func (h *Hydrator) loadMeta() (ltx.TXID, error) { method saveMeta (line 896) | func (h *Hydrator) saveMeta() error { function NewHydrator (line 583) | func NewHydrator(path string, persistent bool, pageSize uint32, client R... function syncDir (line 944) | func syncDir(path string) error { function NewVFSFile (line 953) | func NewVFSFile(client ReplicaClient, name string, logger *slog.Logger) ... function maxLevelTXID (line 1240) | func maxLevelTXID(infos []*ltx.FileInfo, level int) ltx.TXID { function parseTimeValue (line 2306) | func parseTimeValue(value string) (time.Time, error) { function isRetryablePageError (line 2451) | func isRetryablePageError(err error) bool { function detectPageSizeFromInfos (line 2692) | func detectPageSizeFromInfos(ctx context.Context, client ReplicaClient, ... function readPageSizeFromInfo (line 2711) | func readPageSizeFromInfo(ctx context.Context, client ReplicaClient, inf... function isSupportedPageSize (line 2724) | func isSupportedPageSize(pageSize uint32) bool { function RegisterVFSConnection (line 2764) | func RegisterVFSConnection(dbPtr uintptr, fileID uint64) error { function UnregisterVFSConnection (line 2773) | func UnregisterVFSConnection(dbPtr uintptr) { function SetVFSConnectionTime (line 2778) | func SetVFSConnectionTime(dbPtr uintptr, timestamp string) error { function ResetVFSConnectionTime (line 2792) | func ResetVFSConnectionTime(dbPtr uintptr) error { function GetVFSConnectionTime (line 2801) | func GetVFSConnectionTime(dbPtr uintptr) (string, error) { function GetVFSConnectionTXID (line 2810) | func GetVFSConnectionTXID(dbPtr uintptr) (string, error) { function GetVFSConnectionLag (line 2819) | func GetVFSConnectionLag(dbPtr uintptr) (int64, error) { function vfsFileForConnection (line 2831) | func vfsFileForConnection(dbPtr uintptr) (*VFSFile, error) { function lookupVFSFile (line 2847) | func lookupVFSFile(fileID uint64) (*VFSFile, bool) { FILE: vfs_compaction_test.go function TestVFSFile_Compact (line 16) | func TestVFSFile_Compact(t *testing.T) { function TestVFSFile_Snapshot (line 53) | func TestVFSFile_Snapshot(t *testing.T) { function TestDefaultCompactionLevels (line 102) | func TestDefaultCompactionLevels(t *testing.T) { function TestVFS_CompactionConfig (line 146) | func TestVFS_CompactionConfig(t *testing.T) { FILE: vfs_test.go function TestVFSFile_LockStateMachine (line 24) | func TestVFSFile_LockStateMachine(t *testing.T) { function TestVFSFile_PendingIndexIsolation (line 66) | func TestVFSFile_PendingIndexIsolation(t *testing.T) { function TestVFSFile_PendingIndexRace (line 116) | func TestVFSFile_PendingIndexRace(t *testing.T) { function TestVFSFileMonitorStopsOnCancel (line 176) | func TestVFSFileMonitorStopsOnCancel(t *testing.T) { function TestVFSFile_NonContiguousTXIDError (line 209) | func TestVFSFile_NonContiguousTXIDError(t *testing.T) { function TestVFSFile_IndexMemoryDoesNotGrowUnbounded (line 227) | func TestVFSFile_IndexMemoryDoesNotGrowUnbounded(t *testing.T) { function TestVFSFile_AutoVacuumShrinksCommit (line 252) | func TestVFSFile_AutoVacuumShrinksCommit(t *testing.T) { function TestVFSFile_PendingIndexReplacementRemovesStalePages (line 281) | func TestVFSFile_PendingIndexReplacementRemovesStalePages(t *testing.T) { function TestVFSFile_CorruptedPageIndexRecovery (line 327) | func TestVFSFile_CorruptedPageIndexRecovery(t *testing.T) { function TestVFSFile_OpenSeedsLevel1Position (line 337) | func TestVFSFile_OpenSeedsLevel1Position(t *testing.T) { function TestVFSFile_OpenSeedsLevel1PositionFromPos (line 363) | func TestVFSFile_OpenSeedsLevel1PositionFromPos(t *testing.T) { function TestVFSFile_HeaderForcesDeleteJournal (line 387) | func TestVFSFile_HeaderForcesDeleteJournal(t *testing.T) { function TestVFSFile_ReadAtLockPageBoundary (line 406) | func TestVFSFile_ReadAtLockPageBoundary(t *testing.T) { function TestVFS_TempFileLifecycleStress (line 453) | func TestVFS_TempFileLifecycleStress(t *testing.T) { function TestVFS_TempFileNameCollision (line 554) | func TestVFS_TempFileNameCollision(t *testing.T) { function TestVFS_TempFileSameBasenameDifferentDirs (line 596) | func TestVFS_TempFileSameBasenameDifferentDirs(t *testing.T) { function TestVFS_TempFileDeleteOnClose (line 649) | func TestVFS_TempFileDeleteOnClose(t *testing.T) { function TestLocalTempFileLocking (line 684) | func TestLocalTempFileLocking(t *testing.T) { function TestVFS_DeleteIgnoresMissingTempFiles (line 731) | func TestVFS_DeleteIgnoresMissingTempFiles(t *testing.T) { function TestVFS_TempDirExhaustion (line 780) | func TestVFS_TempDirExhaustion(t *testing.T) { function TestVFSFile_PollingCancelsBlockedLTXFiles (line 794) | func TestVFSFile_PollingCancelsBlockedLTXFiles(t *testing.T) { type mockReplicaClient (line 830) | type mockReplicaClient struct method Type (line 882) | func (c *mockReplicaClient) Type() string { return "mock" } method Init (line 884) | func (c *mockReplicaClient) Init(context.Context) error { return nil } method addFixture (line 886) | func (c *mockReplicaClient) addFixture(tb testing.TB, fx *ltxFixture) { method LTXFiles (line 894) | func (c *mockReplicaClient) LTXFiles(ctx context.Context, level int, s... method OpenLTXFile (line 906) | func (c *mockReplicaClient) OpenLTXFile(ctx context.Context, level int... method WriteLTXFile (line 924) | func (c *mockReplicaClient) WriteLTXFile(context.Context, int, ltx.TXI... method DeleteLTXFiles (line 928) | func (c *mockReplicaClient) DeleteLTXFiles(context.Context, []*ltx.Fil... method DeleteAll (line 932) | func (c *mockReplicaClient) DeleteAll(context.Context) error { method key (line 966) | func (c *mockReplicaClient) key(info *ltx.FileInfo) string { method makeKey (line 970) | func (c *mockReplicaClient) makeKey(level int, minTXID, maxTXID ltx.TX... type blockingReplicaClient (line 836) | type blockingReplicaClient struct method Type (line 936) | func (c *blockingReplicaClient) Type() string { return "blocking" } method LTXFiles (line 938) | func (c *blockingReplicaClient) LTXFiles(ctx context.Context, level in... method OpenLTXFile (line 950) | func (c *blockingReplicaClient) OpenLTXFile(ctx context.Context, level... method WriteLTXFile (line 954) | func (c *blockingReplicaClient) WriteLTXFile(ctx context.Context, leve... method DeleteLTXFiles (line 958) | func (c *blockingReplicaClient) DeleteLTXFiles(ctx context.Context, fi... method DeleteAll (line 962) | func (c *blockingReplicaClient) DeleteAll(ctx context.Context) error { type countingReplicaClient (line 844) | type countingReplicaClient struct method Type (line 850) | func (c *countingReplicaClient) Type() string { return "count" } method Init (line 852) | func (c *countingReplicaClient) Init(context.Context) error { return n... method LTXFiles (line 854) | func (c *countingReplicaClient) LTXFiles(ctx context.Context, level in... method OpenLTXFile (line 859) | func (c *countingReplicaClient) OpenLTXFile(context.Context, int, ltx.... method WriteLTXFile (line 863) | func (c *countingReplicaClient) WriteLTXFile(context.Context, int, ltx... method DeleteLTXFiles (line 867) | func (c *countingReplicaClient) DeleteLTXFiles(context.Context, []*ltx... method DeleteAll (line 869) | func (c *countingReplicaClient) DeleteAll(context.Context) error { ret... function newCountingReplicaClient (line 848) | func newCountingReplicaClient() *countingReplicaClient { return &countin... function newMockReplicaClient (line 871) | func newMockReplicaClient() *mockReplicaClient { function newBlockingReplicaClient (line 875) | func newBlockingReplicaClient() *blockingReplicaClient { type ltxFixture (line 974) | type ltxFixture struct function buildLTXFixture (line 979) | func buildLTXFixture(tb testing.TB, txid ltx.TXID, fill byte) *ltxFixture { function buildLTXFixtureWithPage (line 983) | func buildLTXFixtureWithPage(tb testing.TB, txid ltx.TXID, pageSize, pgn... function buildLTXFixtureWithPages (line 987) | func buildLTXFixtureWithPages(tb testing.TB, txid ltx.TXID, pageSize uin... function TestVFSFile_Hydration_Basic (line 1049) | func TestVFSFile_Hydration_Basic(t *testing.T) { function TestVFSFile_Hydration_ReadsDuringHydration (line 1095) | func TestVFSFile_Hydration_ReadsDuringHydration(t *testing.T) { function TestVFSFile_Hydration_CloseEarly (line 1125) | func TestVFSFile_Hydration_CloseEarly(t *testing.T) { function TestVFSFile_Hydration_Disabled (line 1151) | func TestVFSFile_Hydration_Disabled(t *testing.T) { function TestVFSFile_Hydration_IncrementalUpdates (line 1177) | func TestVFSFile_Hydration_IncrementalUpdates(t *testing.T) { function TestHydrator_Close_Persistent (line 1221) | func TestHydrator_Close_Persistent(t *testing.T) { function TestHydrator_Init_Resume (line 1251) | func TestHydrator_Init_Resume(t *testing.T) { function TestHydrator_Close_TempFile (line 1283) | func TestHydrator_Close_TempFile(t *testing.T) { function TestHydrator_Init_StaleMeta (line 1307) | func TestHydrator_Init_StaleMeta(t *testing.T) { function TestVFSFile_Hydration_PersistentResumeOnReopen (line 1331) | func TestVFSFile_Hydration_PersistentResumeOnReopen(t *testing.T) { FILE: vfs_write_test.go type writeTestReplicaClient (line 25) | type writeTestReplicaClient struct method Type (line 38) | func (c *writeTestReplicaClient) Type() string { return "test" } method Init (line 40) | func (c *writeTestReplicaClient) Init(ctx context.Context) error { ret... method LTXFiles (line 42) | func (c *writeTestReplicaClient) LTXFiles(ctx context.Context, level i... method OpenLTXFile (line 55) | func (c *writeTestReplicaClient) OpenLTXFile(ctx context.Context, leve... method WriteLTXFile (line 76) | func (c *writeTestReplicaClient) WriteLTXFile(ctx context.Context, lev... method DeleteLTXFiles (line 100) | func (c *writeTestReplicaClient) DeleteLTXFiles(ctx context.Context, a... method DeleteAll (line 104) | func (c *writeTestReplicaClient) DeleteAll(ctx context.Context) error { function newWriteTestReplicaClient (line 31) | func newWriteTestReplicaClient() *writeTestReplicaClient { function ltxKey (line 112) | func ltxKey(level int, minTXID, maxTXID ltx.TXID) string { type writeTestFileIterator (line 117) | type writeTestFileIterator struct method Next (line 122) | func (itr *writeTestFileIterator) Next() bool { method Item (line 130) | func (itr *writeTestFileIterator) Item() *ltx.FileInfo { method Close (line 137) | func (itr *writeTestFileIterator) Close() error { method Err (line 141) | func (itr *writeTestFileIterator) Err() error { function createTestLTXFile (line 146) | func createTestLTXFile(t *testing.T, client *writeTestReplicaClient, txi... function setupWriteableVFSFile (line 198) | func setupWriteableVFSFile(t *testing.T, client *writeTestReplicaClient)... function TestVFSFile_WriteEnabled (line 226) | func TestVFSFile_WriteEnabled(t *testing.T) { function TestVFSFile_WriteAt (line 260) | func TestVFSFile_WriteAt(t *testing.T) { function TestVFSFile_SyncToRemote (line 306) | func TestVFSFile_SyncToRemote(t *testing.T) { function TestVFSFile_ConflictDetection (line 351) | func TestVFSFile_ConflictDetection(t *testing.T) { function TestVFSFile_TransactionTracking (line 385) | func TestVFSFile_TransactionTracking(t *testing.T) { function TestVFSFile_Truncate (line 441) | func TestVFSFile_Truncate(t *testing.T) { function TestVFSFile_WriteBuffer (line 479) | func TestVFSFile_WriteBuffer(t *testing.T) { function TestVFSFile_WriteBufferDiscardedOnOpen (line 536) | func TestVFSFile_WriteBufferDiscardedOnOpen(t *testing.T) { function TestVFSFile_WriteBufferClearAfterSync (line 602) | func TestVFSFile_WriteBufferClearAfterSync(t *testing.T) { function TestVFSFile_OpenFailsWithInvalidBufferPath (line 650) | func TestVFSFile_OpenFailsWithInvalidBufferPath(t *testing.T) { function TestVFSFile_BufferFileAlwaysCreatedWhenWriteEnabled (line 671) | func TestVFSFile_BufferFileAlwaysCreatedWhenWriteEnabled(t *testing.T) { function TestVFSFile_OpenNewDatabase (line 698) | func TestVFSFile_OpenNewDatabase(t *testing.T) { function TestVFSFile_NewDatabase_ReadReturnsZeros (line 742) | func TestVFSFile_NewDatabase_ReadReturnsZeros(t *testing.T) { function TestVFSFile_NewDatabase_WriteAndSync (line 780) | func TestVFSFile_NewDatabase_WriteAndSync(t *testing.T) { function TestVFSFile_NewDatabase_FileSize (line 841) | func TestVFSFile_NewDatabase_FileSize(t *testing.T) { function TestSetWriteEnabled_ReadValue (line 885) | func TestSetWriteEnabled_ReadValue(t *testing.T) { function TestSetWriteEnabled_ReadValueEnabled (line 912) | func TestSetWriteEnabled_ReadValueEnabled(t *testing.T) { function TestSetWriteEnabled_DisableSyncsDirtyPages (line 937) | func TestSetWriteEnabled_DisableSyncsDirtyPages(t *testing.T) { function TestSetWriteEnabled_DisableWaitsForTransaction (line 984) | func TestSetWriteEnabled_DisableWaitsForTransaction(t *testing.T) { function TestSetWriteEnabled_EnableAfterDisable (line 1061) | func TestSetWriteEnabled_EnableAfterDisable(t *testing.T) { function TestSetWriteEnabled_DisableWithTimeout (line 1104) | func TestSetWriteEnabled_DisableWithTimeout(t *testing.T) { function TestSetWriteEnabled_ColdEnable (line 1157) | func TestSetWriteEnabled_ColdEnable(t *testing.T) { function TestSetWriteEnabled_NoOpWhenAlreadyInState (line 1216) | func TestSetWriteEnabled_NoOpWhenAlreadyInState(t *testing.T) { function TestSetWriteEnabled_FileControlWrite (line 1254) | func TestSetWriteEnabled_FileControlWrite(t *testing.T) { function TestSetWriteEnabled_InvalidValue (line 1328) | func TestSetWriteEnabled_InvalidValue(t *testing.T) { type failingWriteClient (line 1354) | type failingWriteClient struct method WriteLTXFile (line 1367) | func (c *failingWriteClient) WriteLTXFile(ctx context.Context, level i... function newFailingWriteClient (line 1360) | func newFailingWriteClient(failAfter int) *failingWriteClient { function TestSetWriteEnabled_SyncFailureKeepsWritesEnabled (line 1379) | func TestSetWriteEnabled_SyncFailureKeepsWritesEnabled(t *testing.T) { function TestSetWriteEnabled_DisablingPreventsNewTransactions (line 1444) | func TestSetWriteEnabled_DisablingPreventsNewTransactions(t *testing.T) { function TestSetWriteEnabled_ConcurrentEnableDisable (line 1517) | func TestSetWriteEnabled_ConcurrentEnableDisable(t *testing.T) { function TestLock_BlocksDuringDisable (line 1573) | func TestLock_BlocksDuringDisable(t *testing.T) { function TestLock_BlocksDuringDisable_MultipleWaiters (line 1667) | func TestLock_BlocksDuringDisable_MultipleWaiters(t *testing.T) { function openWriteVFSFile (line 1774) | func openWriteVFSFile(t *testing.T, vfs *VFS) *VFSFile { function TestVFS_MultipleConnections_NoFalseConflict (line 1785) | func TestVFS_MultipleConnections_NoFalseConflict(t *testing.T) { function TestVFS_WriteLockBlocksConcurrentWriters (line 1836) | func TestVFS_WriteLockBlocksConcurrentWriters(t *testing.T) { function TestVFS_ConcurrentOpenAllSucceed (line 1873) | func TestVFS_ConcurrentOpenAllSucceed(t *testing.T) { function TestVFS_UniqueBufferPaths (line 1912) | func TestVFS_UniqueBufferPaths(t *testing.T) { function TestVFS_RealConflict_StillDetected (line 1929) | func TestVFS_RealConflict_StillDetected(t *testing.T) { function TestVFS_CloseReleasesWriteSlot (line 1959) | func TestVFS_CloseReleasesWriteSlot(t *testing.T) { FILE: wal_reader.go type WALReader (line 19) | type WALReader struct method PageSize (line 78) | func (r *WALReader) PageSize() uint32 { return r.pageSize } method Offset (line 82) | func (r *WALReader) Offset() int64 { method readHeader (line 90) | func (r *WALReader) readHeader() error { method ReadFrame (line 133) | func (r *WALReader) ReadFrame(ctx context.Context, data []byte) (pgno,... method readFrame (line 137) | func (r *WALReader) readFrame(_ context.Context, data []byte, verifyCh... method PageMap (line 192) | func (r *WALReader) PageMap(ctx context.Context) (m map[uint32]int64, ... method FrameSaltsUntil (line 247) | func (r *WALReader) FrameSaltsUntil(ctx context.Context, until [2]uint... function NewWALReader (line 34) | func NewWALReader(rd io.ReaderAt, logger *slog.Logger) (*WALReader, erro... function NewWALReaderWithOffset (line 45) | func NewWALReaderWithOffset(ctx context.Context, rd io.ReaderAt, offset ... function WALChecksum (line 273) | func WALChecksum(bo binary.ByteOrder, s0, s1 uint32, b []byte) (uint32, ... type PrevFrameMismatchError (line 284) | type PrevFrameMismatchError struct method Error (line 288) | func (e *PrevFrameMismatchError) Error() string { method Unwrap (line 292) | func (e *PrevFrameMismatchError) Unwrap() error { FILE: wal_reader_test.go function TestWALReader (line 15) | func TestWALReader(t *testing.T) { function TestWALReader_FrameSaltsUntil (line 249) | func TestWALReader_FrameSaltsUntil(t *testing.T) { FILE: webdav/replica_client.go function init (line 23) | func init() { constant ReplicaClientType (line 28) | ReplicaClientType = "webdav" constant DefaultTimeout (line 31) | DefaultTimeout = 30 * time.Second type ReplicaClient (line 36) | type ReplicaClient struct method SetLogger (line 55) | func (c *ReplicaClient) SetLogger(logger *slog.Logger) { method Type (line 87) | func (c *ReplicaClient) Type() string { method Init (line 91) | func (c *ReplicaClient) Init(ctx context.Context) error { method init (line 97) | func (c *ReplicaClient) init(ctx context.Context) (_ *gowebdav.Client,... method DeleteAll (line 121) | func (c *ReplicaClient) DeleteAll(ctx context.Context) error { method LTXFiles (line 136) | func (c *ReplicaClient) LTXFiles(ctx context.Context, level int, seek ... method WriteLTXFile (line 236) | func (c *ReplicaClient) WriteLTXFile(ctx context.Context, level int, m... method OpenLTXFile (line 301) | func (c *ReplicaClient) OpenLTXFile(ctx context.Context, level int, mi... method DeleteLTXFiles (line 353) | func (c *ReplicaClient) DeleteLTXFiles(ctx context.Context, a []*ltx.F... function NewReplicaClient (line 48) | func NewReplicaClient() *ReplicaClient { function NewReplicaClientFromURL (line 62) | func NewReplicaClientFromURL(scheme, host, urlPath string, query url.Val... FILE: webdav/replica_client_test.go function TestReplicaClient_Type (line 21) | func TestReplicaClient_Type(t *testing.T) { function TestReplicaClient_Init_RequiresURL (line 28) | func TestReplicaClient_Init_RequiresURL(t *testing.T) { function TestReplicaClient_DeleteAll_NotFound (line 39) | func TestReplicaClient_DeleteAll_NotFound(t *testing.T) { function TestReplicaClient_LTXFiles_PathNotFound (line 54) | func TestReplicaClient_LTXFiles_PathNotFound(t *testing.T) { function TestReplicaClient_OpenLTXFile_RangeFallback (line 75) | func TestReplicaClient_OpenLTXFile_RangeFallback(t *testing.T) { function TestReplicaClient_OpenLTXFile_OffsetOnly (line 108) | func TestReplicaClient_OpenLTXFile_OffsetOnly(t *testing.T) { function newTestReplicaClient (line 142) | func newTestReplicaClient(baseURL string) *webdav.ReplicaClient { function buildLTXPayload (line 150) | func buildLTXPayload(minTXID, maxTXID ltx.TXID, payload []byte) []byte { type fakeWebDAVServer (line 164) | type fakeWebDAVServer struct method ServeHTTP (line 180) | func (s *fakeWebDAVServer) ServeHTTP(w http.ResponseWriter, r *http.Re... method handleGet (line 204) | func (s *fakeWebDAVServer) handleGet(w http.ResponseWriter, r *http.Re... method handleDelete (line 229) | func (s *fakeWebDAVServer) handleDelete(w http.ResponseWriter, r *http... method handlePropfind (line 245) | func (s *fakeWebDAVServer) handlePropfind(w http.ResponseWriter, r *ht... function newFakeWebDAVServer (line 172) | func newFakeWebDAVServer() *fakeWebDAVServer { function parseRange (line 273) | func parseRange(header string, size int) (start, end int, err error) {