MCPcopy Create free account

hub / github.com/Shopify/ghostferry / functions

Functions1,224 in github.com/Shopify/ghostferry

↓ 2 callersFunctionaddTypesToTable
(db *sql.DB, dbName, tableName string)
test/go/types_integration_test.go:13
↓ 2 callersFunctionappendEscapedString
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 callersFunctionapplySlogAttrToLogger
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 callersMethodassertParamSet
(param, value string)
config.go:182
↓ 2 callersFunctionbuildStringMapForWhere
(columns []schema.TableColumn, values []interface{})
dml_events.go:364
↓ 2 callersMethodcompareFingerprints
(paginationKeys []interface{}, table *TableSchema)
iterative_verifier.go:579
↓ 2 callersFunctioncompareHashes
(source, target map[string][]byte)
iterative_verifier.go:643
↓ 2 callersMethodcompareHashesAndData
(sourceHashes, targetHashes map[string][]byte, sourceData, targetData map[string]map[string][]byte)
inline_verifier.go:722
↓ 2 callersFunctioncompileRegexps
(exps []string)
sharding/sharding.go:246
↓ 2 callersFunctioncontains
(s []string, item string)
copydb/filter.go:13
↓ 2 callersMethodcopyDataFromSourceToTarget
()
test/go/verifier_test.go:136
↓ 2 callersMethodcopyDataFromSourceToTargetTable
(tablename string)
test/go/verifier_test.go:140
↓ 2 callersMethoddecompressData
(table *TableSchema, column string, compressed []byte)
inline_verifier.go:605
↓ 2 callersMethoddropTestDbs
()
sharding/testhelpers/unit_test_suite.go:178
↓ 2 callersFunctiondropTestTables
(this *TableSchemaCacheTestSuite)
test/go/table_schema_cache_test.go:25
↓ 2 callersMethodfetchChecksumValueFromRow
(row *sqlorig.Row)
verifier.go:195
↓ 2 callersMethodfetchStatus
()
control_server.go:226
↓ 2 callersMethodfindColumnByName
(name string)
table_schema_cache.go:235
↓ 2 callersMethodflushStore
()
iterative_verifier.go:103
↓ 2 callersFunctiongetBinlogStatusCommand
(db *sql.DB)
utils.go:199
↓ 2 callersMethodgetFingerprintDataFromDb
(db *sql.DB, stmtCache *StmtCache, schemaName, tableName string, tx *sql.Tx, table *TableSchema, paginationKey
inline_verifier.go:535
↓ 2 callersMethodgetFingerprintDataFromTargetDb
(schemaName, tableName string, tx *sql.Tx, table *TableSchema, paginationKeys []interface{})
inline_verifier.go:531
↓ 2 callersMethodgetIdFromModifyIdRange
(table string)
testhelpers/data_writer.go:251
↓ 2 callersFunctiongetPortFromEnv
(env string, defaultVal uint64)
testhelpers/test_ferry.go:117
↓ 2 callersFunctionisNilValue
(value interface{})
dml_events.go:402
↓ 2 callersMethodisPresent
(table *ghostferry.TableSchema)
sharding/filter.go:315
↓ 2 callersFunctionisVersionAtLeast
(version string, targetVersion string)
utils.go:191
↓ 2 callersMethoditerateAllTables
(mismatchedPaginationKeyFunc func(string, *TableSchema) error)
iterative_verifier.go:365
↓ 2 callersFunctionjoinSlogPrefix
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 callersFunctionloadFixtureFromFile
(path string)
testhelpers/unit_test_suite.go:48
↓ 2 callersFunctionmodifyDataColumnInSourceDB
(ferry *testhelpers.TestFerry)
test/go/iterative_verifier_integration_test.go:279
↓ 2 callersMethodnewBinlogStreamer
(db *sql.DB, dbConf *DatabaseConfig, schemaRewrites, tableRewrites map[string]string, logTag string)
ferry.go:146
↓ 2 callersFunctionnewGlobalZerolog
(w io.Writer)
zerolog_logger.go:36
↓ 2 callersFunctionnewMockBinlogVerifySerializedStore
()
test/go/inline_verifier_test.go:10
↓ 2 callersMethodnewRowsEvent
(rowData []interface{})
sharding/test/copy_filter_test.go:324
↓ 2 callersFunctionnormalizeAndQuoteColumn
(column schema.TableColumn)
iterative_verifier.go:693
↓ 2 callersMethodon_term
test/test_helper.rb:148
↓ 2 callersFunctionparseShardingValue
(values []interface{}, index int)
sharding/filter.go:324
↓ 2 callersMethodprint_output
test/test_helper.rb:53
↓ 2 callersMethodrand_data
(length: 32)
test/helpers/db_helper.rb:43
↓ 2 callersMethodreaddMismatchedPaginationKeysToBeVerifiedAgain
(mismatches map[string]map[string][]InlineVerifierMismatches)
inline_verifier.go:759
↓ 2 callersMethodrecreateTable
(db *sql.DB)
test/go/wait_until_replica_is_caught_up_to_master_test.go:45
↓ 2 callersMethodresetDbs
()
testhelpers/unit_test_suite.go:87
↓ 2 callersMethodrestore
()
test/go/logger_test.go:31
↓ 2 callersMethodseed
(nrows: 100000, ncols: 4, row_size: 25 * 4 * 1024, insert_batch_size: 4000)
benchmark/ghostferry_benchmark.rb:72
↓ 2 callersFunctionsetColumnType
(db *sql.DB, schema, table, column, columnType string)
sharding/testhelpers/unit_test_suite.go:196
↓ 2 callersMethodsetReadOnly
(db *sql.DB)
test/go/replication_config_test.go:82
↓ 2 callersMethodstart
(&on_write)
test/helpers/data_writer_helper.rb:58
↓ 2 callersMethodstop_and_join
test/helpers/data_writer_helper.rb:65
↓ 2 callersMethodtableIsIgnored
(table *TableSchema)
iterative_verifier.go:553
↓ 2 callersMethodupdateHeartbeatMasterPos
(db *sql.DB, pos mysql.Position)
test/go/wait_until_replica_is_caught_up_to_master_test.go:58
↓ 2 callersMethodverifyStore
(sourceTag string, additionalTags []MetricTag)
iterative_verifier.go:436
↓ 1 callersMethodAbortIfTargetDbNoLongerWriteable
()
sharding/sharding.go:291
↓ 1 callersMethodAddConsumer
()
metrics.go:97
↓ 1 callersMethodApplicableDatabases
([]string)
filter.go:30
↓ 1 callersMethodApplicableDatabases
(dbs []string)
copydb/filter.go:45
↓ 1 callersMethodApplicableTables
([]*TableSchema)
filter.go:29
↓ 1 callersMethodApplicableTables
(tables []*ghostferry.TableSchema)
copydb/filter.go:65
↓ 1 callersMethodAssertDifferent
(data, from, to string)
test/go/iterative_verifier_collation_test.go:70
↓ 1 callersMethodBatches
(batchsize int)
inline_verifier.go:190
↓ 1 callersMethodBufferBinlogEvents
(events []DMLEvent)
binlog_writer.go:82
↓ 1 callersMethodCheckFingerprintInline
(tx *sql.Tx, targetSchema, targetTable string, sourceBatch *RowBatch, enforceInlineVerification bool)
inline_verifier.go:331
↓ 1 callersMethodCompare
(other PaginationKey)
pagination_key.go:61
↓ 1 callersMethodCompressedColumnsFor
(schemaName, tableName string)
config.go:325
↓ 1 callersFunctionConvertTableColumnsToStrings
(columns []schema.TableColumn)
utils.go:261
↓ 1 callersMethodCurrent
(*sql.DB)
wait_until_replica_is_caught_up_to_master.go:14
↓ 1 callersMethodCurrentEntriesCount
()
inline_verifier.go:228
↓ 1 callersMethodCurrentRowCount
()
inline_verifier.go:224
↓ 1 callersMethodDecompress
Decompress will apply the configured decompression algorithm to the configured columns data
compression_verifier.go:154
↓ 1 callersFunctionDefaultBuildSelect
(columns []string, table *TableSchema, lastPaginationKey PaginationKey, batchSize uint64)
cursor.go:307
↓ 1 callersMethodDeleteData
()
testhelpers/data_writer.go:232
↓ 1 callersMethodDoneConsumer
()
metrics.go:101
↓ 1 callersMethodEntriesCount
()
inline_verifier.go:73
↓ 1 callersMethodEstimatedPaginationKeysPerSecond
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 callersMethodExecContext
(ctx context.Context, query string, args ...interface{})
sqlwrapper/ghostferry_db.go:28
↓ 1 callersMethodFallbackPaginationColumnName
FallbackPaginationColumnName retreives the column name specified as a fallback when the Primary Key isn't suitable for pagination
config.go:412
↓ 1 callersMethodFatal
(from string, err error)
testhelpers/error_handler.go:11
↓ 1 callersMethodFetch
(db SqlPreparer)
cursor.go:161
↓ 1 callersMethodFingerprints
()
row_batch.go:58
↓ 1 callersMethodGetPaginationKeyIndex
()
table_schema_cache.go:313
↓ 1 callersMethodHashRow
HashRow will fingerprint the non-primary columns of the row to verify data equality
compression_verifier.go:170
↓ 1 callersMethodIgnoredColumnsFor
(schemaName, tableName string)
config.go:343
↓ 1 callersMethodIndexFor
(schemaName, tableName string)
config.go:361
↓ 1 callersMethodInitialize
()
control_server.go:88
↓ 1 callersMethodInitialize
()
batch_writer.go:45
↓ 1 callersMethodInitialize
()
copydb/copydb.go:28
↓ 1 callersMethodInitialize
()
sharding/sharding.go:101
↓ 1 callersFunctionInitializeMetrics
(prefix string, config *Config)
sharding/metrics.go:17
↓ 1 callersMethodInsertData
()
testhelpers/data_writer.go:184
↓ 1 callersMethodIsCompressedTable
IsCompressedTable will identify whether or not a table is compressed
compression_verifier.go:190
↓ 1 callersMethodIsMax
()
pagination_key.go:159
↓ 1 callersMethodIsTableComplete
(table string)
state_tracker.go:253
↓ 1 callersMethodLastSuccessfulPaginationKey
(table string, tableSchema *TableSchema)
state_tracker.go:229
↓ 1 callersFunctionMaskedDSN
(c *mysql.Config)
ferry.go:41
↓ 1 callersFunctionMaxPaginationKeys
(db *sql.DB, tables []*TableSchema, logger Logger)
table_schema_cache.go:128
↓ 1 callersMethodMessage
Returns arbitrary message that is consumed by the control server. Can just be "".
verifier.go:77
↓ 1 callersMethodNewBatchWriterWithoutStateTracker
()
ferry.go:205
↓ 1 callersFunctionNewBinlogDMLEvents
(table *TableSchema, ev *replication.BinlogEvent, pos, resumablePos mysql.Position, query []byte)
dml_events.go:281
↓ 1 callersFunctionNewBinlogVerifyStoreFromSerialized
(serialized BinlogVerifySerializedStore)
inline_verifier.go:116
↓ 1 callersMethodNewChecksumTableVerifier
()
ferry.go:211
← previousnext →301–400 of 1,224, ranked by callers