MCPcopy Index your code

hub / github.com/Shopify/ghostferry / functions

Functions1,224 in github.com/Shopify/ghostferry

↓ 193 callersMethodquery
(sql, exclude_marginalia: false, annotations: [DEFAULT_ANNOTATION])
test/helpers/db_helper.rb:20
↓ 133 callersMethodError
(args ...any)
logger.go:21
↓ 133 callersMethodErrorf
(format string, args ...any)
logger.go:22
↓ 117 callersMethodExec
(query string, args ...interface{})
sqlwrapper/ghostferry_db.go:36
↓ 80 callersMethodString
String returns a human-readable representation for logging and debugging.
pagination_key.go:27
↓ 77 callersMethodon_status
TODO: eventually we should merge status and callback into a callback system within Ghostferry. Right now the "status" is sent by integrationferry, whe
test/helpers/ghostferry_helper.rb:353
↓ 74 callersFunctionPanicIfError
(err error)
testhelpers/helper_methods.go:15
↓ 74 callersMethodWithError
(err error)
logger.go:27
↓ 73 callersMethodRun
()
testhelpers/data_writer.go:102
↓ 57 callersFunctionLogWithField
--- Public factory functions (dispatch to active backend) --- LogWithField creates a new Logger with a single key-value field. This is the primary way
logger.go:120
↓ 56 callersMethodInfo
(args ...any)
logger.go:17
↓ 46 callersFunctionNewUint64Key
(value uint64)
pagination_key.go:45
↓ 46 callersMethodrun
The main method to call to run a Ghostferry subprocess.
test/helpers/ghostferry_helper.rb:97
↓ 43 callersMethodWithField
(key string, value any)
logger.go:25
↓ 41 callersFunctionSeedInitialData
(db *sql.DB, dbname, tablename string, numberOfRows int)
testhelpers/data_writer.go:60
↓ 37 callersMethodAdd
(entry ReverifyEntry)
iterative_verifier.go:47
↓ 37 callersFunctionNewBinaryKey
(value []byte)
pagination_key.go:106
↓ 36 callersMethodQueryRow
(query string, args ...interface{})
sqlwrapper/ghostferry_db.go:48
↓ 34 callersMethodjoin
test/helpers/data_writer_helper.rb:70
↓ 33 callersFunctionLoadTables
(db *sql.DB, tableFilter TableFilter, columnCompressionConfig ColumnCompressionConfig, columnIgnoreConfig Colu
table_schema_cache.go:153
↓ 30 callersMethodGetPaginationColumn
GetPaginationColumn retrieves PaginationKeyColumn
table_schema_cache.go:309
↓ 30 callersMethodrun_expecting_interrupt
When using this method, you need to ensure that the datawriter has been stopped properly (if you're using stop_datawriter_during_cutover).
test/helpers/ghostferry_helper.rb:115
↓ 29 callersMethodDebug
(args ...any)
logger.go:15
↓ 29 callersFunctionNewTestFerry
()
testhelpers/test_ferry.go:68
↓ 28 callersMethodFatal
(from string, err error)
error_handler.go:15
↓ 28 callersMethodprepare
(sql, exclude_marginalia: false, annotations: [DEFAULT_ANNOTATION])
test/helpers/db_helper.rb:29
↓ 25 callersFunctionSetLogBackend
SetLogBackend switches the active logging backend. This should be called once at program startup, before any loggers are created. If an unknown backen
logger.go:101
↓ 24 callersMethodRun
(context.Context)
throttler.go:17
↓ 23 callersMethodQuery
(query string, args ...interface{})
sqlwrapper/ghostferry_db.go:44
↓ 23 callersMethodWithFields
(fields Fields)
logger.go:26
↓ 22 callersMethodSQLValue
SQLValue returns the value to use in SQL WHERE clauses (e.g., WHERE id > ?).
pagination_key.go:19
↓ 22 callersMethodValidateConfig
()
config.go:826
↓ 20 callersMethodWait
Wait for the verifier until it finishes verification after it was started with the StartInBackground. A verification is "done" when it verified the d
verifier.go:73
↓ 19 callersFunctionSetLogLevel
SetLogLevel sets the global log level for the active backend.
logger.go:153
↓ 19 callersMethodTableSchema
()
dml_events.go:75
↓ 18 callersMethodGet
()
utils.go:80
↓ 18 callersMethodRun
()
testhelpers/integration_test_case.go:34
↓ 17 callersMethodAsSlice
()
table_schema_cache.go:317
↓ 17 callersMethodInitialize
()
testhelpers/test_ferry.go:76
↓ 17 callersFunctionQuotedTableNameFromString
(database, table string)
table_schema_cache.go:124
↓ 17 callersMethodThrottled
()
throttler.go:13
↓ 16 callersMethodAsSQLString
(string, string)
dml_events.go:76
↓ 16 callersMethodBuildSelect
BuildSelect is used to set up the query used for batch data copying, allowing for restricting copying to a subset of data. Returning an error here wil
filter.go:18
↓ 16 callersMethodGetHashes
(ids []uint64)
test/go/iterative_verifier_test.go:350
↓ 16 callersMethodSendStatusAndWaitUntilContinue
========================================= Code for integration server communication =========================================
test/lib/go/integrationferry/ferry.go:55
↓ 16 callersMethodWait
()
testhelpers/data_writer.go:104
↓ 15 callersFunctionLogWithFields
LogWithFields creates a new Logger with multiple key-value fields.
logger.go:128
↓ 15 callersFunctionSetupTest
()
testhelpers/unit_test_suite.go:15
↓ 14 callersFunctionQuoteField
(field string)
utils.go:276
↓ 14 callersMethodSqlDB
(logger Logger)
config.go:169
↓ 14 callersMethodWarn
(args ...any)
logger.go:19
↓ 14 callersFunctionWithRetries
(maxRetries int, sleep time.Duration, logger Logger, verb string, f func() error)
utils.go:20
↓ 13 callersMethodBinlogPosition
()
dml_events.go:80
↓ 13 callersFunctionDbApplicabilityFilter
(applicableDbs []string)
testhelpers/test_table_filter.go:26
↓ 13 callersMethodInsertRowInDb
(id int, data string, db *sql.DB)
test/go/iterative_verifier_test.go:312
↓ 13 callersFunctionSetLogJSONFormatter
SetLogJSONFormatter configures the active backend to output JSON. For zerolog this is a no-op since JSON is the default format.
logger.go:163
↓ 13 callersFunctionerrorAndExit
(msg string)
sharding/cmd/main.go:69
↓ 13 callersMethodrun_with_logs
(resuming_state = nil)
test/helpers/ghostferry_helper.rb:133
↓ 13 callersFunctionuseBackend
useBackend switches backend, sets debug level, and directs output to buf.
test/go/logger_test.go:47
↓ 11 callersMethodAddEventListener
(listener func([]DMLEvent) error)
binlog_streamer.go:335
↓ 11 callersMethodCompare
Compare returns -1, 0, or 1 if this key is less than, equal to, or greater than other.
pagination_key.go:23
↓ 11 callersMethodCount
(key string, value int64, tags []MetricTag, sampleRate float64)
metrics.go:48
↓ 11 callersMethodInfof
(format string, args ...any)
logger.go:18
↓ 11 callersFunctionNewBinlogInsertEvents
(eventBase *DMLEventBase, rowsEvent *replication.RowsEvent)
dml_events.go:149
↓ 11 callersMethodTable
()
dml_events.go:74
↓ 11 callersMethodValues
()
row_batch.go:25
↓ 10 callersFunctionAddTenantID
(db *sql.DB, dbName, tableName string, numberOfTenants int)
testhelpers/data_writer.go:89
↓ 10 callersMethodColumnName
ColumnName returns the column name this key belongs to, if known.
pagination_key.go:21
↓ 10 callersMethodInsertCompressedRowInDb
(id int, data string, db *sql.DB)
test/go/iterative_verifier_test.go:317
↓ 10 callersFunctionerrorAndExit
(msg string)
copydb/cmd/main.go:29
↓ 10 callersMethodnow
test/helpers/ghostferry_helper.rb:418
↓ 10 callersMethodsend_signal
(signal)
test/helpers/ghostferry_helper.rb:365
↓ 9 callersMethodMeasure
(key string, tags []MetricTag, sampleRate float64, f func())
metrics.go:91
↓ 9 callersFunctionNewDMLEventBase
(table *TableSchema, pos, resumablePos mysql.Position, query []byte, timestamp time.Time)
dml_events.go:134
↓ 9 callersFunctionNewPaginationKeyFromRow
NewPaginationKeyFromRow extracts a pagination key from a row at the given index. It determines the appropriate key type based on the column schema.
pagination_key.go:257
↓ 9 callersFunctionNewUint64KeyWithColumn
(column string, value uint64)
pagination_key.go:49
↓ 9 callersMethodPaginationKeyIndex
()
row_batch.go:42
↓ 9 callersMethodRollback
()
cursor.go:32
↓ 9 callersMethodVerifyDuringCutover
This is called during cutover and should give the result of the verification.
verifier.go:59
↓ 9 callersMethodfull_table_name
(db, table)
test/helpers/db_helper.rb:39
↓ 9 callersFunctionsetLag
(throttler *ghostferry.LagThrottler, serverId int, lag float32)
test/go/lag_throttler_test.go:47
↓ 8 callersFunctionAnnotateStmt
AnnotateStmt annotates a single SQL statement with the configured marginalia. *NOTE* This is NOT SAFE to use with multiple SQL statements as it naive
sqlwrapper/ghostferry_db.go:107
↓ 8 callersMethodConnectBinlogStreamerToMysql
()
binlog_streamer.go:112
↓ 8 callersFunctionUnmarshalPaginationKey
(data []byte)
pagination_key.go:187
↓ 8 callersMethodValidate
()
config.go:131
↓ 8 callersMethodensureInitialized
()
ferry.go:1097
↓ 8 callersFunctiongetBackend
getBackend returns the currently active backend type.
logger.go:93
↓ 8 callersMethodterm_and_wait_for_exit
test/helpers/ghostferry_helper.rb:378
↓ 7 callersMethodAddBatchListener
(listener func(*RowBatch) error)
data_iterator.go:199
↓ 7 callersMethodAllTableNames
()
table_schema_cache.go:325
↓ 7 callersMethodAnnotation
()
dml_events.go:82
↓ 7 callersMethodDatabase
()
dml_events.go:73
↓ 7 callersMethodFingerprintQuery
This query returns the MD5 hash for a row on this table. This query is valid for both the source and the target shard. Any compressed columns specifi
table_schema_cache.go:60
↓ 7 callersMethodGauge
(key string, value float64, tags []MetricTag, sampleRate float64)
metrics.go:64
↓ 7 callersMethodGetBatchSize
(schemaName string, tableName string)
cursor.go:66
↓ 7 callersFunctionGetLogBackend
GetLogBackend returns the currently active logging backend.
logger.go:112
↓ 7 callersMethodInsertRow
(id int, data string)
test/go/iterative_verifier_test.go:308
↓ 7 callersFunctionLogWithError
LogWithError creates a new Logger with an error field.
logger.go:136
↓ 7 callersFunctionMaxPaginationKey
(column *schema.TableColumn)
pagination_key.go:233
↓ 7 callersFunctionMinPaginationKey
(column *schema.TableColumn)
pagination_key.go:219
next →1–100 of 1,224, ranked by callers