Skip to content

Commit e8b6d62

Browse files
authored
[Ivory_REL_3_Stable] fix of issue 612 (IvorySQL#693)
* fix of issue 612 * add regression test case for constraint in parenthesis
1 parent 9636913 commit e8b6d62

File tree

3 files changed

+16
-0
lines changed

3 files changed

+16
-0
lines changed

src/backend/oracle_parser/ora_gram.y

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2656,6 +2656,15 @@ alter_table_cmd:
26562656
n->def = $2;
26572657
$$ = (Node *) n;
26582658
}
2659+
/* ALTER TABLE <name> ADD (CONSTRAINT ...) */
2660+
| ADD_P '(' TableConstraint ')'
2661+
{
2662+
AlterTableCmd *n = makeNode(AlterTableCmd);
2663+
2664+
n->subtype = AT_AddConstraint;
2665+
n->def = $3;
2666+
$$ = (Node *) n;
2667+
}
26592668
/* ALTER TABLE <name> ALTER CONSTRAINT ... */
26602669
| ALTER CONSTRAINT name ConstraintAttributeSpec
26612670
{

src/oracle_test/regress/expected/alter_table.out

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -321,6 +321,9 @@ ALTER TABLE onek DROP CONSTRAINT onek_unique1_constraint_foo;
321321
ALTER TABLE onek ADD CONSTRAINT onek_check_constraint CHECK (unique1 >= 0);
322322
ALTER TABLE onek RENAME CONSTRAINT onek_check_constraint TO onek_check_constraint_foo;
323323
ALTER TABLE onek DROP CONSTRAINT onek_check_constraint_foo;
324+
-- support constraint in parenthesis
325+
ALTER TABLE onek ADD (CONSTRAINT onek_check_constraint CHECK (unique1 >= 0));
326+
ALTER TABLE onek DROP CONSTRAINT onek_check_constraint;
324327
-- renaming constraint should rename index as well
325328
ALTER TABLE onek ADD CONSTRAINT onek_unique1_constraint UNIQUE (unique1);
326329
DROP INDEX onek_unique1_constraint; -- to see whether it's there

src/oracle_test/regress/sql/alter_table.sql

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -289,6 +289,10 @@ ALTER TABLE onek ADD CONSTRAINT onek_check_constraint CHECK (unique1 >= 0);
289289
ALTER TABLE onek RENAME CONSTRAINT onek_check_constraint TO onek_check_constraint_foo;
290290
ALTER TABLE onek DROP CONSTRAINT onek_check_constraint_foo;
291291

292+
-- support constraint in parenthesis
293+
ALTER TABLE onek ADD (CONSTRAINT onek_check_constraint CHECK (unique1 >= 0));
294+
ALTER TABLE onek DROP CONSTRAINT onek_check_constraint;
295+
292296
-- renaming constraint should rename index as well
293297
ALTER TABLE onek ADD CONSTRAINT onek_unique1_constraint UNIQUE (unique1);
294298
DROP INDEX onek_unique1_constraint; -- to see whether it's there

0 commit comments

Comments
 (0)