Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit1075dfd

Browse files
committed
Fix ADD IF NOT EXISTS used in conjunction with ALTER TABLE ONLY
The flag for IF NOT EXISTS was only being passed down in the normalrecursing case. It's been this way since originally added in 9.6 incommit2cd40ad so backpatch back to 9.6.
1 parent2ece7c0 commit1075dfd

File tree

3 files changed

+11
-1
lines changed

3 files changed

+11
-1
lines changed

‎src/backend/commands/tablecmds.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4054,7 +4054,7 @@ ATExecCmd(List **wqueue, AlteredTableInfo *tab, Relation rel,
40544054
caseAT_AddColumnToView:/* add column via CREATE OR REPLACE VIEW */
40554055
address=ATExecAddColumn(wqueue,tab,rel, (ColumnDef*)cmd->def,
40564056
false, false,
4057-
false,lockmode);
4057+
cmd->missing_ok,lockmode);
40584058
break;
40594059
caseAT_AddColumnRecurse:
40604060
address=ATExecAddColumn(wqueue,tab,rel, (ColumnDef*)cmd->def,

‎src/test/regress/expected/alter_table.out

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3173,6 +3173,9 @@ ALTER TABLE test_add_column
31733173
ALTER TABLE test_add_column
31743174
ADD COLUMN c2 integer; -- fail because c2 already exists
31753175
ERROR: column "c2" of relation "test_add_column" already exists
3176+
ALTER TABLE ONLY test_add_column
3177+
ADD COLUMN c2 integer; -- fail because c2 already exists
3178+
ERROR: column "c2" of relation "test_add_column" already exists
31763179
\d test_add_column
31773180
Table "public.test_add_column"
31783181
Column | Type | Collation | Nullable | Default
@@ -3183,6 +3186,9 @@ ERROR: column "c2" of relation "test_add_column" already exists
31833186
ALTER TABLE test_add_column
31843187
ADD COLUMN IF NOT EXISTS c2 integer; -- skipping because c2 already exists
31853188
NOTICE: column "c2" of relation "test_add_column" already exists, skipping
3189+
ALTER TABLE ONLY test_add_column
3190+
ADD COLUMN IF NOT EXISTS c2 integer; -- skipping because c2 already exists
3191+
NOTICE: column "c2" of relation "test_add_column" already exists, skipping
31863192
\d test_add_column
31873193
Table "public.test_add_column"
31883194
Column | Type | Collation | Nullable | Default

‎src/test/regress/sql/alter_table.sql

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1971,9 +1971,13 @@ ALTER TABLE test_add_column
19711971
\d test_add_column
19721972
ALTERTABLE test_add_column
19731973
ADD COLUMN c2integer;-- fail because c2 already exists
1974+
ALTERTABLE ONLY test_add_column
1975+
ADD COLUMN c2integer;-- fail because c2 already exists
19741976
\d test_add_column
19751977
ALTERTABLE test_add_column
19761978
ADD COLUMN IF NOT EXISTS c2integer;-- skipping because c2 already exists
1979+
ALTERTABLE ONLY test_add_column
1980+
ADD COLUMN IF NOT EXISTS c2integer;-- skipping because c2 already exists
19771981
\d test_add_column
19781982
ALTERTABLE test_add_column
19791983
ADD COLUMN c2integer,-- fail because c2 already exists

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp