mirror of
https://github.com/postgres/postgres.git
synced 2025-12-07 12:02:30 +03:00
Retire xlateSqlType/xlateSqlFunc; all type name translations are now
handled as special productions. This is needed to keep us honest about user-schema type names that happen to coincide with system type names. Per pghackers discussion 24-Apr. To avoid bloating the keyword list too much, I removed the translations for datetime, timespan, and lztext, all of which were slated for destruction several versions back anyway.
This commit is contained in:
@@ -24,8 +24,8 @@ ALTER TABLE tmp ADD COLUMN r lseg;
|
||||
ALTER TABLE tmp ADD COLUMN s path;
|
||||
ALTER TABLE tmp ADD COLUMN t box;
|
||||
ALTER TABLE tmp ADD COLUMN u tinterval;
|
||||
ALTER TABLE tmp ADD COLUMN v datetime;
|
||||
ALTER TABLE tmp ADD COLUMN w timespan;
|
||||
ALTER TABLE tmp ADD COLUMN v timestamp;
|
||||
ALTER TABLE tmp ADD COLUMN w interval;
|
||||
ALTER TABLE tmp ADD COLUMN x float8[];
|
||||
ALTER TABLE tmp ADD COLUMN y float4[];
|
||||
ALTER TABLE tmp ADD COLUMN z int2[];
|
||||
@@ -69,8 +69,8 @@ ALTER TABLE tmp ADD COLUMN r lseg;
|
||||
ALTER TABLE tmp ADD COLUMN s path;
|
||||
ALTER TABLE tmp ADD COLUMN t box;
|
||||
ALTER TABLE tmp ADD COLUMN u tinterval;
|
||||
ALTER TABLE tmp ADD COLUMN v datetime;
|
||||
ALTER TABLE tmp ADD COLUMN w timespan;
|
||||
ALTER TABLE tmp ADD COLUMN v timestamp;
|
||||
ALTER TABLE tmp ADD COLUMN w interval;
|
||||
ALTER TABLE tmp ADD COLUMN x float8[];
|
||||
ALTER TABLE tmp ADD COLUMN y float4[];
|
||||
ALTER TABLE tmp ADD COLUMN z int2[];
|
||||
@@ -377,14 +377,14 @@ CREATE TEMP TABLE PKTABLE (ptest1 int, ptest2 inet,
|
||||
PRIMARY KEY(ptest1, ptest2));
|
||||
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index 'pktable_pkey' for table 'pktable'
|
||||
-- This should fail, because we just chose really odd types
|
||||
CREATE TEMP TABLE FKTABLE (ftest1 cidr, ftest2 datetime);
|
||||
CREATE TEMP TABLE FKTABLE (ftest1 cidr, ftest2 timestamp);
|
||||
ALTER TABLE FKTABLE ADD FOREIGN KEY(ftest1, ftest2) references pktable;
|
||||
NOTICE: ALTER TABLE will create implicit trigger(s) for FOREIGN KEY check(s)
|
||||
ERROR: Unable to identify an operator '=' for types 'cidr' and 'integer'
|
||||
You will have to retype this query using an explicit cast
|
||||
-- Again, so should this...
|
||||
DROP TABLE FKTABLE;
|
||||
CREATE TEMP TABLE FKTABLE (ftest1 cidr, ftest2 datetime);
|
||||
CREATE TEMP TABLE FKTABLE (ftest1 cidr, ftest2 timestamp);
|
||||
ALTER TABLE FKTABLE ADD FOREIGN KEY(ftest1, ftest2)
|
||||
references pktable(ptest1, ptest2);
|
||||
NOTICE: ALTER TABLE will create implicit trigger(s) for FOREIGN KEY check(s)
|
||||
|
||||
@@ -747,12 +747,12 @@ DROP TABLE PKTABLE;
|
||||
CREATE TABLE PKTABLE (ptest1 int, ptest2 inet, PRIMARY KEY(ptest1, ptest2));
|
||||
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index 'pktable_pkey' for table 'pktable'
|
||||
-- This should fail, because we just chose really odd types
|
||||
CREATE TABLE FKTABLE (ftest1 cidr, ftest2 datetime, FOREIGN KEY(ftest1, ftest2) REFERENCES pktable);
|
||||
CREATE TABLE FKTABLE (ftest1 cidr, ftest2 timestamp, FOREIGN KEY(ftest1, ftest2) REFERENCES pktable);
|
||||
NOTICE: CREATE TABLE will create implicit trigger(s) for FOREIGN KEY check(s)
|
||||
ERROR: Unable to identify an operator '=' for types 'cidr' and 'integer'
|
||||
You will have to retype this query using an explicit cast
|
||||
-- Again, so should this...
|
||||
CREATE TABLE FKTABLE (ftest1 cidr, ftest2 datetime, FOREIGN KEY(ftest1, ftest2) REFERENCES pktable(ptest1, ptest2));
|
||||
CREATE TABLE FKTABLE (ftest1 cidr, ftest2 timestamp, FOREIGN KEY(ftest1, ftest2) REFERENCES pktable(ptest1, ptest2));
|
||||
NOTICE: CREATE TABLE will create implicit trigger(s) for FOREIGN KEY check(s)
|
||||
ERROR: Unable to identify an operator '=' for types 'cidr' and 'integer'
|
||||
You will have to retype this query using an explicit cast
|
||||
|
||||
@@ -1013,7 +1013,7 @@ SELECT * FROM shoe_ready WHERE total_avail >= 2;
|
||||
sl_name char(10), -- shoelace changed
|
||||
sl_avail integer, -- new available value
|
||||
log_who name, -- who did it
|
||||
log_when datetime -- when
|
||||
log_when timestamp -- when
|
||||
);
|
||||
-- Want "log_who" to be CURRENT_USER,
|
||||
-- but that is non-portable for the regression test
|
||||
|
||||
@@ -46,9 +46,9 @@ ALTER TABLE tmp ADD COLUMN t box;
|
||||
|
||||
ALTER TABLE tmp ADD COLUMN u tinterval;
|
||||
|
||||
ALTER TABLE tmp ADD COLUMN v datetime;
|
||||
ALTER TABLE tmp ADD COLUMN v timestamp;
|
||||
|
||||
ALTER TABLE tmp ADD COLUMN w timespan;
|
||||
ALTER TABLE tmp ADD COLUMN w interval;
|
||||
|
||||
ALTER TABLE tmp ADD COLUMN x float8[];
|
||||
|
||||
@@ -115,9 +115,9 @@ ALTER TABLE tmp ADD COLUMN t box;
|
||||
|
||||
ALTER TABLE tmp ADD COLUMN u tinterval;
|
||||
|
||||
ALTER TABLE tmp ADD COLUMN v datetime;
|
||||
ALTER TABLE tmp ADD COLUMN v timestamp;
|
||||
|
||||
ALTER TABLE tmp ADD COLUMN w timespan;
|
||||
ALTER TABLE tmp ADD COLUMN w interval;
|
||||
|
||||
ALTER TABLE tmp ADD COLUMN x float8[];
|
||||
|
||||
@@ -256,11 +256,11 @@ DROP TABLE fktable;
|
||||
CREATE TEMP TABLE PKTABLE (ptest1 int, ptest2 inet,
|
||||
PRIMARY KEY(ptest1, ptest2));
|
||||
-- This should fail, because we just chose really odd types
|
||||
CREATE TEMP TABLE FKTABLE (ftest1 cidr, ftest2 datetime);
|
||||
CREATE TEMP TABLE FKTABLE (ftest1 cidr, ftest2 timestamp);
|
||||
ALTER TABLE FKTABLE ADD FOREIGN KEY(ftest1, ftest2) references pktable;
|
||||
-- Again, so should this...
|
||||
DROP TABLE FKTABLE;
|
||||
CREATE TEMP TABLE FKTABLE (ftest1 cidr, ftest2 datetime);
|
||||
CREATE TEMP TABLE FKTABLE (ftest1 cidr, ftest2 timestamp);
|
||||
ALTER TABLE FKTABLE ADD FOREIGN KEY(ftest1, ftest2)
|
||||
references pktable(ptest1, ptest2);
|
||||
-- This fails because we mixed up the column ordering
|
||||
|
||||
@@ -448,9 +448,9 @@ DROP TABLE PKTABLE;
|
||||
-- Two columns, two tables
|
||||
CREATE TABLE PKTABLE (ptest1 int, ptest2 inet, PRIMARY KEY(ptest1, ptest2));
|
||||
-- This should fail, because we just chose really odd types
|
||||
CREATE TABLE FKTABLE (ftest1 cidr, ftest2 datetime, FOREIGN KEY(ftest1, ftest2) REFERENCES pktable);
|
||||
CREATE TABLE FKTABLE (ftest1 cidr, ftest2 timestamp, FOREIGN KEY(ftest1, ftest2) REFERENCES pktable);
|
||||
-- Again, so should this...
|
||||
CREATE TABLE FKTABLE (ftest1 cidr, ftest2 datetime, FOREIGN KEY(ftest1, ftest2) REFERENCES pktable(ptest1, ptest2));
|
||||
CREATE TABLE FKTABLE (ftest1 cidr, ftest2 timestamp, FOREIGN KEY(ftest1, ftest2) REFERENCES pktable(ptest1, ptest2));
|
||||
-- This fails because we mixed up the column ordering
|
||||
CREATE TABLE FKTABLE (ftest1 int, ftest2 inet, FOREIGN KEY(ftest2, ftest1) REFERENCES pktable);
|
||||
-- As does this...
|
||||
|
||||
@@ -591,7 +591,7 @@ SELECT * FROM shoe_ready WHERE total_avail >= 2;
|
||||
sl_name char(10), -- shoelace changed
|
||||
sl_avail integer, -- new available value
|
||||
log_who name, -- who did it
|
||||
log_when datetime -- when
|
||||
log_when timestamp -- when
|
||||
);
|
||||
|
||||
-- Want "log_who" to be CURRENT_USER,
|
||||
|
||||
Reference in New Issue
Block a user