From 68c3b4f861c7850f1cee30848e3decb2cf93b91c Mon Sep 17 00:00:00 2001 From: Alisha Date: Mon, 10 Mar 2025 10:43:52 -0700 Subject: [PATCH 1/2] fix postgres sequence reset --- backend/pkg/sqlmanager/postgres/postgres-manager.go | 4 ++-- .../run-sql-init-table-stmts/init-statement-builder.go | 8 +++----- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/backend/pkg/sqlmanager/postgres/postgres-manager.go b/backend/pkg/sqlmanager/postgres/postgres-manager.go index 51d8c3832d..8d3fb219c8 100644 --- a/backend/pkg/sqlmanager/postgres/postgres-manager.go +++ b/backend/pkg/sqlmanager/postgres/postgres-manager.go @@ -1063,8 +1063,8 @@ func BuildPgInsertIdentityAlwaysSql( return sqlSplit[0] + ") OVERRIDING SYSTEM VALUE VALUES(" + sqlSplit[1] } -func BuildPgResetSequenceSql(sequenceName string) string { - return fmt.Sprintf("ALTER SEQUENCE %q RESTART;", sequenceName) +func BuildPgResetSequenceSql(schema, sequenceName string) string { + return fmt.Sprintf("ALTER SEQUENCE %q.%q RESTART;", schema, sequenceName) } func GetPostgresColumnOverrideAndResetProperties(columnInfo *sqlmanager_shared.DatabaseSchemaRow) (needsOverride, needsReset bool) { diff --git a/worker/pkg/workflows/datasync/activities/run-sql-init-table-stmts/init-statement-builder.go b/worker/pkg/workflows/datasync/activities/run-sql-init-table-stmts/init-statement-builder.go index 8ca89c1fc4..e2ad3ef2cc 100644 --- a/worker/pkg/workflows/datasync/activities/run-sql-init-table-stmts/init-statement-builder.go +++ b/worker/pkg/workflows/datasync/activities/run-sql-init-table-stmts/init-statement-builder.go @@ -240,17 +240,15 @@ func (b *initStatementBuilder) RunSqlInitTableStatements( schemaTableMap[schema] = append(schemaTableMap[schema], table) } - resetSeqStmts := []string{} for schema, tables := range schemaTableMap { - sequences, err := sourcedb.Db().GetSequencesByTables(ctx, schema, tables) + sequences, err := destdb.Db().GetSequencesByTables(ctx, schema, tables) if err != nil { return nil, err } + resetSeqStmts := []string{} for _, seq := range sequences { - resetSeqStmts = append(resetSeqStmts, sqlmanager_postgres.BuildPgResetSequenceSql(seq.Name)) + resetSeqStmts = append(resetSeqStmts, sqlmanager_postgres.BuildPgResetSequenceSql(seq.Schema, seq.Name)) } - } - if len(resetSeqStmts) > 0 { err = destdb.Db().BatchExec(ctx, 10, resetSeqStmts, &sqlmanager_shared.BatchExecOpts{}) if err != nil { // handle not found errors From 60646cd327c7802375812a74de2a709fe9e63d25 Mon Sep 17 00:00:00 2001 From: Alisha Date: Mon, 10 Mar 2025 11:35:40 -0700 Subject: [PATCH 2/2] fix tests --- .../init-statement-builder.go | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/worker/pkg/workflows/datasync/activities/run-sql-init-table-stmts/init-statement-builder.go b/worker/pkg/workflows/datasync/activities/run-sql-init-table-stmts/init-statement-builder.go index e2ad3ef2cc..0cba627484 100644 --- a/worker/pkg/workflows/datasync/activities/run-sql-init-table-stmts/init-statement-builder.go +++ b/worker/pkg/workflows/datasync/activities/run-sql-init-table-stmts/init-statement-builder.go @@ -249,11 +249,13 @@ func (b *initStatementBuilder) RunSqlInitTableStatements( for _, seq := range sequences { resetSeqStmts = append(resetSeqStmts, sqlmanager_postgres.BuildPgResetSequenceSql(seq.Schema, seq.Name)) } - err = destdb.Db().BatchExec(ctx, 10, resetSeqStmts, &sqlmanager_shared.BatchExecOpts{}) - if err != nil { - // handle not found errors - if !strings.Contains(err.Error(), `does not exist`) { - return nil, fmt.Errorf("unable to exec postgres sequence reset statements: %w", err) + if len(resetSeqStmts) > 0 { + err = destdb.Db().BatchExec(ctx, 10, resetSeqStmts, &sqlmanager_shared.BatchExecOpts{}) + if err != nil { + // handle not found errors + if !strings.Contains(err.Error(), `does not exist`) { + return nil, fmt.Errorf("unable to exec postgres sequence reset statements: %w", err) + } } } }