package extractor import ( "context" "sync" "git.ksdemosapps.com/kylesoda/go-migrate/internal/app/config" "git.ksdemosapps.com/kylesoda/go-migrate/internal/app/custom_errors" "git.ksdemosapps.com/kylesoda/go-migrate/internal/app/models" ) type Extractor interface { ProcessBatch( ctx context.Context, tableInfo config.SourceTableInfo, columns []models.ColumnType, chunkSize int, batch models.Batch, indexPrimaryKey int, chChunksOut chan<- models.Chunk, rowsRead *int64, ) error Exec( ctx context.Context, tableInfo config.SourceTableInfo, columns []models.ColumnType, chunkSize int, chBatchesIn <-chan models.Batch, chChunksOut chan<- models.Chunk, chErrorsOut chan<- custom_errors.ExtractorError, chJobErrorsOut chan<- custom_errors.JobError, wgActiveBatches *sync.WaitGroup, rowsRead *int64, ) }