=== Applying patches on top of PostgreSQL commit ID 1863452a4bfecfefc51336ecfc78837a164fbb10 === /etc/rc.d/jail: WARNING: Per-jail configuration via jail_* variables is obsolete. Please consider migrating to /etc/jail.conf. Mon Jul 13 05:08:27 UTC 2026 On branch cf/6779 nothing to commit, working tree clean === using 'git am' to apply patch ./v6-0001-recreate-wholerow-dependent-while-ALTER-COLUMN-SET-EXPRESSION.patch === Applying: recreate wholerow dependent while ALTER COLUMN SET EXPRESSION Using index info to reconstruct a base tree... M src/backend/commands/tablecmds.c M src/test/regress/expected/generated_stored.out M src/test/regress/expected/generated_virtual.out M src/test/regress/sql/generated_stored.sql M src/test/regress/sql/generated_virtual.sql Falling back to patching base and 3-way merge... Auto-merging src/test/regress/sql/generated_virtual.sql CONFLICT (content): Merge conflict in src/test/regress/sql/generated_virtual.sql Auto-merging src/test/regress/sql/generated_stored.sql CONFLICT (content): Merge conflict in src/test/regress/sql/generated_stored.sql Auto-merging src/test/regress/expected/generated_virtual.out CONFLICT (content): Merge conflict in src/test/regress/expected/generated_virtual.out Auto-merging src/test/regress/expected/generated_stored.out CONFLICT (content): Merge conflict in src/test/regress/expected/generated_stored.out Auto-merging src/backend/commands/tablecmds.c CONFLICT (content): Merge conflict in src/backend/commands/tablecmds.c error: Failed to merge in the changes. hint: Use 'git am --show-current-patch=diff' to see the failed patch Patch failed at 0001 recreate wholerow dependent while ALTER COLUMN SET EXPRESSION When you have resolved this problem, run "git am --continue". If you prefer to skip this patch, run "git am --skip" instead. To restore the original branch and stop patching, run "git am --abort". === using patch(1) to apply patch ./v6-0001-recreate-wholerow-dependent-while-ALTER-COLUMN-SET-EXPRESSION.patch === patching file src/backend/commands/tablecmds.c Hunk #1 succeeded at 794 (offset 8 lines). Hunk #2 succeeded at 8814 with fuzz 2 (offset 20 lines). Hunk #3 succeeded at 24400 (offset 485 lines). patching file src/test/regress/expected/generated_stored.out Hunk #1 FAILED at 688. 1 out of 1 hunk FAILED -- saving rejects to file src/test/regress/expected/generated_stored.out.rej patching file src/test/regress/expected/generated_virtual.out Hunk #1 FAILED at 694. 1 out of 1 hunk FAILED -- saving rejects to file src/test/regress/expected/generated_virtual.out.rej patching file src/test/regress/sql/generated_stored.sql Hunk #1 FAILED at 341. 1 out of 1 hunk FAILED -- saving rejects to file src/test/regress/sql/generated_stored.sql.rej patching file src/test/regress/sql/generated_virtual.sql Hunk #1 FAILED at 347. 1 out of 1 hunk FAILED -- saving rejects to file src/test/regress/sql/generated_virtual.sql.rej Unstaged changes after reset: M src/backend/commands/tablecmds.c Removing src/test/regress/expected/generated_stored.out.rej Removing src/test/regress/expected/generated_virtual.out.rej Removing src/test/regress/sql/generated_stored.sql.rej Removing src/test/regress/sql/generated_virtual.sql.rej === using 'git apply' to apply patch ./v6-0001-recreate-wholerow-dependent-while-ALTER-COLUMN-SET-EXPRESSION.patch === Applied patch to 'src/backend/commands/tablecmds.c' with conflicts. Applied patch to 'src/test/regress/expected/generated_stored.out' with conflicts. Applied patch to 'src/test/regress/expected/generated_virtual.out' with conflicts. Applied patch to 'src/test/regress/sql/generated_stored.sql' with conflicts. Applied patch to 'src/test/regress/sql/generated_virtual.sql' with conflicts. U src/backend/commands/tablecmds.c U src/test/regress/expected/generated_stored.out U src/test/regress/expected/generated_virtual.out U src/test/regress/sql/generated_stored.sql U src/test/regress/sql/generated_virtual.sql diff --cc src/backend/commands/tablecmds.c index cb93c3e935a,de563a0c51d..00000000000 --- a/src/backend/commands/tablecmds.c +++ b/src/backend/commands/tablecmds.c @@@ -8822,7 -8799,7 +8825,11 @@@ ATExecSetExpression(AlteredTableInfo *t * (constraints, indexes, etc.), and record enough information to let us * recreate the objects. */ ++<<<<<<< ours + RememberWholeRowDependentForRebuilding(tab, AT_SetExpression, rel); ++======= + RememberWholeRowDependentForRebuilding(tab, AT_SetExpression, rel, attnum, colName); ++>>>>>>> theirs /* * Drop the dependency records of the GENERATED expression, in particular diff --cc src/test/regress/expected/generated_stored.out index 6a8b5113e73,469d995a742..00000000000 --- a/src/test/regress/expected/generated_stored.out +++ b/src/test/regress/expected/generated_stored.out @@@ -694,9 -694,9 +694,15 @@@ ERROR: check constraint "whole_row_che CREATE TABLE gtest20d (a int, b int GENERATED ALWAYS AS (a * 2) STORED); INSERT INTO gtest20d VALUES (1), (1); CREATE INDEX gtest20d_idx1 ON gtest20d (a) WHERE gtest20d = ROW (1, 2); ++<<<<<<< ours +ALTER TABLE gtest20d ALTER COLUMN b SET EXPRESSION AS (a * 2::bigint); -- index rebuild +CREATE INDEX gtest20d_idx2 ON gtest20d ((gtest20d = ROW (1, 2))); +ALTER TABLE gtest20d ALTER COLUMN b SET EXPRESSION AS (a * 3); -- index rebuild ++======= + ALTER TABLE gtest20d ALTER COLUMN b SET EXPRESSION AS ( a * 2::bigint); -- index rebuild + CREATE INDEX gtest20d_idx2 ON gtest20d ((gtest20d = ROW (1, 2))); + ALTER TABLE gtest20d ALTER COLUMN b SET EXPRESSION AS ( a * 3); -- index rebuild ++>>>>>>> theirs -- not-null constraints CREATE TABLE gtest21a (a int PRIMARY KEY, b int GENERATED ALWAYS AS (nullif(a, 0)) STORED NOT NULL); INSERT INTO gtest21a (a) VALUES (1); -- ok diff --cc src/test/regress/expected/generated_virtual.out index 6ee029796f1,cc13a3c318a..00000000000 --- a/src/test/regress/expected/generated_virtual.out +++ b/src/test/regress/expected/generated_virtual.out @@@ -700,9 -700,9 +700,15 @@@ ERROR: check constraint "whole_row_che CREATE TABLE gtest20d (a int, b int GENERATED ALWAYS AS (a * 2) VIRTUAL); INSERT INTO gtest20d VALUES (1), (1); CREATE INDEX gtest20d_idx1 ON gtest20d (a) WHERE gtest20d = ROW (1, 2); ++<<<<<<< ours +ALTER TABLE gtest20d ALTER COLUMN b SET EXPRESSION AS (a * 2::bigint); -- index rebuild +CREATE INDEX gtest20d_idx2 ON gtest20d ((gtest20d = ROW (1, 2))); +ALTER TABLE gtest20d ALTER COLUMN b SET EXPRESSION AS (a * 3); -- index rebuild ++======= + ALTER TABLE gtest20d ALTER COLUMN b SET EXPRESSION AS ( a * 2::bigint); -- index rebuild + CREATE INDEX gtest20d_idx2 ON gtest20d ((gtest20d = ROW (1, 2))); + ALTER TABLE gtest20d ALTER COLUMN b SET EXPRESSION AS ( a * 3); -- index rebuild ++>>>>>>> theirs -- not-null constraints CREATE TABLE gtest21a (a int PRIMARY KEY, b int GENERATED ALWAYS AS (nullif(a, 0)) VIRTUAL NOT NULL); INSERT INTO gtest21a (a) VALUES (1); -- ok diff --cc src/test/regress/sql/generated_stored.sql index b349a16ddf3,c91fa144c90..00000000000 --- a/src/test/regress/sql/generated_stored.sql +++ b/src/test/regress/sql/generated_stored.sql @@@ -348,9 -348,9 +348,15 @@@ CREATE TABLE gtest20d (a int, b int GEN INSERT INTO gtest20d VALUES (1), (1); CREATE INDEX gtest20d_idx1 ON gtest20d (a) WHERE gtest20d = ROW (1, 2); ++<<<<<<< ours +ALTER TABLE gtest20d ALTER COLUMN b SET EXPRESSION AS (a * 2::bigint); -- index rebuild +CREATE INDEX gtest20d_idx2 ON gtest20d ((gtest20d = ROW (1, 2))); +ALTER TABLE gtest20d ALTER COLUMN b SET EXPRESSION AS (a * 3); -- index rebuild ++======= + ALTER TABLE gtest20d ALTER COLUMN b SET EXPRESSION AS ( a * 2::bigint); -- index rebuild + CREATE INDEX gtest20d_idx2 ON gtest20d ((gtest20d = ROW (1, 2))); + ALTER TABLE gtest20d ALTER COLUMN b SET EXPRESSION AS ( a * 3); -- index rebuild ++>>>>>>> theirs -- not-null constraints CREATE TABLE gtest21a (a int PRIMARY KEY, b int GENERATED ALWAYS AS (nullif(a, 0)) STORED NOT NULL); diff --cc src/test/regress/sql/generated_virtual.sql index ed9d50fe784,5b75f2ebf23..00000000000 --- a/src/test/regress/sql/generated_virtual.sql +++ b/src/test/regress/sql/generated_virtual.sql @@@ -354,9 -354,9 +354,15 @@@ CREATE TABLE gtest20d (a int, b int GEN INSERT INTO gtest20d VALUES (1), (1); CREATE INDEX gtest20d_idx1 ON gtest20d (a) WHERE gtest20d = ROW (1, 2); ++<<<<<<< ours +ALTER TABLE gtest20d ALTER COLUMN b SET EXPRESSION AS (a * 2::bigint); -- index rebuild +CREATE INDEX gtest20d_idx2 ON gtest20d ((gtest20d = ROW (1, 2))); +ALTER TABLE gtest20d ALTER COLUMN b SET EXPRESSION AS (a * 3); -- index rebuild ++======= + ALTER TABLE gtest20d ALTER COLUMN b SET EXPRESSION AS ( a * 2::bigint); -- index rebuild + CREATE INDEX gtest20d_idx2 ON gtest20d ((gtest20d = ROW (1, 2))); + ALTER TABLE gtest20d ALTER COLUMN b SET EXPRESSION AS ( a * 3); -- index rebuild ++>>>>>>> theirs -- not-null constraints CREATE TABLE gtest21a (a int PRIMARY KEY, b int GENERATED ALWAYS AS (nullif(a, 0)) VIRTUAL NOT NULL);