diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2012-09-22 18:35:22 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2012-09-22 18:35:22 -0400 |
commit | 31510194cc9d87b355cb56e7d88c18c985d7a32a (patch) | |
tree | bbfc0569d0e8d881d3fba8d4532257646c4b3943 /src/test | |
parent | fcc1576687a122059db311791e45e2c5edc5d89b (diff) |
Minor corrections for ALTER TYPE ADD VALUE IF NOT EXISTS patch.
Produce a NOTICE when the label already exists, for consistency with other
CREATE IF NOT EXISTS commands. Also, fix the code so it produces something
more user-friendly than an index violation when the label already exists.
This not incidentally enables making a regression test that the previous
patch didn't make for fear of exposing an unpredictable OID in the results.
Also some wordsmithing on the documentation.
Diffstat (limited to 'src/test')
-rw-r--r-- | src/test/regress/expected/enum.out | 6 | ||||
-rw-r--r-- | src/test/regress/sql/enum.sql | 6 |
2 files changed, 4 insertions, 8 deletions
diff --git a/src/test/regress/expected/enum.out b/src/test/regress/expected/enum.out index a14097297a1..ed729dddc3f 100644 --- a/src/test/regress/expected/enum.out +++ b/src/test/regress/expected/enum.out @@ -97,11 +97,11 @@ ALTER TYPE planets ADD VALUE 'pluto' AFTER 'zeus'; ERROR: "zeus" is not an existing enum label -- if not exists tests -- existing value gives error --- We can't do this test because the error contains the --- offending Oid value, which is unpredictable. --- ALTER TYPE planets ADD VALUE 'mercury'; +ALTER TYPE planets ADD VALUE 'mercury'; +ERROR: enum label "mercury" already exists -- unless IF NOT EXISTS is specified ALTER TYPE planets ADD VALUE IF NOT EXISTS 'mercury'; +NOTICE: enum label "mercury" already exists, skipping -- should be neptune, not mercury SELECT enum_last(NULL::planets); enum_last diff --git a/src/test/regress/sql/enum.sql b/src/test/regress/sql/enum.sql index db7bf44b408..130a723f698 100644 --- a/src/test/regress/sql/enum.sql +++ b/src/test/regress/sql/enum.sql @@ -57,10 +57,7 @@ ALTER TYPE planets ADD VALUE 'pluto' AFTER 'zeus'; -- if not exists tests -- existing value gives error - --- We can't do this test because the error contains the --- offending Oid value, which is unpredictable. --- ALTER TYPE planets ADD VALUE 'mercury'; +ALTER TYPE planets ADD VALUE 'mercury'; -- unless IF NOT EXISTS is specified ALTER TYPE planets ADD VALUE IF NOT EXISTS 'mercury'; @@ -73,7 +70,6 @@ ALTER TYPE planets ADD VALUE IF NOT EXISTS 'pluto'; -- should be pluto, i.e. the new value SELECT enum_last(NULL::planets); - -- -- Test inserting so many values that we have to renumber -- |