Merge branch 'master' into per_column_option
authorShigeru Hanada <shigeru.hanada@gmail.com>
Tue, 5 Jul 2011 04:58:04 +0000 (13:58 +0900)
committerShigeru Hanada <shigeru.hanada@gmail.com>
Tue, 5 Jul 2011 04:58:04 +0000 (13:58 +0900)
1  2 
doc/src/sgml/catalogs.sgml
doc/src/sgml/information_schema.sgml
src/backend/catalog/heap.c
src/backend/catalog/information_schema.sql
src/backend/commands/tablecmds.c
src/backend/parser/parse_utilcmd.c
src/test/regress/expected/foreign_data.out
src/test/regress/sql/foreign_data.sql

Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index a298a9ce26586688363c2c8a1eabd796caa62003,2b3eddfc8b37b4a2ce827f2663943961f51956eb..45292b5fde414dc47f7adb1858e5b7c13040c816
@@@ -694,31 -694,10 +694,31 @@@ ALTER FOREIGN TABLE ft1 ALTER COLUMN c
  ERROR:  "ft1" is not a table or view
  ALTER FOREIGN TABLE ft1 ALTER COLUMN c6 SET NOT NULL;
  ALTER FOREIGN TABLE ft1 ALTER COLUMN c7 DROP NOT NULL;
- ALTER FOREIGN TABLE ft1 ALTER COLUMN c8 TYPE char(10) using '0'; -- ERROR
- ERROR:  ALTER TYPE USING is only supported on plain tables
+ ALTER FOREIGN TABLE ft1 ALTER COLUMN c8 TYPE char(10) USING '0'; -- ERROR
+ ERROR:  "ft1" is not a table
  ALTER FOREIGN TABLE ft1 ALTER COLUMN c8 TYPE char(10);
  ALTER FOREIGN TABLE ft1 ALTER COLUMN c8 SET DATA TYPE text;
 +ALTER FOREIGN TABLE ft1 ALTER COLUMN xmin OPTIONS (ADD p1 'v1'); -- ERROR
 +ERROR:  cannot alter system column "xmin"
 +ALTER FOREIGN TABLE ft1 ALTER COLUMN c7 OPTIONS (ADD p1 'v1', ADD p2 'v2'),
 +                        ALTER COLUMN c8 OPTIONS (ADD p1 'v1', ADD p2 'v2');
 +ALTER FOREIGN TABLE ft1 ALTER COLUMN c8 OPTIONS (SET p2 'V2', DROP p1);
 +\d+ ft1
 +                            Foreign table "public.ft1"
 + Column |  Type   | Modifiers |          Options          | Storage  | Description 
 +--------+---------+-----------+---------------------------+----------+-------------
 + c1     | integer | not null  | {param1=val1}             | plain    | 
 + c2     | text    |           | {param2=val2,param3=val3} | extended | 
 + c3     | date    |           |                           | plain    | 
 + c4     | integer |           |                           | plain    | 
 + c6     | integer | not null  |                           | plain    | 
 + c7     | integer |           | {p1=v1,p2=v2}             | plain    | 
 + c8     | text    |           | {p2=V2}                   | extended | 
 + c9     | integer |           |                           | plain    | 
 + c10    | integer |           | {p1=v1}                   | plain    | 
 +Server: sc
 +Has OIDs: no
 +
  -- can't change the column type if it's used elsewhere
  CREATE TABLE use_ft1_column_type (x ft1);
  ALTER FOREIGN TABLE ft1 ALTER COLUMN c8 SET DATA TYPE integer;    -- ERROR
index 5d9b24ae9cfb1db4fbc7d80d511338c39f14dce5,58e506047744b2a39e64775e497026af607b8856..b3b49cc2e3f43e9a1dbb378af03aa5cb79b7eadc
@@@ -294,14 -294,9 +294,14 @@@ ALTER FOREIGN TABLE ft1 ALTER COLUMN c
  ALTER FOREIGN TABLE ft1 ALTER COLUMN c5 DROP DEFAULT;           -- ERROR
  ALTER FOREIGN TABLE ft1 ALTER COLUMN c6 SET NOT NULL;
  ALTER FOREIGN TABLE ft1 ALTER COLUMN c7 DROP NOT NULL;
- ALTER FOREIGN TABLE ft1 ALTER COLUMN c8 TYPE char(10) using '0'; -- ERROR
+ ALTER FOREIGN TABLE ft1 ALTER COLUMN c8 TYPE char(10) USING '0'; -- ERROR
  ALTER FOREIGN TABLE ft1 ALTER COLUMN c8 TYPE char(10);
  ALTER FOREIGN TABLE ft1 ALTER COLUMN c8 SET DATA TYPE text;
 +ALTER FOREIGN TABLE ft1 ALTER COLUMN xmin OPTIONS (ADD p1 'v1'); -- ERROR
 +ALTER FOREIGN TABLE ft1 ALTER COLUMN c7 OPTIONS (ADD p1 'v1', ADD p2 'v2'),
 +                        ALTER COLUMN c8 OPTIONS (ADD p1 'v1', ADD p2 'v2');
 +ALTER FOREIGN TABLE ft1 ALTER COLUMN c8 OPTIONS (SET p2 'V2', DROP p1);
 +\d+ ft1
  -- can't change the column type if it's used elsewhere
  CREATE TABLE use_ft1_column_type (x ft1);
  ALTER FOREIGN TABLE ft1 ALTER COLUMN c8 SET DATA TYPE integer;    -- ERROR