@@ -39,14 +39,9 @@ func (c *MySqlConnector) GetTableSchema(
3939 system protos.TypeSystem ,
4040 tableMappings []* protos.TableMapping ,
4141) (map [string ]* protos.TableSchema , error ) {
42- binlogRowMetadataSupported , err := c .IsBinlogRowMetadataSupported (ctx )
43- if err != nil {
44- return nil , fmt .Errorf ("failed to determine if binlog row metadata is supported: %w" , err )
45- }
46-
4742 res := make (map [string ]* protos.TableSchema , len (tableMappings ))
4843 for _ , tm := range tableMappings {
49- tableSchema , err := c .getTableSchemaForTable (ctx , env , tm , system , binlogRowMetadataSupported , version )
44+ tableSchema , err := c .getTableSchemaForTable (ctx , env , tm , system , version )
5045 if err != nil {
5146 c .logger .Info ("error fetching schema" , slog .String ("table" , tm .SourceTableIdentifier ), slog .Any ("error" , err ))
5247 return nil , err
@@ -63,8 +58,7 @@ func (c *MySqlConnector) getTableSchemaForTable(
6358 env map [string ]string ,
6459 tm * protos.TableMapping ,
6560 system protos.TypeSystem ,
66- binlogRowMetadataSupported bool ,
67- version uint32 ,
61+ mirrorVersion uint32 ,
6862) (* protos.TableSchema , error ) {
6963 qualifiedTable , err := common .ParseTableIdentifier (tm .SourceTableIdentifier )
7064 if err != nil {
@@ -93,8 +87,13 @@ func (c *MySqlConnector) getTableSchemaForTable(
9387 name string
9488 seqInIndex int64
9589 }
96- var primaryEntries []pkEntry
9790
91+ binlogRowMetadataSupported , err := c .IsBinlogRowMetadataSupported (ctx )
92+ if err != nil {
93+ return nil , fmt .Errorf ("failed to determine if binlog row metadata is supported: %w" , err )
94+ }
95+
96+ var primaryEntries []pkEntry
9897 for idx := range rs .RowNumber () {
9998 columnName , err := rs .GetString (idx , 0 )
10099 if err != nil {
@@ -120,7 +119,7 @@ func (c *MySqlConnector) getTableSchemaForTable(
120119 if err != nil {
121120 return nil , err
122121 }
123- qkind , err := QkindFromMysqlColumnType (dataType , binlogRowMetadataSupported , version )
122+ qkind , err := QkindFromMysqlColumnType (dataType , binlogRowMetadataSupported , mirrorVersion )
124123 if err != nil {
125124 return nil , err
126125 }
@@ -707,7 +706,7 @@ func (c *MySqlConnector) PullRecords(
707706
708707func (c * MySqlConnector ) processAlterTableQuery (ctx context.Context , catalogPool shared.CatalogPool ,
709708 req * model.PullRecordsRequest [model.RecordItems ], stmt * ast.AlterTableStmt , stmtSchema string ,
710- binlogRowMetadataSupported bool , version uint32 ,
709+ binlogRowMetadataSupported bool , mirrorVersion uint32 ,
711710) error {
712711 // if ALTER TABLE doesn't have database/schema name, use one attached to event
713712 var sourceSchemaName string
@@ -754,7 +753,7 @@ func (c *MySqlConnector) processAlterTableQuery(ctx context.Context, catalogPool
754753 slog .String ("tableName" , sourceTableName ))
755754 }
756755
757- qkind , err := QkindFromMysqlColumnType (col .Tp .InfoSchemaStr (), binlogRowMetadataSupported , version )
756+ qkind , err := QkindFromMysqlColumnType (col .Tp .InfoSchemaStr (), binlogRowMetadataSupported , mirrorVersion )
758757 if err != nil {
759758 return err
760759 }
0 commit comments