Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/Shopify/ghostferry
/ functions
Functions
1,224 in github.com/Shopify/ghostferry
⨍
Functions
1,224
◇
Types & classes
176
↓ 2 callers
Function
addTypesToTable
(db *sql.DB, dbName, tableName string)
test/go/types_integration_test.go:13
↓ 2 callers
Function
appendEscapedString
appendEscapedString replaces single quotes with quote-escaped single quotes. When the NO_BACKSLASH_ESCAPES mode is on, this is the extent of escaping
dml_events.go:513
↓ 2 callers
Function
applySlogAttrToLogger
applySlogAttrToLogger attaches a single slog.Attr to a Logger as a field. Groups are flattened using dot-separated keys (e.g. slog.Group("db", "host",
slog_handler.go:88
↓ 2 callers
Method
assertParamSet
(param, value string)
config.go:182
↓ 2 callers
Function
buildStringMapForWhere
(columns []schema.TableColumn, values []interface{})
dml_events.go:364
↓ 2 callers
Method
compareFingerprints
(paginationKeys []interface{}, table *TableSchema)
iterative_verifier.go:579
↓ 2 callers
Function
compareHashes
(source, target map[string][]byte)
iterative_verifier.go:643
↓ 2 callers
Method
compareHashesAndData
(sourceHashes, targetHashes map[string][]byte, sourceData, targetData map[string]map[string][]byte)
inline_verifier.go:722
↓ 2 callers
Function
compileRegexps
(exps []string)
sharding/sharding.go:246
↓ 2 callers
Function
contains
(s []string, item string)
copydb/filter.go:13
↓ 2 callers
Method
copyDataFromSourceToTarget
()
test/go/verifier_test.go:136
↓ 2 callers
Method
copyDataFromSourceToTargetTable
(tablename string)
test/go/verifier_test.go:140
↓ 2 callers
Method
decompressData
(table *TableSchema, column string, compressed []byte)
inline_verifier.go:605
↓ 2 callers
Method
dropTestDbs
()
sharding/testhelpers/unit_test_suite.go:178
↓ 2 callers
Function
dropTestTables
(this *TableSchemaCacheTestSuite)
test/go/table_schema_cache_test.go:25
↓ 2 callers
Method
fetchChecksumValueFromRow
(row *sqlorig.Row)
verifier.go:195
↓ 2 callers
Method
fetchStatus
()
control_server.go:226
↓ 2 callers
Method
findColumnByName
(name string)
table_schema_cache.go:235
↓ 2 callers
Method
flushStore
()
iterative_verifier.go:103
↓ 2 callers
Function
getBinlogStatusCommand
(db *sql.DB)
utils.go:199
↓ 2 callers
Method
getFingerprintDataFromDb
(db *sql.DB, stmtCache *StmtCache, schemaName, tableName string, tx *sql.Tx, table *TableSchema, paginationKey
inline_verifier.go:535
↓ 2 callers
Method
getFingerprintDataFromTargetDb
(schemaName, tableName string, tx *sql.Tx, table *TableSchema, paginationKeys []interface{})
inline_verifier.go:531
↓ 2 callers
Method
getIdFromModifyIdRange
(table string)
testhelpers/data_writer.go:251
↓ 2 callers
Function
getPortFromEnv
(env string, defaultVal uint64)
testhelpers/test_ferry.go:117
↓ 2 callers
Function
isNilValue
(value interface{})
dml_events.go:402
↓ 2 callers
Method
isPresent
(table *ghostferry.TableSchema)
sharding/filter.go:315
↓ 2 callers
Function
isVersionAtLeast
(version string, targetVersion string)
utils.go:191
↓ 2 callers
Method
iterateAllTables
(mismatchedPaginationKeyFunc func(string, *TableSchema) error)
iterative_verifier.go:365
↓ 2 callers
Function
joinSlogPrefix
joinSlogPrefix concatenates prefix and key with a dot, eliding the dot when either part is empty. This mirrors the behaviour of zerolog's SlogHandler.
slog_handler.go:107
↓ 2 callers
Function
loadFixtureFromFile
(path string)
testhelpers/unit_test_suite.go:48
↓ 2 callers
Function
modifyDataColumnInSourceDB
(ferry *testhelpers.TestFerry)
test/go/iterative_verifier_integration_test.go:279
↓ 2 callers
Method
newBinlogStreamer
(db *sql.DB, dbConf *DatabaseConfig, schemaRewrites, tableRewrites map[string]string, logTag string)
ferry.go:146
↓ 2 callers
Function
newGlobalZerolog
(w io.Writer)
zerolog_logger.go:36
↓ 2 callers
Function
newMockBinlogVerifySerializedStore
()
test/go/inline_verifier_test.go:10
↓ 2 callers
Method
newRowsEvent
(rowData []interface{})
sharding/test/copy_filter_test.go:324
↓ 2 callers
Function
normalizeAndQuoteColumn
(column schema.TableColumn)
iterative_verifier.go:693
↓ 2 callers
Method
on_term
test/test_helper.rb:148
↓ 2 callers
Function
parseShardingValue
(values []interface{}, index int)
sharding/filter.go:324
↓ 2 callers
Method
print_output
test/test_helper.rb:53
↓ 2 callers
Method
rand_data
(length: 32)
test/helpers/db_helper.rb:43
↓ 2 callers
Method
readdMismatchedPaginationKeysToBeVerifiedAgain
(mismatches map[string]map[string][]InlineVerifierMismatches)
inline_verifier.go:759
↓ 2 callers
Method
recreateTable
(db *sql.DB)
test/go/wait_until_replica_is_caught_up_to_master_test.go:45
↓ 2 callers
Method
resetDbs
()
testhelpers/unit_test_suite.go:87
↓ 2 callers
Method
restore
()
test/go/logger_test.go:31
↓ 2 callers
Method
seed
(nrows: 100000, ncols: 4, row_size: 25 * 4 * 1024, insert_batch_size: 4000)
benchmark/ghostferry_benchmark.rb:72
↓ 2 callers
Function
setColumnType
(db *sql.DB, schema, table, column, columnType string)
sharding/testhelpers/unit_test_suite.go:196
↓ 2 callers
Method
setReadOnly
(db *sql.DB)
test/go/replication_config_test.go:82
↓ 2 callers
Method
start
(&on_write)
test/helpers/data_writer_helper.rb:58
↓ 2 callers
Method
stop_and_join
test/helpers/data_writer_helper.rb:65
↓ 2 callers
Method
tableIsIgnored
(table *TableSchema)
iterative_verifier.go:553
↓ 2 callers
Method
updateHeartbeatMasterPos
(db *sql.DB, pos mysql.Position)
test/go/wait_until_replica_is_caught_up_to_master_test.go:58
↓ 2 callers
Method
verifyStore
(sourceTag string, additionalTags []MetricTag)
iterative_verifier.go:436
↓ 1 callers
Method
AbortIfTargetDbNoLongerWriteable
()
sharding/sharding.go:291
↓ 1 callers
Method
AddConsumer
()
metrics.go:97
↓ 1 callers
Method
ApplicableDatabases
([]string)
filter.go:30
↓ 1 callers
Method
ApplicableDatabases
(dbs []string)
copydb/filter.go:45
↓ 1 callers
Method
ApplicableTables
([]*TableSchema)
filter.go:29
↓ 1 callers
Method
ApplicableTables
(tables []*ghostferry.TableSchema)
copydb/filter.go:65
↓ 1 callers
Method
AssertDifferent
(data, from, to string)
test/go/iterative_verifier_collation_test.go:70
↓ 1 callers
Method
Batches
(batchsize int)
inline_verifier.go:190
↓ 1 callers
Method
BufferBinlogEvents
(events []DMLEvent)
binlog_writer.go:82
↓ 1 callers
Method
CheckFingerprintInline
(tx *sql.Tx, targetSchema, targetTable string, sourceBatch *RowBatch, enforceInlineVerification bool)
inline_verifier.go:331
↓ 1 callers
Method
Compare
(other PaginationKey)
pagination_key.go:61
↓ 1 callers
Method
CompressedColumnsFor
(schemaName, tableName string)
config.go:325
↓ 1 callers
Function
ConvertTableColumnsToStrings
(columns []schema.TableColumn)
utils.go:261
↓ 1 callers
Method
Current
(*sql.DB)
wait_until_replica_is_caught_up_to_master.go:14
↓ 1 callers
Method
CurrentEntriesCount
()
inline_verifier.go:228
↓ 1 callers
Method
CurrentRowCount
()
inline_verifier.go:224
↓ 1 callers
Method
Decompress
Decompress will apply the configured decompression algorithm to the configured columns data
compression_verifier.go:154
↓ 1 callers
Function
DefaultBuildSelect
(columns []string, table *TableSchema, lastPaginationKey PaginationKey, batchSize uint64)
cursor.go:307
↓ 1 callers
Method
DeleteData
()
testhelpers/data_writer.go:232
↓ 1 callers
Method
DoneConsumer
()
metrics.go:101
↓ 1 callers
Method
EntriesCount
()
inline_verifier.go:73
↓ 1 callers
Method
EstimatedPaginationKeysPerSecond
This is reasonably accurate if the rows copied are distributed uniformly between paginationKey = 0 -> max(paginationKey). It would not be accurate if
state_tracker.go:263
↓ 1 callers
Method
ExecContext
(ctx context.Context, query string, args ...interface{})
sqlwrapper/ghostferry_db.go:28
↓ 1 callers
Method
FallbackPaginationColumnName
FallbackPaginationColumnName retreives the column name specified as a fallback when the Primary Key isn't suitable for pagination
config.go:412
↓ 1 callers
Method
Fatal
(from string, err error)
testhelpers/error_handler.go:11
↓ 1 callers
Method
Fetch
(db SqlPreparer)
cursor.go:161
↓ 1 callers
Method
Fingerprints
()
row_batch.go:58
↓ 1 callers
Method
GetPaginationKeyIndex
()
table_schema_cache.go:313
↓ 1 callers
Method
HashRow
HashRow will fingerprint the non-primary columns of the row to verify data equality
compression_verifier.go:170
↓ 1 callers
Method
IgnoredColumnsFor
(schemaName, tableName string)
config.go:343
↓ 1 callers
Method
IndexFor
(schemaName, tableName string)
config.go:361
↓ 1 callers
Method
Initialize
()
control_server.go:88
↓ 1 callers
Method
Initialize
()
batch_writer.go:45
↓ 1 callers
Method
Initialize
()
copydb/copydb.go:28
↓ 1 callers
Method
Initialize
()
sharding/sharding.go:101
↓ 1 callers
Function
InitializeMetrics
(prefix string, config *Config)
sharding/metrics.go:17
↓ 1 callers
Method
InsertData
()
testhelpers/data_writer.go:184
↓ 1 callers
Method
IsCompressedTable
IsCompressedTable will identify whether or not a table is compressed
compression_verifier.go:190
↓ 1 callers
Method
IsMax
()
pagination_key.go:159
↓ 1 callers
Method
IsTableComplete
(table string)
state_tracker.go:253
↓ 1 callers
Method
LastSuccessfulPaginationKey
(table string, tableSchema *TableSchema)
state_tracker.go:229
↓ 1 callers
Function
MaskedDSN
(c *mysql.Config)
ferry.go:41
↓ 1 callers
Function
MaxPaginationKeys
(db *sql.DB, tables []*TableSchema, logger Logger)
table_schema_cache.go:128
↓ 1 callers
Method
Message
Returns arbitrary message that is consumed by the control server. Can just be "".
verifier.go:77
↓ 1 callers
Method
NewBatchWriterWithoutStateTracker
()
ferry.go:205
↓ 1 callers
Function
NewBinlogDMLEvents
(table *TableSchema, ev *replication.BinlogEvent, pos, resumablePos mysql.Position, query []byte)
dml_events.go:281
↓ 1 callers
Function
NewBinlogVerifyStoreFromSerialized
(serialized BinlogVerifySerializedStore)
inline_verifier.go:116
↓ 1 callers
Method
NewChecksumTableVerifier
()
ferry.go:211
← previous
next →
301–400 of 1,224, ranked by callers