diff --git a/internal/plan/rewrite.go b/internal/plan/rewrite.go index ccbd5bd7d..2c2611720 100644 --- a/internal/plan/rewrite.go +++ b/internal/plan/rewrite.go @@ -142,7 +142,7 @@ func generateIndexRewrite(index *ir.Index) []RewriteStep { // Generate concurrent SQL concurrentSQL := generateIndexSQL(index, true) // With CONCURRENTLY - waitSQL := generateIndexWaitQueryWithName(index.Name) + waitSQL := generateIndexWaitQueryWithName(index.Schema, index.Name) return []RewriteStep{ { @@ -176,7 +176,7 @@ func generateIndexChangeRewriteFromIndex(index *ir.Index) []RewriteStep { tempIndex := *index tempIndex.Name = tempIndexName concurrentSQL := generateIndexSQL(&tempIndex, true) - waitSQL := generateIndexWaitQueryWithName(tempIndexName) + waitSQL := generateIndexWaitQueryWithName(index.Schema, tempIndexName) // Drop old index and rename new one. Use IF EXISTS because a same-plan // DROP COLUMN step may already have implicitly dropped this index @@ -227,7 +227,7 @@ func generateIndexChangeRewrite(indexDiff *diff.IndexDiff) []RewriteStep { tempIndex := *indexDiff.New tempIndex.Name = tempIndexName concurrentSQL := generateIndexSQL(&tempIndex, true) - waitSQL := generateIndexWaitQueryWithName(tempIndexName) + waitSQL := generateIndexWaitQueryWithName(indexDiff.New.Schema, tempIndexName) // Drop old index and rename new one. Use IF EXISTS because a same-plan // DROP COLUMN step may already have implicitly dropped this index @@ -550,8 +550,15 @@ func generateIndexSQL(index *ir.Index, isConcurrent bool) string { return sql.String() } -// generateIndexWaitQueryWithName creates a wait query for monitoring concurrent index creation -func generateIndexWaitQueryWithName(indexName string) string { +// generateIndexWaitQueryWithName creates a wait query for monitoring concurrent index creation. +// The query is schema-qualified so an invalid index of the same name in another +// schema (e.g. a failed CREATE INDEX CONCURRENTLY left behind in a sibling +// tenant schema) cannot make apply hang forever. See issue #641. +// +// The schema is matched by pg_namespace.nspname against an escaped string +// literal rather than a '...'::regnamespace cast, which would case-fold +// unquoted mixed-case names and break on embedded quotes. +func generateIndexWaitQueryWithName(schemaName, indexName string) string { return fmt.Sprintf(`SELECT COALESCE(i.indisvalid, false) as done, CASE @@ -559,9 +566,17 @@ func generateIndexWaitQueryWithName(indexName string) string { ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = '%s';`, indexName) +WHERE c.relname = %s + AND n.nspname = %s;`, quoteSQLLiteral(indexName), quoteSQLLiteral(schemaName)) +} + +// quoteSQLLiteral returns s as a single-quoted SQL string literal, doubling +// embedded single quotes. +func quoteSQLLiteral(s string) string { + return "'" + strings.ReplaceAll(s, "'", "''") + "'" } // Helper functions diff --git a/internal/plan/rewrite_test.go b/internal/plan/rewrite_test.go index 2b1d16295..5bbd70d21 100644 --- a/internal/plan/rewrite_test.go +++ b/internal/plan/rewrite_test.go @@ -215,3 +215,73 @@ func TestPendingNotNullValidateIsolated(t *testing.T) { t.Errorf("isolated step SQL = %q, want %q", got, validate.Statements[0].SQL) } } + +// TestGenerateIndexWaitQuerySchemaQualified verifies the wait query for +// CREATE INDEX CONCURRENTLY is limited to the target schema (issue #641). +// Without the namespace filter, an invalid index of the same name in another +// schema makes apply hang forever because checkWaitStatus reads the first row. +func TestGenerateIndexWaitQuerySchemaQualified(t *testing.T) { + sql := generateIndexWaitQueryWithName("tenant_b", "items_sku_idx") + if !strings.Contains(sql, "c.relname = 'items_sku_idx'") { + t.Fatalf("wait query missing index name filter:\n%s", sql) + } + if !strings.Contains(sql, "n.nspname = 'tenant_b'") { + t.Fatalf("wait query missing schema qualification (issue #641):\n%s", sql) + } +} + +// TestGenerateIndexRewriteWaitIsSchemaQualified wires the schema through the +// concurrent rewrite path so apply waits on the right index. +func TestGenerateIndexRewriteWaitIsSchemaQualified(t *testing.T) { + index := &ir.Index{ + Schema: "tenant_b", + Table: "items", + Name: "items_sku_idx", + Type: ir.IndexTypeRegular, + Method: "btree", + Columns: []*ir.IndexColumn{{Name: "sku"}}, + } + steps := generateIndexRewrite(index) + if len(steps) < 2 { + t.Fatalf("expected concurrent create + wait steps, got %d", len(steps)) + } + wait := steps[1].SQL + if !strings.Contains(wait, "n.nspname = 'tenant_b'") { + t.Fatalf("rewrite wait step not schema-qualified:\n%s", wait) + } + if steps[1].Directive == nil || steps[1].Directive.Type != DirectiveTypeWait { + t.Fatalf("expected wait directive on step 1, got %#v", steps[1].Directive) + } +} + +// TestGenerateIndexWaitQueryEscapesNames verifies the wait query matches the +// exact (case-sensitive) schema name and escapes embedded single quotes, +// instead of relying on a '...'::regnamespace cast that case-folds unquoted +// names (issue #641). +func TestGenerateIndexWaitQueryEscapesNames(t *testing.T) { + tests := []struct { + name string + schema string + index string + wantSchema string + wantIndex string + }{ + {"mixed case schema", "TenantB", "items_sku_idx", "n.nspname = 'TenantB'", "c.relname = 'items_sku_idx'"}, + {"apostrophe in schema", "o'brien", "items_sku_idx", "n.nspname = 'o''brien'", "c.relname = 'items_sku_idx'"}, + {"apostrophe in index", "public", "it's_idx", "n.nspname = 'public'", "c.relname = 'it''s_idx'"}, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + sql := generateIndexWaitQueryWithName(tt.schema, tt.index) + if !strings.Contains(sql, tt.wantSchema) { + t.Errorf("wait query missing %q:\n%s", tt.wantSchema, sql) + } + if !strings.Contains(sql, tt.wantIndex) { + t.Errorf("wait query missing %q:\n%s", tt.wantIndex, sql) + } + if strings.Contains(sql, "regnamespace") { + t.Errorf("wait query must not cast to regnamespace:\n%s", sql) + } + }) + } +} diff --git a/testdata/diff/create_index/add_index_with_reloptions/plan.json b/testdata/diff/create_index/add_index_with_reloptions/plan.json index 3453b2d1d..d43c109e1 100644 --- a/testdata/diff/create_index/add_index_with_reloptions/plan.json +++ b/testdata/diff/create_index/add_index_with_reloptions/plan.json @@ -19,7 +19,7 @@ { "steps": [ { - "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'idx_orders_status_active';", + "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nJOIN pg_namespace n ON c.relnamespace = n.oid\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'idx_orders_status_active'\n AND n.nspname = 'public';", "directive": { "type": "wait", "message": "Creating index idx_orders_status_active" @@ -43,7 +43,7 @@ { "steps": [ { - "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'idx_orders_user_id';", + "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nJOIN pg_namespace n ON c.relnamespace = n.oid\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'idx_orders_user_id'\n AND n.nspname = 'public';", "directive": { "type": "wait", "message": "Creating index idx_orders_user_id" diff --git a/testdata/diff/create_index/add_index_with_reloptions/plan.sql b/testdata/diff/create_index/add_index_with_reloptions/plan.sql index 30b0a0f33..82e697962 100644 --- a/testdata/diff/create_index/add_index_with_reloptions/plan.sql +++ b/testdata/diff/create_index/add_index_with_reloptions/plan.sql @@ -8,9 +8,11 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'idx_orders_status_active'; +WHERE c.relname = 'idx_orders_status_active' + AND n.nspname = 'public'; CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_orders_user_id ON orders (user_id) WITH (fillfactor=90); @@ -22,6 +24,8 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'idx_orders_user_id'; +WHERE c.relname = 'idx_orders_user_id' + AND n.nspname = 'public'; diff --git a/testdata/diff/create_index/add_index_with_reloptions/plan.txt b/testdata/diff/create_index/add_index_with_reloptions/plan.txt index d92037f9c..4f05e268a 100644 --- a/testdata/diff/create_index/add_index_with_reloptions/plan.txt +++ b/testdata/diff/create_index/add_index_with_reloptions/plan.txt @@ -23,9 +23,11 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'idx_orders_status_active'; +WHERE c.relname = 'idx_orders_status_active' + AND n.nspname = 'public'; -- Transaction Group #3 CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_orders_user_id ON orders (user_id) WITH (fillfactor=90); @@ -39,6 +41,8 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'idx_orders_user_id'; +WHERE c.relname = 'idx_orders_user_id' + AND n.nspname = 'public'; diff --git a/testdata/diff/create_index/alter_index_null_order/plan.json b/testdata/diff/create_index/alter_index_null_order/plan.json index 1df03dce6..20219e24d 100644 --- a/testdata/diff/create_index/alter_index_null_order/plan.json +++ b/testdata/diff/create_index/alter_index_null_order/plan.json @@ -19,7 +19,7 @@ { "steps": [ { - "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'idx_events_desc_pgschema_new';", + "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nJOIN pg_namespace n ON c.relnamespace = n.oid\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'idx_events_desc_pgschema_new'\n AND n.nspname = 'public';", "directive": { "type": "wait", "message": "Creating index idx_events_desc_pgschema_new" diff --git a/testdata/diff/create_index/alter_index_null_order/plan.sql b/testdata/diff/create_index/alter_index_null_order/plan.sql index 43b377bba..32eb824d7 100644 --- a/testdata/diff/create_index/alter_index_null_order/plan.sql +++ b/testdata/diff/create_index/alter_index_null_order/plan.sql @@ -8,9 +8,11 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'idx_events_desc_pgschema_new'; +WHERE c.relname = 'idx_events_desc_pgschema_new' + AND n.nspname = 'public'; DROP INDEX IF EXISTS idx_events_desc; diff --git a/testdata/diff/create_index/alter_index_null_order/plan.txt b/testdata/diff/create_index/alter_index_null_order/plan.txt index 1d9356858..b617b01fd 100644 --- a/testdata/diff/create_index/alter_index_null_order/plan.txt +++ b/testdata/diff/create_index/alter_index_null_order/plan.txt @@ -22,9 +22,11 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'idx_events_desc_pgschema_new'; +WHERE c.relname = 'idx_events_desc_pgschema_new' + AND n.nspname = 'public'; -- Transaction Group #3 DROP INDEX IF EXISTS idx_events_desc; diff --git a/testdata/diff/create_table/issue_295_pgvector_typmod/plan.json b/testdata/diff/create_table/issue_295_pgvector_typmod/plan.json index d6330d566..54fdfe750 100644 --- a/testdata/diff/create_table/issue_295_pgvector_typmod/plan.json +++ b/testdata/diff/create_table/issue_295_pgvector_typmod/plan.json @@ -29,7 +29,7 @@ { "steps": [ { - "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'activity_embedding_idx';", + "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nJOIN pg_namespace n ON c.relnamespace = n.oid\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'activity_embedding_idx'\n AND n.nspname = 'public';", "directive": { "type": "wait", "message": "Creating index activity_embedding_idx" diff --git a/testdata/diff/create_table/issue_295_pgvector_typmod/plan.sql b/testdata/diff/create_table/issue_295_pgvector_typmod/plan.sql index 6fe860660..61e23a394 100644 --- a/testdata/diff/create_table/issue_295_pgvector_typmod/plan.sql +++ b/testdata/diff/create_table/issue_295_pgvector_typmod/plan.sql @@ -10,6 +10,8 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'activity_embedding_idx'; +WHERE c.relname = 'activity_embedding_idx' + AND n.nspname = 'public'; diff --git a/testdata/diff/create_table/issue_295_pgvector_typmod/plan.txt b/testdata/diff/create_table/issue_295_pgvector_typmod/plan.txt index 99553987f..f172ccb12 100644 --- a/testdata/diff/create_table/issue_295_pgvector_typmod/plan.txt +++ b/testdata/diff/create_table/issue_295_pgvector_typmod/plan.txt @@ -23,6 +23,8 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'activity_embedding_idx'; +WHERE c.relname = 'activity_embedding_idx' + AND n.nspname = 'public'; diff --git a/testdata/diff/create_table/issue_506_fk_depends_on_new_unique/plan.json b/testdata/diff/create_table/issue_506_fk_depends_on_new_unique/plan.json index 0e7cd5f3d..838380d88 100644 --- a/testdata/diff/create_table/issue_506_fk_depends_on_new_unique/plan.json +++ b/testdata/diff/create_table/issue_506_fk_depends_on_new_unique/plan.json @@ -41,7 +41,7 @@ { "steps": [ { - "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'parent2_id_tenant_key';", + "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nJOIN pg_namespace n ON c.relnamespace = n.oid\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'parent2_id_tenant_key'\n AND n.nspname = 'public';", "directive": { "type": "wait", "message": "Creating index parent2_id_tenant_key" diff --git a/testdata/diff/create_table/issue_506_fk_depends_on_new_unique/plan.sql b/testdata/diff/create_table/issue_506_fk_depends_on_new_unique/plan.sql index f1619ce53..4cde01214 100644 --- a/testdata/diff/create_table/issue_506_fk_depends_on_new_unique/plan.sql +++ b/testdata/diff/create_table/issue_506_fk_depends_on_new_unique/plan.sql @@ -25,9 +25,11 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'parent2_id_tenant_key'; +WHERE c.relname = 'parent2_id_tenant_key' + AND n.nspname = 'public'; ALTER TABLE child ADD CONSTRAINT child_parent_id_tenant_fkey FOREIGN KEY (parent_id, tenant) REFERENCES parent (id, tenant); diff --git a/testdata/diff/create_table/issue_506_fk_depends_on_new_unique/plan.txt b/testdata/diff/create_table/issue_506_fk_depends_on_new_unique/plan.txt index 50fd88ce5..601068967 100644 --- a/testdata/diff/create_table/issue_506_fk_depends_on_new_unique/plan.txt +++ b/testdata/diff/create_table/issue_506_fk_depends_on_new_unique/plan.txt @@ -46,13 +46,15 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'parent2_id_tenant_key'; +WHERE c.relname = 'parent2_id_tenant_key' + AND n.nspname = 'public'; -- Transaction Group #4 ALTER TABLE child ADD CONSTRAINT child_parent_id_tenant_fkey FOREIGN KEY (parent_id, tenant) REFERENCES parent (id, tenant); ALTER TABLE child2 -ADD CONSTRAINT child2_parent2_id_tenant_fkey FOREIGN KEY (parent2_id, tenant) REFERENCES parent2 (id, tenant); \ No newline at end of file +ADD CONSTRAINT child2_parent2_id_tenant_fkey FOREIGN KEY (parent2_id, tenant) REFERENCES parent2 (id, tenant); diff --git a/testdata/diff/create_table/issue_591_alter_generated_column/plan.json b/testdata/diff/create_table/issue_591_alter_generated_column/plan.json index 16baba77a..7c9a797b0 100644 --- a/testdata/diff/create_table/issue_591_alter_generated_column/plan.json +++ b/testdata/diff/create_table/issue_591_alter_generated_column/plan.json @@ -105,7 +105,7 @@ { "steps": [ { - "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'metrics_tripled_idx_pgschema_new';", + "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nJOIN pg_namespace n ON c.relnamespace = n.oid\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'metrics_tripled_idx_pgschema_new'\n AND n.nspname = 'public';", "directive": { "type": "wait", "message": "Creating index metrics_tripled_idx_pgschema_new" @@ -199,7 +199,7 @@ { "steps": [ { - "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'orders_code_key_pgschema_new';", + "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nJOIN pg_namespace n ON c.relnamespace = n.oid\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'orders_code_key_pgschema_new'\n AND n.nspname = 'public';", "directive": { "type": "wait", "message": "Creating index orders_code_key_pgschema_new" @@ -239,7 +239,7 @@ { "steps": [ { - "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'orders_lookup_idx_pgschema_new';", + "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nJOIN pg_namespace n ON c.relnamespace = n.oid\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'orders_lookup_idx_pgschema_new'\n AND n.nspname = 'public';", "directive": { "type": "wait", "message": "Creating index orders_lookup_idx_pgschema_new" @@ -279,7 +279,7 @@ { "steps": [ { - "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'orders_total_key';", + "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nJOIN pg_namespace n ON c.relnamespace = n.oid\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'orders_total_key'\n AND n.nspname = 'public';", "directive": { "type": "wait", "message": "Creating index orders_total_key" diff --git a/testdata/diff/create_table/issue_591_alter_generated_column/plan.sql b/testdata/diff/create_table/issue_591_alter_generated_column/plan.sql index 110113226..1308f0f49 100644 --- a/testdata/diff/create_table/issue_591_alter_generated_column/plan.sql +++ b/testdata/diff/create_table/issue_591_alter_generated_column/plan.sql @@ -36,9 +36,11 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'metrics_tripled_idx_pgschema_new'; +WHERE c.relname = 'metrics_tripled_idx_pgschema_new' + AND n.nspname = 'public'; DROP INDEX IF EXISTS metrics_tripled_idx; @@ -77,9 +79,11 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'orders_code_key_pgschema_new'; +WHERE c.relname = 'orders_code_key_pgschema_new' + AND n.nspname = 'public'; DROP INDEX IF EXISTS orders_code_key; @@ -95,9 +99,11 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'orders_lookup_idx_pgschema_new'; +WHERE c.relname = 'orders_lookup_idx_pgschema_new' + AND n.nspname = 'public'; DROP INDEX IF EXISTS orders_lookup_idx; @@ -113,9 +119,11 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'orders_total_key'; +WHERE c.relname = 'orders_total_key' + AND n.nspname = 'public'; ALTER TABLE vt DROP COLUMN v2; diff --git a/testdata/diff/create_table/issue_591_alter_generated_column/plan.txt b/testdata/diff/create_table/issue_591_alter_generated_column/plan.txt index 7f34b6836..8a1109fa4 100644 --- a/testdata/diff/create_table/issue_591_alter_generated_column/plan.txt +++ b/testdata/diff/create_table/issue_591_alter_generated_column/plan.txt @@ -101,9 +101,11 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'metrics_tripled_idx_pgschema_new'; +WHERE c.relname = 'metrics_tripled_idx_pgschema_new' + AND n.nspname = 'public'; -- Transaction Group #5 DROP INDEX IF EXISTS metrics_tripled_idx; @@ -145,9 +147,11 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'orders_code_key_pgschema_new'; +WHERE c.relname = 'orders_code_key_pgschema_new' + AND n.nspname = 'public'; -- Transaction Group #8 DROP INDEX IF EXISTS orders_code_key; @@ -166,9 +170,11 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'orders_lookup_idx_pgschema_new'; +WHERE c.relname = 'orders_lookup_idx_pgschema_new' + AND n.nspname = 'public'; -- Transaction Group #11 DROP INDEX IF EXISTS orders_lookup_idx; @@ -187,9 +193,11 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'orders_total_key'; +WHERE c.relname = 'orders_total_key' + AND n.nspname = 'public'; -- Transaction Group #14 ALTER TABLE vt DROP COLUMN v2; diff --git a/testdata/diff/create_trigger/add_trigger/plan.txt b/testdata/diff/create_trigger/add_trigger/plan.txt index 71977f9f6..e0629aabc 100644 --- a/testdata/diff/create_trigger/add_trigger/plan.txt +++ b/testdata/diff/create_trigger/add_trigger/plan.txt @@ -44,4 +44,4 @@ CREATE OR REPLACE TRIGGER employees_truncate_log_trigger CREATE OR REPLACE TRIGGER trg_employee_emails_insert INSTEAD OF INSERT ON employee_emails FOR EACH ROW - EXECUTE FUNCTION insert_employee_emails(); \ No newline at end of file + EXECUTE FUNCTION insert_employee_emails(); diff --git a/testdata/diff/dependency/issue_308_view_select_star_column_reorder/plan.json b/testdata/diff/dependency/issue_308_view_select_star_column_reorder/plan.json index 92831c9e7..e395ca7e1 100644 --- a/testdata/diff/dependency/issue_308_view_select_star_column_reorder/plan.json +++ b/testdata/diff/dependency/issue_308_view_select_star_column_reorder/plan.json @@ -53,7 +53,7 @@ { "steps": [ { - "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'item_summary_id_idx';", + "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nJOIN pg_namespace n ON c.relnamespace = n.oid\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'item_summary_id_idx'\n AND n.nspname = 'public';", "directive": { "type": "wait", "message": "Creating index item_summary_id_idx" diff --git a/testdata/diff/dependency/issue_308_view_select_star_column_reorder/plan.sql b/testdata/diff/dependency/issue_308_view_select_star_column_reorder/plan.sql index fdb498dcd..e339f28ba 100644 --- a/testdata/diff/dependency/issue_308_view_select_star_column_reorder/plan.sql +++ b/testdata/diff/dependency/issue_308_view_select_star_column_reorder/plan.sql @@ -28,6 +28,8 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'item_summary_id_idx'; +WHERE c.relname = 'item_summary_id_idx' + AND n.nspname = 'public'; diff --git a/testdata/diff/dependency/issue_308_view_select_star_column_reorder/plan.txt b/testdata/diff/dependency/issue_308_view_select_star_column_reorder/plan.txt index f40cc58e1..367a8c39e 100644 --- a/testdata/diff/dependency/issue_308_view_select_star_column_reorder/plan.txt +++ b/testdata/diff/dependency/issue_308_view_select_star_column_reorder/plan.txt @@ -52,6 +52,8 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'item_summary_id_idx'; +WHERE c.relname = 'item_summary_id_idx' + AND n.nspname = 'public'; diff --git a/testdata/diff/dependency/issue_505_drop_trigger_function_with_table/plan.txt b/testdata/diff/dependency/issue_505_drop_trigger_function_with_table/plan.txt index 60bddc0a9..aabbaadd7 100644 --- a/testdata/diff/dependency/issue_505_drop_trigger_function_with_table/plan.txt +++ b/testdata/diff/dependency/issue_505_drop_trigger_function_with_table/plan.txt @@ -18,4 +18,4 @@ DROP TRIGGER IF EXISTS events_notify ON events; DROP FUNCTION IF EXISTS notify_event(); -DROP TABLE IF EXISTS events CASCADE; \ No newline at end of file +DROP TABLE IF EXISTS events CASCADE; diff --git a/testdata/diff/dependency/issue_535_domain_depends_on_table/plan.txt b/testdata/diff/dependency/issue_535_domain_depends_on_table/plan.txt index 6980c7c17..0c08a0afd 100644 --- a/testdata/diff/dependency/issue_535_domain_depends_on_table/plan.txt +++ b/testdata/diff/dependency/issue_535_domain_depends_on_table/plan.txt @@ -13,4 +13,4 @@ CREATE TABLE IF NOT EXISTS x ( ); -CREATE DOMAIN y AS x; \ No newline at end of file +CREATE DOMAIN y AS x; diff --git a/testdata/diff/migrate/v2/plan.json b/testdata/diff/migrate/v2/plan.json index def85dbed..23eedeacc 100644 --- a/testdata/diff/migrate/v2/plan.json +++ b/testdata/diff/migrate/v2/plan.json @@ -149,7 +149,7 @@ { "steps": [ { - "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'idx_employee_hire_date';", + "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nJOIN pg_namespace n ON c.relnamespace = n.oid\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'idx_employee_hire_date'\n AND n.nspname = 'public';", "directive": { "type": "wait", "message": "Creating index idx_employee_hire_date" @@ -199,7 +199,7 @@ { "steps": [ { - "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'idx_salary_amount';", + "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nJOIN pg_namespace n ON c.relnamespace = n.oid\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'idx_salary_amount'\n AND n.nspname = 'public';", "directive": { "type": "wait", "message": "Creating index idx_salary_amount" diff --git a/testdata/diff/migrate/v2/plan.sql b/testdata/diff/migrate/v2/plan.sql index 1cfa6c837..0813a06f7 100644 --- a/testdata/diff/migrate/v2/plan.sql +++ b/testdata/diff/migrate/v2/plan.sql @@ -44,9 +44,11 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'idx_employee_hire_date'; +WHERE c.relname = 'idx_employee_hire_date' + AND n.nspname = 'public'; ALTER TABLE salary DROP CONSTRAINT salary_emp_no_fkey; @@ -65,9 +67,11 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'idx_salary_amount'; +WHERE c.relname = 'idx_salary_amount' + AND n.nspname = 'public'; ALTER TABLE title DROP CONSTRAINT title_emp_no_fkey; diff --git a/testdata/diff/migrate/v2/plan.txt b/testdata/diff/migrate/v2/plan.txt index e395be4f4..ac1f2c746 100644 --- a/testdata/diff/migrate/v2/plan.txt +++ b/testdata/diff/migrate/v2/plan.txt @@ -88,9 +88,11 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'idx_employee_hire_date'; +WHERE c.relname = 'idx_employee_hire_date' + AND n.nspname = 'public'; -- Transaction Group #13 ALTER TABLE salary DROP CONSTRAINT salary_emp_no_fkey; @@ -113,9 +115,11 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'idx_salary_amount'; +WHERE c.relname = 'idx_salary_amount' + AND n.nspname = 'public'; -- Transaction Group #17 ALTER TABLE title DROP CONSTRAINT title_emp_no_fkey; diff --git a/testdata/diff/migrate/v4/plan.json b/testdata/diff/migrate/v4/plan.json index 49a205075..b4bae8b40 100644 --- a/testdata/diff/migrate/v4/plan.json +++ b/testdata/diff/migrate/v4/plan.json @@ -53,7 +53,7 @@ { "steps": [ { - "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'idx_audit_operation';", + "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nJOIN pg_namespace n ON c.relnamespace = n.oid\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'idx_audit_operation'\n AND n.nspname = 'public';", "directive": { "type": "wait", "message": "Creating index idx_audit_operation" @@ -77,7 +77,7 @@ { "steps": [ { - "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'idx_audit_username';", + "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nJOIN pg_namespace n ON c.relnamespace = n.oid\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'idx_audit_username'\n AND n.nspname = 'public';", "directive": { "type": "wait", "message": "Creating index idx_audit_username" diff --git a/testdata/diff/migrate/v4/plan.sql b/testdata/diff/migrate/v4/plan.sql index e6c6016b2..537930a37 100644 --- a/testdata/diff/migrate/v4/plan.sql +++ b/testdata/diff/migrate/v4/plan.sql @@ -56,9 +56,11 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'idx_audit_operation'; +WHERE c.relname = 'idx_audit_operation' + AND n.nspname = 'public'; CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_audit_username ON audit (user_name); @@ -70,9 +72,11 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'idx_audit_username'; +WHERE c.relname = 'idx_audit_username' + AND n.nspname = 'public'; CREATE OR REPLACE TRIGGER salary_log_trigger AFTER UPDATE OR DELETE ON salary diff --git a/testdata/diff/migrate/v4/plan.txt b/testdata/diff/migrate/v4/plan.txt index 4496e76b2..2431ee64f 100644 --- a/testdata/diff/migrate/v4/plan.txt +++ b/testdata/diff/migrate/v4/plan.txt @@ -92,9 +92,11 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'idx_audit_operation'; +WHERE c.relname = 'idx_audit_operation' + AND n.nspname = 'public'; -- Transaction Group #4 CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_audit_username ON audit (user_name); @@ -108,9 +110,11 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'idx_audit_username'; +WHERE c.relname = 'idx_audit_username' + AND n.nspname = 'public'; -- Transaction Group #6 CREATE OR REPLACE TRIGGER salary_log_trigger diff --git a/testdata/diff/online/add_composite_index/plan.json b/testdata/diff/online/add_composite_index/plan.json index cf69e82ec..daeeeaa3d 100644 --- a/testdata/diff/online/add_composite_index/plan.json +++ b/testdata/diff/online/add_composite_index/plan.json @@ -19,7 +19,7 @@ { "steps": [ { - "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'idx_users_email_include';", + "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nJOIN pg_namespace n ON c.relnamespace = n.oid\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'idx_users_email_include'\n AND n.nspname = 'public';", "directive": { "type": "wait", "message": "Creating index idx_users_email_include" @@ -43,7 +43,7 @@ { "steps": [ { - "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'idx_users_email_status';", + "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nJOIN pg_namespace n ON c.relnamespace = n.oid\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'idx_users_email_status'\n AND n.nspname = 'public';", "directive": { "type": "wait", "message": "Creating index idx_users_email_status" diff --git a/testdata/diff/online/add_composite_index/plan.sql b/testdata/diff/online/add_composite_index/plan.sql index 9d42d6f13..df0191602 100644 --- a/testdata/diff/online/add_composite_index/plan.sql +++ b/testdata/diff/online/add_composite_index/plan.sql @@ -8,9 +8,11 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'idx_users_email_include'; +WHERE c.relname = 'idx_users_email_include' + AND n.nspname = 'public'; CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_users_email_status ON users (email, status DESC); @@ -22,6 +24,8 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'idx_users_email_status'; +WHERE c.relname = 'idx_users_email_status' + AND n.nspname = 'public'; diff --git a/testdata/diff/online/add_composite_index/plan.txt b/testdata/diff/online/add_composite_index/plan.txt index 685eb6a38..21c5e8aac 100644 --- a/testdata/diff/online/add_composite_index/plan.txt +++ b/testdata/diff/online/add_composite_index/plan.txt @@ -23,9 +23,11 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'idx_users_email_include'; +WHERE c.relname = 'idx_users_email_include' + AND n.nspname = 'public'; -- Transaction Group #3 CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_users_email_status ON users (email, status DESC); @@ -39,6 +41,8 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'idx_users_email_status'; +WHERE c.relname = 'idx_users_email_status' + AND n.nspname = 'public'; diff --git a/testdata/diff/online/add_functional_index/plan.json b/testdata/diff/online/add_functional_index/plan.json index a6215ec8a..38df9dfd1 100644 --- a/testdata/diff/online/add_functional_index/plan.json +++ b/testdata/diff/online/add_functional_index/plan.json @@ -19,7 +19,7 @@ { "steps": [ { - "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'idx_users_fullname_search';", + "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nJOIN pg_namespace n ON c.relnamespace = n.oid\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'idx_users_fullname_search'\n AND n.nspname = 'public';", "directive": { "type": "wait", "message": "Creating index idx_users_fullname_search" diff --git a/testdata/diff/online/add_functional_index/plan.sql b/testdata/diff/online/add_functional_index/plan.sql index 9837516d0..09928c2fe 100644 --- a/testdata/diff/online/add_functional_index/plan.sql +++ b/testdata/diff/online/add_functional_index/plan.sql @@ -8,6 +8,8 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'idx_users_fullname_search'; +WHERE c.relname = 'idx_users_fullname_search' + AND n.nspname = 'public'; diff --git a/testdata/diff/online/add_functional_index/plan.txt b/testdata/diff/online/add_functional_index/plan.txt index d6f63a8c9..b0bb46466 100644 --- a/testdata/diff/online/add_functional_index/plan.txt +++ b/testdata/diff/online/add_functional_index/plan.txt @@ -22,6 +22,8 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'idx_users_fullname_search'; +WHERE c.relname = 'idx_users_fullname_search' + AND n.nspname = 'public'; diff --git a/testdata/diff/online/add_materialized_view_index/plan.json b/testdata/diff/online/add_materialized_view_index/plan.json index 542866190..e07595de0 100644 --- a/testdata/diff/online/add_materialized_view_index/plan.json +++ b/testdata/diff/online/add_materialized_view_index/plan.json @@ -19,7 +19,7 @@ { "steps": [ { - "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'idx_user_summary_created_at';", + "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nJOIN pg_namespace n ON c.relnamespace = n.oid\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'idx_user_summary_created_at'\n AND n.nspname = 'public';", "directive": { "type": "wait", "message": "Creating index idx_user_summary_created_at" diff --git a/testdata/diff/online/add_materialized_view_index/plan.sql b/testdata/diff/online/add_materialized_view_index/plan.sql index d0657d511..11583f72c 100644 --- a/testdata/diff/online/add_materialized_view_index/plan.sql +++ b/testdata/diff/online/add_materialized_view_index/plan.sql @@ -8,6 +8,8 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'idx_user_summary_created_at'; +WHERE c.relname = 'idx_user_summary_created_at' + AND n.nspname = 'public'; diff --git a/testdata/diff/online/add_materialized_view_index/plan.txt b/testdata/diff/online/add_materialized_view_index/plan.txt index 2ec00239f..7d8d60887 100644 --- a/testdata/diff/online/add_materialized_view_index/plan.txt +++ b/testdata/diff/online/add_materialized_view_index/plan.txt @@ -22,6 +22,8 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'idx_user_summary_created_at'; +WHERE c.relname = 'idx_user_summary_created_at' + AND n.nspname = 'public'; diff --git a/testdata/diff/online/add_partial_index/plan.json b/testdata/diff/online/add_partial_index/plan.json index 40683bae4..c0358b7b0 100644 --- a/testdata/diff/online/add_partial_index/plan.json +++ b/testdata/diff/online/add_partial_index/plan.json @@ -19,7 +19,7 @@ { "steps": [ { - "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'idx_active_orders_customer_date';", + "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nJOIN pg_namespace n ON c.relnamespace = n.oid\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'idx_active_orders_customer_date'\n AND n.nspname = 'public';", "directive": { "type": "wait", "message": "Creating index idx_active_orders_customer_date" diff --git a/testdata/diff/online/add_partial_index/plan.sql b/testdata/diff/online/add_partial_index/plan.sql index 1326ffb9f..c8213bc7b 100644 --- a/testdata/diff/online/add_partial_index/plan.sql +++ b/testdata/diff/online/add_partial_index/plan.sql @@ -8,6 +8,8 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'idx_active_orders_customer_date'; +WHERE c.relname = 'idx_active_orders_customer_date' + AND n.nspname = 'public'; diff --git a/testdata/diff/online/add_partial_index/plan.txt b/testdata/diff/online/add_partial_index/plan.txt index 5031615be..d8f76c678 100644 --- a/testdata/diff/online/add_partial_index/plan.txt +++ b/testdata/diff/online/add_partial_index/plan.txt @@ -22,6 +22,8 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'idx_active_orders_customer_date'; +WHERE c.relname = 'idx_active_orders_customer_date' + AND n.nspname = 'public'; diff --git a/testdata/diff/online/add_unique_multi_column_index/plan.json b/testdata/diff/online/add_unique_multi_column_index/plan.json index dbdaef609..a2a94db75 100644 --- a/testdata/diff/online/add_unique_multi_column_index/plan.json +++ b/testdata/diff/online/add_unique_multi_column_index/plan.json @@ -19,7 +19,7 @@ { "steps": [ { - "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'idx_unique_email_org';", + "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nJOIN pg_namespace n ON c.relnamespace = n.oid\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'idx_unique_email_org'\n AND n.nspname = 'public';", "directive": { "type": "wait", "message": "Creating index idx_unique_email_org" diff --git a/testdata/diff/online/add_unique_multi_column_index/plan.sql b/testdata/diff/online/add_unique_multi_column_index/plan.sql index 68d55c810..d99093802 100644 --- a/testdata/diff/online/add_unique_multi_column_index/plan.sql +++ b/testdata/diff/online/add_unique_multi_column_index/plan.sql @@ -8,6 +8,8 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'idx_unique_email_org'; +WHERE c.relname = 'idx_unique_email_org' + AND n.nspname = 'public'; diff --git a/testdata/diff/online/add_unique_multi_column_index/plan.txt b/testdata/diff/online/add_unique_multi_column_index/plan.txt index 7a0d4e440..b9f61b949 100644 --- a/testdata/diff/online/add_unique_multi_column_index/plan.txt +++ b/testdata/diff/online/add_unique_multi_column_index/plan.txt @@ -22,6 +22,8 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'idx_unique_email_org'; +WHERE c.relname = 'idx_unique_email_org' + AND n.nspname = 'public'; diff --git a/testdata/diff/online/alter_composite_index/plan.json b/testdata/diff/online/alter_composite_index/plan.json index 6aab2dc64..7d7c752e2 100644 --- a/testdata/diff/online/alter_composite_index/plan.json +++ b/testdata/diff/online/alter_composite_index/plan.json @@ -19,7 +19,7 @@ { "steps": [ { - "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'idx_users_email_pgschema_new';", + "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nJOIN pg_namespace n ON c.relnamespace = n.oid\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'idx_users_email_pgschema_new'\n AND n.nspname = 'public';", "directive": { "type": "wait", "message": "Creating index idx_users_email_pgschema_new" @@ -59,7 +59,7 @@ { "steps": [ { - "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'idx_users_status_pgschema_new';", + "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nJOIN pg_namespace n ON c.relnamespace = n.oid\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'idx_users_status_pgschema_new'\n AND n.nspname = 'public';", "directive": { "type": "wait", "message": "Creating index idx_users_status_pgschema_new" diff --git a/testdata/diff/online/alter_composite_index/plan.sql b/testdata/diff/online/alter_composite_index/plan.sql index 1e351f35d..d0f025bed 100644 --- a/testdata/diff/online/alter_composite_index/plan.sql +++ b/testdata/diff/online/alter_composite_index/plan.sql @@ -8,9 +8,11 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'idx_users_email_pgschema_new'; +WHERE c.relname = 'idx_users_email_pgschema_new' + AND n.nspname = 'public'; DROP INDEX IF EXISTS idx_users_email; @@ -26,9 +28,11 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'idx_users_status_pgschema_new'; +WHERE c.relname = 'idx_users_status_pgschema_new' + AND n.nspname = 'public'; DROP INDEX IF EXISTS idx_users_status; diff --git a/testdata/diff/online/alter_composite_index/plan.txt b/testdata/diff/online/alter_composite_index/plan.txt index 42d0816cf..acd2d5c4d 100644 --- a/testdata/diff/online/alter_composite_index/plan.txt +++ b/testdata/diff/online/alter_composite_index/plan.txt @@ -23,9 +23,11 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'idx_users_email_pgschema_new'; +WHERE c.relname = 'idx_users_email_pgschema_new' + AND n.nspname = 'public'; -- Transaction Group #3 DROP INDEX IF EXISTS idx_users_email; @@ -44,9 +46,11 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'idx_users_status_pgschema_new'; +WHERE c.relname = 'idx_users_status_pgschema_new' + AND n.nspname = 'public'; -- Transaction Group #6 DROP INDEX IF EXISTS idx_users_status; diff --git a/testdata/diff/online/alter_materialized_view_index/plan.json b/testdata/diff/online/alter_materialized_view_index/plan.json index 9b4c81bc3..3c693a4a3 100644 --- a/testdata/diff/online/alter_materialized_view_index/plan.json +++ b/testdata/diff/online/alter_materialized_view_index/plan.json @@ -19,7 +19,7 @@ { "steps": [ { - "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'idx_user_summary_email_pgschema_new';", + "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nJOIN pg_namespace n ON c.relnamespace = n.oid\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'idx_user_summary_email_pgschema_new'\n AND n.nspname = 'public';", "directive": { "type": "wait", "message": "Creating index idx_user_summary_email_pgschema_new" diff --git a/testdata/diff/online/alter_materialized_view_index/plan.sql b/testdata/diff/online/alter_materialized_view_index/plan.sql index 8e7e8a1fc..8e9ea8893 100644 --- a/testdata/diff/online/alter_materialized_view_index/plan.sql +++ b/testdata/diff/online/alter_materialized_view_index/plan.sql @@ -8,9 +8,11 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'idx_user_summary_email_pgschema_new'; +WHERE c.relname = 'idx_user_summary_email_pgschema_new' + AND n.nspname = 'public'; DROP INDEX IF EXISTS idx_user_summary_email; diff --git a/testdata/diff/online/alter_materialized_view_index/plan.txt b/testdata/diff/online/alter_materialized_view_index/plan.txt index c764e24b1..0f2dc918a 100644 --- a/testdata/diff/online/alter_materialized_view_index/plan.txt +++ b/testdata/diff/online/alter_materialized_view_index/plan.txt @@ -22,9 +22,11 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'idx_user_summary_email_pgschema_new'; +WHERE c.relname = 'idx_user_summary_email_pgschema_new' + AND n.nspname = 'public'; -- Transaction Group #3 DROP INDEX IF EXISTS idx_user_summary_email; diff --git a/testdata/diff/online/issue_286_reserved_keyword_quoting/plan.json b/testdata/diff/online/issue_286_reserved_keyword_quoting/plan.json index 23f98097b..068bb85fe 100644 --- a/testdata/diff/online/issue_286_reserved_keyword_quoting/plan.json +++ b/testdata/diff/online/issue_286_reserved_keyword_quoting/plan.json @@ -29,7 +29,7 @@ { "steps": [ { - "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'IDX_order_tenant_order_number';", + "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nJOIN pg_namespace n ON c.relnamespace = n.oid\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'IDX_order_tenant_order_number'\n AND n.nspname = 'public';", "directive": { "type": "wait", "message": "Creating index IDX_order_tenant_order_number" diff --git a/testdata/diff/online/issue_286_reserved_keyword_quoting/plan.sql b/testdata/diff/online/issue_286_reserved_keyword_quoting/plan.sql index 27f857efa..bac32f8eb 100644 --- a/testdata/diff/online/issue_286_reserved_keyword_quoting/plan.sql +++ b/testdata/diff/online/issue_286_reserved_keyword_quoting/plan.sql @@ -11,6 +11,8 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'IDX_order_tenant_order_number'; +WHERE c.relname = 'IDX_order_tenant_order_number' + AND n.nspname = 'public'; diff --git a/testdata/diff/online/issue_286_reserved_keyword_quoting/plan.txt b/testdata/diff/online/issue_286_reserved_keyword_quoting/plan.txt index df9ca2368..bfefb5e96 100644 --- a/testdata/diff/online/issue_286_reserved_keyword_quoting/plan.txt +++ b/testdata/diff/online/issue_286_reserved_keyword_quoting/plan.txt @@ -27,6 +27,8 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'IDX_order_tenant_order_number'; +WHERE c.relname = 'IDX_order_tenant_order_number' + AND n.nspname = 'public'; diff --git a/testdata/diff/online/issue_418_partitioned_parent_index/plan.json b/testdata/diff/online/issue_418_partitioned_parent_index/plan.json index 01c5057b2..10138074a 100644 --- a/testdata/diff/online/issue_418_partitioned_parent_index/plan.json +++ b/testdata/diff/online/issue_418_partitioned_parent_index/plan.json @@ -29,7 +29,7 @@ { "steps": [ { - "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'events_2026_04_payload_idx';", + "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nJOIN pg_namespace n ON c.relnamespace = n.oid\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'events_2026_04_payload_idx'\n AND n.nspname = 'public';", "directive": { "type": "wait", "message": "Creating index events_2026_04_payload_idx" diff --git a/testdata/diff/online/issue_418_partitioned_parent_index/plan.sql b/testdata/diff/online/issue_418_partitioned_parent_index/plan.sql index 3abd716d9..6a13e91ef 100644 --- a/testdata/diff/online/issue_418_partitioned_parent_index/plan.sql +++ b/testdata/diff/online/issue_418_partitioned_parent_index/plan.sql @@ -10,6 +10,8 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'events_2026_04_payload_idx'; +WHERE c.relname = 'events_2026_04_payload_idx' + AND n.nspname = 'public'; diff --git a/testdata/diff/online/issue_418_partitioned_parent_index/plan.txt b/testdata/diff/online/issue_418_partitioned_parent_index/plan.txt index 9744e6577..6d773f2cb 100644 --- a/testdata/diff/online/issue_418_partitioned_parent_index/plan.txt +++ b/testdata/diff/online/issue_418_partitioned_parent_index/plan.txt @@ -27,6 +27,8 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'events_2026_04_payload_idx'; +WHERE c.relname = 'events_2026_04_payload_idx' + AND n.nspname = 'public'; diff --git a/testdata/diff/online/issue_509_index_rebuild_dropped_column/plan.json b/testdata/diff/online/issue_509_index_rebuild_dropped_column/plan.json index 139ce8ee8..855a51dab 100644 --- a/testdata/diff/online/issue_509_index_rebuild_dropped_column/plan.json +++ b/testdata/diff/online/issue_509_index_rebuild_dropped_column/plan.json @@ -29,7 +29,7 @@ { "steps": [ { - "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'idx_notifications_tenant_user_pgschema_new';", + "sql": "SELECT \n COALESCE(i.indisvalid, false) as done,\n CASE \n WHEN p.blocks_total > 0 THEN p.blocks_done * 100 / p.blocks_total\n ELSE 0\n END as progress\nFROM pg_class c\nJOIN pg_namespace n ON c.relnamespace = n.oid\nLEFT JOIN pg_index i ON c.oid = i.indexrelid\nLEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid\nWHERE c.relname = 'idx_notifications_tenant_user_pgschema_new'\n AND n.nspname = 'public';", "directive": { "type": "wait", "message": "Creating index idx_notifications_tenant_user_pgschema_new" diff --git a/testdata/diff/online/issue_509_index_rebuild_dropped_column/plan.sql b/testdata/diff/online/issue_509_index_rebuild_dropped_column/plan.sql index 349c03c9c..68a3dfb2c 100644 --- a/testdata/diff/online/issue_509_index_rebuild_dropped_column/plan.sql +++ b/testdata/diff/online/issue_509_index_rebuild_dropped_column/plan.sql @@ -10,9 +10,11 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'idx_notifications_tenant_user_pgschema_new'; +WHERE c.relname = 'idx_notifications_tenant_user_pgschema_new' + AND n.nspname = 'public'; DROP INDEX IF EXISTS idx_notifications_tenant_user; diff --git a/testdata/diff/online/issue_509_index_rebuild_dropped_column/plan.txt b/testdata/diff/online/issue_509_index_rebuild_dropped_column/plan.txt index 7eb4b5255..1e471437d 100644 --- a/testdata/diff/online/issue_509_index_rebuild_dropped_column/plan.txt +++ b/testdata/diff/online/issue_509_index_rebuild_dropped_column/plan.txt @@ -26,9 +26,11 @@ SELECT ELSE 0 END as progress FROM pg_class c +JOIN pg_namespace n ON c.relnamespace = n.oid LEFT JOIN pg_index i ON c.oid = i.indexrelid LEFT JOIN pg_stat_progress_create_index p ON c.oid = p.index_relid -WHERE c.relname = 'idx_notifications_tenant_user_pgschema_new'; +WHERE c.relname = 'idx_notifications_tenant_user_pgschema_new' + AND n.nspname = 'public'; -- Transaction Group #4 DROP INDEX IF EXISTS idx_notifications_tenant_user;