mirror of https://github.com/citusdata/citus.git
Expand list
parent
eb275e136b
commit
4d0fb507c8
|
@ -3060,8 +3060,7 @@ ErrorUnsupportedAlterTableAddColumn(Oid relationId, AlterTableCmd *command,
|
|||
|
||||
if (list_length(constraint->pk_attrs) > 0)
|
||||
{
|
||||
char *referencedColumn = strVal(lfirst(list_head(constraint->pk_attrs)));
|
||||
appendStringInfo(errHint, "(%s)", referencedColumn);
|
||||
AppendColumnNameList(errHint, constraint->pk_attrs);
|
||||
}
|
||||
|
||||
if (constraint->fk_del_action == FKCONSTR_ACTION_SETNULL)
|
||||
|
|
|
@ -121,7 +121,7 @@ AppendAlterTableStmt(StringInfo buf, AlterTableStmt *stmt)
|
|||
* AppendColumnNameList converts a list of columns into comma separated string format
|
||||
* (colname_1, colname_2, .., colname_n).
|
||||
*/
|
||||
static void
|
||||
void
|
||||
AppendColumnNameList(StringInfo buf, List *columns)
|
||||
{
|
||||
appendStringInfoString(buf, " (");
|
||||
|
|
|
@ -121,6 +121,8 @@ extern void AppendGrantedByInGrant(StringInfo buf, GrantStmt *stmt);
|
|||
extern void AppendGrantSharedPrefix(StringInfo buf, GrantStmt *stmt);
|
||||
extern void AppendGrantSharedSuffix(StringInfo buf, GrantStmt *stmt);
|
||||
|
||||
extern void AppendColumnNameList(StringInfo buf, List *columns);
|
||||
|
||||
/* Common deparser utils */
|
||||
|
||||
typedef struct DefElemOptionFormat
|
||||
|
|
|
@ -49,6 +49,10 @@ ALTER TABLE referencing ADD COLUMN test_9 bool, ADD COLUMN test_10 int REFERENCE
|
|||
ERROR: cannot execute ADD COLUMN command with PRIMARY KEY, UNIQUE, FOREIGN and CHECK constraints
|
||||
DETAIL: Adding a column with a constraint in one command is not supported because all constraints in Citus must have explicit names
|
||||
HINT: You can issue each command separately such as ALTER TABLE referencing ADD COLUMN test_10 data_type; ALTER TABLE referencing ADD CONSTRAINT constraint_name FOREIGN KEY (test_10) REFERENCES referenced;
|
||||
ALTER TABLE referencing ADD COLUMN test_9 bool, ADD COLUMN test_10 int REFERENCES referenced(int_col);
|
||||
ERROR: cannot execute ADD COLUMN command with PRIMARY KEY, UNIQUE, FOREIGN and CHECK constraints
|
||||
DETAIL: Adding a column with a constraint in one command is not supported because all constraints in Citus must have explicit names
|
||||
HINT: You can issue each command separately such as ALTER TABLE referencing ADD COLUMN test_10 data_type; ALTER TABLE referencing ADD CONSTRAINT constraint_name FOREIGN KEY (test_10) REFERENCES referenced (int_col );
|
||||
-- try to add test_6 again, but with IF NOT EXISTS
|
||||
ALTER TABLE referencing ADD COLUMN IF NOT EXISTS test_6 text;
|
||||
NOTICE: column "test_6" of relation "referencing" already exists, skipping
|
||||
|
|
|
@ -43,6 +43,7 @@ ALTER TABLE referencing ADD COLUMN test_8 integer CONSTRAINT check_test_8 CHECK
|
|||
|
||||
-- error out properly even if the REFERENCES does not include the column list of the referenced table
|
||||
ALTER TABLE referencing ADD COLUMN test_9 bool, ADD COLUMN test_10 int REFERENCES referenced;
|
||||
ALTER TABLE referencing ADD COLUMN test_9 bool, ADD COLUMN test_10 int REFERENCES referenced(int_col);
|
||||
|
||||
-- try to add test_6 again, but with IF NOT EXISTS
|
||||
ALTER TABLE referencing ADD COLUMN IF NOT EXISTS test_6 text;
|
||||
|
|
Loading…
Reference in New Issue