Versions in this module Expand all Collapse all v1 v1.2.0 Feb 6, 2026 Changes in this version + const TestCompressedColumn1Name + const TestCompressedData1 + const TestCompressedData2 + const TestCompressedTable1Name + const TestSchemaName + const TestTable1Name + var ApplicableTestDbs = []string + var TestCompressedData3 = loadFixtureFromFile("urls1.snappy") + var TestCompressedData4 = loadFixtureFromFile("urls2.snappy") + var TestSourcePort = getPortFromEnv("N1_PORT", 29291) + var TestTargetPort = getPortFromEnv("N2_PORT", 29292) + func AddTenantID(db *sql.DB, dbName, tableName string, numberOfTenants int) + func AssertQueriesHaveEqualResult(t *testing.T, ferry *ghostferry.Ferry, query string, args ...interface{}) []map[string]interface + func AssertTwoQueriesHaveEqualResult(t *testing.T, ferry *ghostferry.Ferry, sourceQuery string, targetQuery string, ...) []map[string]interface + func DbApplicabilityFilter(applicableDbs []string) func([]string) []string + func FixturePath(name string) string + func LoadResults(rows *sqlorig.Rows) (out []map[string]interface{}, err error) + func NewTestConfig() *ghostferry.Config + func PanicIfError(err error) + func ProcessListContainsQueries(db *sql.DB, queries []string) bool + func RandByteData() []byte + func RandData() string + func RandLatin1Data() string + func RandUTF8MB4Data() string + func SeedInitialData(db *sql.DB, dbname, tablename string, numberOfRows int) + func SetupTest() + type DataWriter interface + Run func() + SetDB func(*sql.DB) + Stop func() + Wait func() + type ErrorHandler struct + LastError error + func (this *ErrorHandler) Fatal(from string, err error) + func (this *ErrorHandler) ReportError(from string, err error) + type GhostferryUnitTestSuite struct + Ferry *ghostferry.Ferry + TestFerry *TestFerry + func (this *GhostferryUnitTestSuite) SeedSourceDB(numberOfRows int) + func (this *GhostferryUnitTestSuite) SeedTargetDB(numberOfRows int) + func (this *GhostferryUnitTestSuite) SetupTest() + func (this *GhostferryUnitTestSuite) TearDownTest() + type IntegrationTestCase struct + AfterRowCopyIsComplete func(*TestFerry, *sql.DB, *sql.DB) + AfterStartBinlogStreaming func(*TestFerry, *sql.DB, *sql.DB) + AfterStoppedBinlogStreaming func(*TestFerry, *sql.DB, *sql.DB) + BeforeStoppingBinlogStreaming func(*TestFerry, *sql.DB, *sql.DB) + CustomVerifyAction func(*TestFerry, *sql.DB, *sql.DB) + DataWriter DataWriter + DisableChecksumVerifier bool + Ferry *TestFerry + SetupAction func(*TestFerry, *sql.DB, *sql.DB) + SourceDB *sql.DB + T *testing.T + TargetDB *sql.DB + Verifier *ghostferry.ChecksumTableVerifier + func (this *IntegrationTestCase) AssertOnlyDataOnSourceAndTargetIs(data string) + func (this *IntegrationTestCase) AssertQueriesHaveEqualResult(query string, args ...interface{}) []map[string]interface{} + func (this *IntegrationTestCase) CopyData() + func (this *IntegrationTestCase) Run() + func (this *IntegrationTestCase) SetReadonlyOnSourceDbAndStopDataWriter() + func (this *IntegrationTestCase) Setup() + func (this *IntegrationTestCase) StartFerryAndDataWriter() + func (this *IntegrationTestCase) StopStreamingAndWaitForGhostferryFinish() + func (this *IntegrationTestCase) Teardown() + func (this *IntegrationTestCase) VerifyData() + func (this *IntegrationTestCase) WaitUntilRowCopyIsComplete() + type MixedActionDataWriter struct + Db *sql.DB + ExtraInsertData func(string, map[string]interface{}) + ExtraUpdateData func(string, map[string]interface{}) + ModifyIdRange [2]int64 + NumberOfWriters int + ProbabilityOfDelete float32 + ProbabilityOfInsert float32 + ProbabilityOfUpdate float32 + Tables []string + func (this *MixedActionDataWriter) DeleteData() error + func (this *MixedActionDataWriter) InsertData() error + func (this *MixedActionDataWriter) Run() + func (this *MixedActionDataWriter) SetDB(db *sql.DB) + func (this *MixedActionDataWriter) Stop() + func (this *MixedActionDataWriter) UpdateData() error + func (this *MixedActionDataWriter) Wait() + func (this *MixedActionDataWriter) WriteData(i int) + type TestFerry struct + AfterBatchCopyListener func(batch *ghostferry.RowBatch) error + AfterBinlogApplyListener func(events []ghostferry.DMLEvent) error + AfterRowCopyDoneListener func() error + BeforeBatchCopyListener func(batch *ghostferry.RowBatch) error + BeforeBinlogApplyListener func(events []ghostferry.DMLEvent) error + BeforeRowCopyDoneListener func() error + func NewTestFerry() *TestFerry + func (this *TestFerry) Initialize() error + func (this *TestFerry) Run() + func (this *TestFerry) Start() error + type TestTableFilter struct + DbsFunc func([]string) []string + TablesFunc func([]*ghostferry.TableSchema) []*ghostferry.TableSchema + func (t *TestTableFilter) ApplicableDatabases(dbs []string) ([]string, error) + func (t *TestTableFilter) ApplicableTables(tables []*ghostferry.TableSchema) ([]*ghostferry.TableSchema, error)