mirror of
https://github.com/postgres/postgres.git
synced 2025-07-28 23:42:10 +03:00
Add TEMP tables/indexes. Add COPY pfree(). Other cleanups.
This commit is contained in:
@ -1,31 +1,31 @@
|
||||
QUERY: CREATE TABLE temp (initial int4);
|
||||
QUERY: ALTER TABLE temp ADD COLUMN a int4;
|
||||
QUERY: ALTER TABLE temp ADD COLUMN b name;
|
||||
QUERY: ALTER TABLE temp ADD COLUMN c text;
|
||||
QUERY: ALTER TABLE temp ADD COLUMN d float8;
|
||||
QUERY: ALTER TABLE temp ADD COLUMN e float4;
|
||||
QUERY: ALTER TABLE temp ADD COLUMN f int2;
|
||||
QUERY: ALTER TABLE temp ADD COLUMN g polygon;
|
||||
QUERY: ALTER TABLE temp ADD COLUMN h abstime;
|
||||
QUERY: ALTER TABLE temp ADD COLUMN i char;
|
||||
QUERY: ALTER TABLE temp ADD COLUMN j abstime[];
|
||||
QUERY: ALTER TABLE temp ADD COLUMN k dt;
|
||||
QUERY: CREATE TABLE tmp (initial int4);
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN a int4;
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN b name;
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN c text;
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN d float8;
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN e float4;
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN f int2;
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN g polygon;
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN h abstime;
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN i char;
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN j abstime[];
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN k dt;
|
||||
ERROR: type name lookup of dt failed
|
||||
QUERY: ALTER TABLE temp ADD COLUMN l tid;
|
||||
QUERY: ALTER TABLE temp ADD COLUMN m xid;
|
||||
QUERY: ALTER TABLE temp ADD COLUMN n oid8;
|
||||
QUERY: ALTER TABLE temp ADD COLUMN p smgr;
|
||||
QUERY: ALTER TABLE temp ADD COLUMN q point;
|
||||
QUERY: ALTER TABLE temp ADD COLUMN r lseg;
|
||||
QUERY: ALTER TABLE temp ADD COLUMN s path;
|
||||
QUERY: ALTER TABLE temp ADD COLUMN t box;
|
||||
QUERY: ALTER TABLE temp ADD COLUMN u tinterval;
|
||||
QUERY: ALTER TABLE temp ADD COLUMN v datetime;
|
||||
QUERY: ALTER TABLE temp ADD COLUMN w timespan;
|
||||
QUERY: ALTER TABLE temp ADD COLUMN x float8[];
|
||||
QUERY: ALTER TABLE temp ADD COLUMN y float4[];
|
||||
QUERY: ALTER TABLE temp ADD COLUMN z int2[];
|
||||
QUERY: INSERT INTO temp (a, b, c, d, e, f, g, h, i, j, k, l, m, n, p, q, r, s, t, u,
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN l tid;
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN m xid;
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN n oid8;
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN p smgr;
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN q point;
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN r lseg;
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN s path;
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN t box;
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN u tinterval;
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN v datetime;
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN w timespan;
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN x float8[];
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN y float4[];
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN z int2[];
|
||||
QUERY: INSERT INTO tmp (a, b, c, d, e, f, g, h, i, j, k, l, m, n, p, q, r, s, t, u,
|
||||
v, w, x, y, z)
|
||||
VALUES (4, 'name', 'text', 4.1, 4.1, 2, '(4.1,4.1,3.1,3.1)',
|
||||
'Mon May 1 00:30:30 1995', 'c', '{Mon May 1 00:30:30 1995, Monday Aug 24 14:43:07 1992, epoch}',
|
||||
@ -33,43 +33,43 @@ QUERY: INSERT INTO temp (a, b, c, d, e, f, g, h, i, j, k, l, m, n, p, q, r, s, t
|
||||
'1 2 3 4 5 6 7 8', 'magnetic disk', '(1.1,1.1)', '(4.1,4.1,3.1,3.1)',
|
||||
'(0,2,4.1,4.1,3.1,3.1)', '(4.1,4.1,3.1,3.1)', '["current" "infinity"]',
|
||||
'1/3', '1,name', '{1.0,2.0,3.0,4.0}', '{1.0,2.0,3.0,4.0}', '{1,2,3,4}');
|
||||
ERROR: Relation temp does not have attribute k
|
||||
QUERY: SELECT * FROM temp;
|
||||
ERROR: Relation tmp does not have attribute k
|
||||
QUERY: SELECT * FROM tmp;
|
||||
initial|a|b|c|d|e|f|g|h|i|j|l|m|n|p|q|r|s|t|u|v|w|x|y|z
|
||||
-------+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
|
||||
(0 rows)
|
||||
|
||||
QUERY: DROP TABLE temp;
|
||||
QUERY: CREATE TABLE temp (
|
||||
QUERY: DROP TABLE tmp;
|
||||
QUERY: CREATE TABLE tmp (
|
||||
initial int4
|
||||
);
|
||||
QUERY: ALTER TABLE temp ADD COLUMN a int4;
|
||||
QUERY: ALTER TABLE temp ADD COLUMN b name;
|
||||
QUERY: ALTER TABLE temp ADD COLUMN c text;
|
||||
QUERY: ALTER TABLE temp ADD COLUMN d float8;
|
||||
QUERY: ALTER TABLE temp ADD COLUMN e float4;
|
||||
QUERY: ALTER TABLE temp ADD COLUMN f int2;
|
||||
QUERY: ALTER TABLE temp ADD COLUMN g polygon;
|
||||
QUERY: ALTER TABLE temp ADD COLUMN h abstime;
|
||||
QUERY: ALTER TABLE temp ADD COLUMN i char;
|
||||
QUERY: ALTER TABLE temp ADD COLUMN j abstime[];
|
||||
QUERY: ALTER TABLE temp ADD COLUMN k dt;
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN a int4;
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN b name;
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN c text;
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN d float8;
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN e float4;
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN f int2;
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN g polygon;
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN h abstime;
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN i char;
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN j abstime[];
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN k dt;
|
||||
ERROR: type name lookup of dt failed
|
||||
QUERY: ALTER TABLE temp ADD COLUMN l tid;
|
||||
QUERY: ALTER TABLE temp ADD COLUMN m xid;
|
||||
QUERY: ALTER TABLE temp ADD COLUMN n oid8;
|
||||
QUERY: ALTER TABLE temp ADD COLUMN p smgr;
|
||||
QUERY: ALTER TABLE temp ADD COLUMN q point;
|
||||
QUERY: ALTER TABLE temp ADD COLUMN r lseg;
|
||||
QUERY: ALTER TABLE temp ADD COLUMN s path;
|
||||
QUERY: ALTER TABLE temp ADD COLUMN t box;
|
||||
QUERY: ALTER TABLE temp ADD COLUMN u tinterval;
|
||||
QUERY: ALTER TABLE temp ADD COLUMN v datetime;
|
||||
QUERY: ALTER TABLE temp ADD COLUMN w timespan;
|
||||
QUERY: ALTER TABLE temp ADD COLUMN x float8[];
|
||||
QUERY: ALTER TABLE temp ADD COLUMN y float4[];
|
||||
QUERY: ALTER TABLE temp ADD COLUMN z int2[];
|
||||
QUERY: INSERT INTO temp (a, b, c, d, e, f, g, h, i, j, k, l, m, n, p, q, r, s, t, u,
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN l tid;
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN m xid;
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN n oid8;
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN p smgr;
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN q point;
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN r lseg;
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN s path;
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN t box;
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN u tinterval;
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN v datetime;
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN w timespan;
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN x float8[];
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN y float4[];
|
||||
QUERY: ALTER TABLE tmp ADD COLUMN z int2[];
|
||||
QUERY: INSERT INTO tmp (a, b, c, d, e, f, g, h, i, j, k, l, m, n, p, q, r, s, t, u,
|
||||
v, w, x, y, z)
|
||||
VALUES (4, 'name', 'text', 4.1, 4.1, 2, '(4.1,4.1,3.1,3.1)',
|
||||
'Mon May 1 00:30:30 1995', 'c', '{Mon May 1 00:30:30 1995, Monday Aug 24 14:43:07 1992, epoch}',
|
||||
@ -77,13 +77,13 @@ QUERY: INSERT INTO temp (a, b, c, d, e, f, g, h, i, j, k, l, m, n, p, q, r, s, t
|
||||
'1 2 3 4 5 6 7 8', 'magnetic disk', '(1.1,1.1)', '(4.1,4.1,3.1,3.1)',
|
||||
'(0,2,4.1,4.1,3.1,3.1)', '(4.1,4.1,3.1,3.1)', '["current" "infinity"]',
|
||||
'1/3', '1,name', '{1.0,2.0,3.0,4.0}', '{1.0,2.0,3.0,4.0}', '{1,2,3,4}');
|
||||
ERROR: Relation temp does not have attribute k
|
||||
QUERY: SELECT * FROM temp;
|
||||
ERROR: Relation tmp does not have attribute k
|
||||
QUERY: SELECT * FROM tmp;
|
||||
initial|a|b|c|d|e|f|g|h|i|j|l|m|n|p|q|r|s|t|u|v|w|x|y|z
|
||||
-------+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
|
||||
(0 rows)
|
||||
|
||||
QUERY: DROP TABLE temp;
|
||||
QUERY: DROP TABLE tmp;
|
||||
QUERY: ALTER TABLE tenk1 RENAME TO ten_k;
|
||||
QUERY: SELECT unique1 FROM ten_k WHERE unique1 < 20;
|
||||
unique1
|
||||
|
@ -173,7 +173,7 @@ unique1|string4
|
||||
(20 rows)
|
||||
|
||||
QUERY: SELECT two, stringu1, ten, string4
|
||||
INTO TABLE temp
|
||||
INTO TABLE tmp
|
||||
FROM onek;
|
||||
QUERY: SELECT p.name, p.age FROM person* p;
|
||||
name |age
|
||||
|
@ -1,11 +1,11 @@
|
||||
QUERY: SELECT DISTINCT two FROM temp;
|
||||
QUERY: SELECT DISTINCT two FROM tmp;
|
||||
two
|
||||
---
|
||||
0
|
||||
1
|
||||
(2 rows)
|
||||
|
||||
QUERY: SELECT DISTINCT ten FROM temp;
|
||||
QUERY: SELECT DISTINCT ten FROM tmp;
|
||||
ten
|
||||
---
|
||||
0
|
||||
@ -20,7 +20,7 @@ ten
|
||||
9
|
||||
(10 rows)
|
||||
|
||||
QUERY: SELECT DISTINCT string4 FROM temp;
|
||||
QUERY: SELECT DISTINCT string4 FROM tmp;
|
||||
string4
|
||||
-------
|
||||
AAAAxx
|
||||
@ -30,7 +30,7 @@ VVVVxx
|
||||
(4 rows)
|
||||
|
||||
QUERY: SELECT DISTINCT two, string4, ten
|
||||
FROM temp
|
||||
FROM tmp
|
||||
ORDER BY two using <, string4 using <, ten using <;
|
||||
two|string4|ten
|
||||
---+-------+---
|
||||
|
@ -1,5 +1,5 @@
|
||||
QUERY: SELECT DISTINCT ON string4 two, string4, ten
|
||||
FROM temp
|
||||
FROM tmp
|
||||
ORDER BY two using <, string4 using <, ten using <;
|
||||
two|string4|ten
|
||||
---+-------+---
|
||||
|
@ -1,10 +1,10 @@
|
||||
QUERY: SELECT *
|
||||
INTO TABLE temp1
|
||||
FROM temp
|
||||
INTO TABLE tmp1
|
||||
FROM tmp
|
||||
WHERE onek.unique1 < 2;
|
||||
QUERY: DROP TABLE temp1;
|
||||
QUERY: DROP TABLE tmp1;
|
||||
QUERY: SELECT *
|
||||
INTO TABLE temp1
|
||||
FROM temp
|
||||
INTO TABLE tmp1
|
||||
FROM tmp
|
||||
WHERE onek2.unique1 < 2;
|
||||
QUERY: DROP TABLE temp1;
|
||||
QUERY: DROP TABLE tmp1;
|
||||
|
29
src/test/regress/expected/temp.out
Normal file
29
src/test/regress/expected/temp.out
Normal file
@ -0,0 +1,29 @@
|
||||
QUERY: CREATE TABLE temptest(col int);
|
||||
QUERY: CREATE INDEX i_temptest ON temptest(col);
|
||||
QUERY: CREATE TEMP TABLE temptest(col int);
|
||||
QUERY: CREATE INDEX i_temptest ON temptest(col);
|
||||
QUERY: DROP INDEX i_temptest;
|
||||
QUERY: DROP TABLE temptest;
|
||||
QUERY: DROP INDEX i_temptest;
|
||||
QUERY: DROP TABLE temptest;
|
||||
QUERY: CREATE TABLE temptest(col int);
|
||||
QUERY: INSERT INTO temptest VALUES (1);
|
||||
QUERY: CREATE TEMP TABLE temptest(col int);
|
||||
QUERY: INSERT INTO temptest VALUES (2);
|
||||
QUERY: SELECT * FROM temptest;
|
||||
col
|
||||
---
|
||||
2
|
||||
(1 row)
|
||||
|
||||
QUERY: DROP TABLE temptest;
|
||||
QUERY: SELECT * FROM temptest;
|
||||
col
|
||||
---
|
||||
1
|
||||
(1 row)
|
||||
|
||||
QUERY: DROP TABLE temptest;
|
||||
QUERY: CREATE TEMP TABLE temptest(col int);
|
||||
QUERY: SELECT * FROM temptest;
|
||||
ERROR: temptest: Table does not exist.
|
@ -122,22 +122,22 @@ DROP SEQUENCE INSERT_SEQ;
|
||||
|
||||
CREATE SEQUENCE INSERT_SEQ START 4;
|
||||
|
||||
CREATE TABLE TEMP (xd INT, yd TEXT, zd INT);
|
||||
CREATE TABLE tmp (xd INT, yd TEXT, zd INT);
|
||||
|
||||
INSERT INTO TEMP VALUES (null, 'Y', null);
|
||||
INSERT INTO TEMP VALUES (5, '!check failed', null);
|
||||
INSERT INTO TEMP VALUES (null, 'try again', null);
|
||||
INSERT INTO INSERT_TBL(y) select yd from TEMP;
|
||||
INSERT INTO tmp VALUES (null, 'Y', null);
|
||||
INSERT INTO tmp VALUES (5, '!check failed', null);
|
||||
INSERT INTO tmp VALUES (null, 'try again', null);
|
||||
INSERT INTO INSERT_TBL(y) select yd from tmp;
|
||||
|
||||
SELECT '' AS three, * FROM INSERT_TBL;
|
||||
|
||||
INSERT INTO INSERT_TBL SELECT * FROM TEMP WHERE yd = 'try again';
|
||||
INSERT INTO INSERT_TBL(y,z) SELECT yd, -7 FROM TEMP WHERE yd = 'try again';
|
||||
INSERT INTO INSERT_TBL(y,z) SELECT yd, -8 FROM TEMP WHERE yd = 'try again';
|
||||
INSERT INTO INSERT_TBL SELECT * FROM tmp WHERE yd = 'try again';
|
||||
INSERT INTO INSERT_TBL(y,z) SELECT yd, -7 FROM tmp WHERE yd = 'try again';
|
||||
INSERT INTO INSERT_TBL(y,z) SELECT yd, -8 FROM tmp WHERE yd = 'try again';
|
||||
|
||||
SELECT '' AS four, * FROM INSERT_TBL;
|
||||
|
||||
DROP TABLE TEMP;
|
||||
DROP TABLE tmp;
|
||||
|
||||
--
|
||||
-- Check constraints on UPDATE
|
||||
|
@ -26,17 +26,17 @@ UPDATE onek
|
||||
-- systems. This non-func update stuff needs to be examined
|
||||
-- more closely. - jolly (2/22/96)
|
||||
--
|
||||
UPDATE temp
|
||||
UPDATE tmp
|
||||
SET stringu1 = reverse_name(onek.stringu1)
|
||||
WHERE onek.stringu1 = 'JBAAAA' and
|
||||
onek.stringu1 = temp.stringu1;
|
||||
onek.stringu1 = tmp.stringu1;
|
||||
|
||||
UPDATE temp
|
||||
UPDATE tmp
|
||||
SET stringu1 = reverse_name(onek2.stringu1)
|
||||
WHERE onek2.stringu1 = 'JCAAAA' and
|
||||
onek2.stringu1 = temp.stringu1;
|
||||
onek2.stringu1 = tmp.stringu1;
|
||||
|
||||
DROP TABLE temp;
|
||||
DROP TABLE tmp;
|
||||
|
||||
--UPDATE person*
|
||||
-- SET age = age + 1;
|
||||
|
@ -148,11 +148,11 @@ eight| 8
|
||||
QUERY: DELETE FROM INSERT_TBL;
|
||||
QUERY: DROP SEQUENCE INSERT_SEQ;
|
||||
QUERY: CREATE SEQUENCE INSERT_SEQ START 4;
|
||||
QUERY: CREATE TABLE TEMP (xd INT, yd TEXT, zd INT);
|
||||
QUERY: INSERT INTO TEMP VALUES (null, 'Y', null);
|
||||
QUERY: INSERT INTO TEMP VALUES (5, '!check failed', null);
|
||||
QUERY: INSERT INTO TEMP VALUES (null, 'try again', null);
|
||||
QUERY: INSERT INTO INSERT_TBL(y) select yd from TEMP;
|
||||
QUERY: CREATE TABLE tmp (xd INT, yd TEXT, zd INT);
|
||||
QUERY: INSERT INTO tmp VALUES (null, 'Y', null);
|
||||
QUERY: INSERT INTO tmp VALUES (5, '!check failed', null);
|
||||
QUERY: INSERT INTO tmp VALUES (null, 'try again', null);
|
||||
QUERY: INSERT INTO INSERT_TBL(y) select yd from tmp;
|
||||
NOTICE: insert_seq.nextval: sequence was re-created
|
||||
QUERY: SELECT '' AS three, * FROM INSERT_TBL;
|
||||
three|x|y | z
|
||||
@ -162,10 +162,10 @@ three|x|y | z
|
||||
|6|try again |-6
|
||||
(3 rows)
|
||||
|
||||
QUERY: INSERT INTO INSERT_TBL SELECT * FROM TEMP WHERE yd = 'try again';
|
||||
QUERY: INSERT INTO INSERT_TBL SELECT * FROM tmp WHERE yd = 'try again';
|
||||
ERROR: ExecAppend: rejected due to CHECK constraint $2
|
||||
QUERY: INSERT INTO INSERT_TBL(y,z) SELECT yd, -7 FROM TEMP WHERE yd = 'try again';
|
||||
QUERY: INSERT INTO INSERT_TBL(y,z) SELECT yd, -8 FROM TEMP WHERE yd = 'try again';
|
||||
QUERY: INSERT INTO INSERT_TBL(y,z) SELECT yd, -7 FROM tmp WHERE yd = 'try again';
|
||||
QUERY: INSERT INTO INSERT_TBL(y,z) SELECT yd, -8 FROM tmp WHERE yd = 'try again';
|
||||
ERROR: ExecAppend: rejected due to CHECK constraint insert_con
|
||||
QUERY: SELECT '' AS four, * FROM INSERT_TBL;
|
||||
four|x|y | z
|
||||
@ -176,7 +176,7 @@ four|x|y | z
|
||||
|7|try again |-7
|
||||
(4 rows)
|
||||
|
||||
QUERY: DROP TABLE TEMP;
|
||||
QUERY: DROP TABLE tmp;
|
||||
QUERY: UPDATE INSERT_TBL SET x = NULL WHERE x = 6;
|
||||
ERROR: ExecReplace: rejected due to CHECK constraint $2
|
||||
QUERY: UPDATE INSERT_TBL SET x = 6 WHERE x = 6;
|
||||
|
@ -2,19 +2,19 @@ QUERY: UPDATE onek
|
||||
SET unique1 = onek.unique1 + 1;
|
||||
QUERY: UPDATE onek
|
||||
SET unique1 = onek.unique1 - 1;
|
||||
QUERY: UPDATE temp
|
||||
QUERY: UPDATE tmp
|
||||
SET stringu1 = reverse_name(onek.stringu1)
|
||||
WHERE onek.stringu1 = 'JBAAAA' and
|
||||
onek.stringu1 = temp.stringu1;
|
||||
onek.stringu1 = tmp.stringu1;
|
||||
NOTICE: Non-functional update, only first update is performed
|
||||
NOTICE: Non-functional update, only first update is performed
|
||||
QUERY: UPDATE temp
|
||||
QUERY: UPDATE tmp
|
||||
SET stringu1 = reverse_name(onek2.stringu1)
|
||||
WHERE onek2.stringu1 = 'JCAAAA' and
|
||||
onek2.stringu1 = temp.stringu1;
|
||||
onek2.stringu1 = tmp.stringu1;
|
||||
NOTICE: Non-functional update, only first update is performed
|
||||
NOTICE: Non-functional update, only first update is performed
|
||||
QUERY: DROP TABLE temp;
|
||||
QUERY: DROP TABLE tmp;
|
||||
QUERY: COPY onek TO '_OBJWD_/results/onek.data';
|
||||
QUERY: DELETE FROM onek;
|
||||
QUERY: COPY onek FROM '_OBJWD_/results/onek.data';
|
||||
|
@ -1,60 +1,60 @@
|
||||
--
|
||||
-- add attribute
|
||||
--
|
||||
CREATE TABLE temp (initial int4);
|
||||
CREATE TABLE tmp (initial int4);
|
||||
|
||||
ALTER TABLE temp ADD COLUMN a int4;
|
||||
ALTER TABLE tmp ADD COLUMN a int4;
|
||||
|
||||
ALTER TABLE temp ADD COLUMN b name;
|
||||
ALTER TABLE tmp ADD COLUMN b name;
|
||||
|
||||
ALTER TABLE temp ADD COLUMN c text;
|
||||
ALTER TABLE tmp ADD COLUMN c text;
|
||||
|
||||
ALTER TABLE temp ADD COLUMN d float8;
|
||||
ALTER TABLE tmp ADD COLUMN d float8;
|
||||
|
||||
ALTER TABLE temp ADD COLUMN e float4;
|
||||
ALTER TABLE tmp ADD COLUMN e float4;
|
||||
|
||||
ALTER TABLE temp ADD COLUMN f int2;
|
||||
ALTER TABLE tmp ADD COLUMN f int2;
|
||||
|
||||
ALTER TABLE temp ADD COLUMN g polygon;
|
||||
ALTER TABLE tmp ADD COLUMN g polygon;
|
||||
|
||||
ALTER TABLE temp ADD COLUMN h abstime;
|
||||
ALTER TABLE tmp ADD COLUMN h abstime;
|
||||
|
||||
ALTER TABLE temp ADD COLUMN i char;
|
||||
ALTER TABLE tmp ADD COLUMN i char;
|
||||
|
||||
ALTER TABLE temp ADD COLUMN j abstime[];
|
||||
ALTER TABLE tmp ADD COLUMN j abstime[];
|
||||
|
||||
ALTER TABLE temp ADD COLUMN k dt;
|
||||
ALTER TABLE tmp ADD COLUMN k dt;
|
||||
|
||||
ALTER TABLE temp ADD COLUMN l tid;
|
||||
ALTER TABLE tmp ADD COLUMN l tid;
|
||||
|
||||
ALTER TABLE temp ADD COLUMN m xid;
|
||||
ALTER TABLE tmp ADD COLUMN m xid;
|
||||
|
||||
ALTER TABLE temp ADD COLUMN n oid8;
|
||||
ALTER TABLE tmp ADD COLUMN n oid8;
|
||||
|
||||
--ALTER TABLE temp ADD COLUMN o lock;
|
||||
ALTER TABLE temp ADD COLUMN p smgr;
|
||||
--ALTER TABLE tmp ADD COLUMN o lock;
|
||||
ALTER TABLE tmp ADD COLUMN p smgr;
|
||||
|
||||
ALTER TABLE temp ADD COLUMN q point;
|
||||
ALTER TABLE tmp ADD COLUMN q point;
|
||||
|
||||
ALTER TABLE temp ADD COLUMN r lseg;
|
||||
ALTER TABLE tmp ADD COLUMN r lseg;
|
||||
|
||||
ALTER TABLE temp ADD COLUMN s path;
|
||||
ALTER TABLE tmp ADD COLUMN s path;
|
||||
|
||||
ALTER TABLE temp ADD COLUMN t box;
|
||||
ALTER TABLE tmp ADD COLUMN t box;
|
||||
|
||||
ALTER TABLE temp ADD COLUMN u tinterval;
|
||||
ALTER TABLE tmp ADD COLUMN u tinterval;
|
||||
|
||||
ALTER TABLE temp ADD COLUMN v datetime;
|
||||
ALTER TABLE tmp ADD COLUMN v datetime;
|
||||
|
||||
ALTER TABLE temp ADD COLUMN w timespan;
|
||||
ALTER TABLE tmp ADD COLUMN w timespan;
|
||||
|
||||
ALTER TABLE temp ADD COLUMN x float8[];
|
||||
ALTER TABLE tmp ADD COLUMN x float8[];
|
||||
|
||||
ALTER TABLE temp ADD COLUMN y float4[];
|
||||
ALTER TABLE tmp ADD COLUMN y float4[];
|
||||
|
||||
ALTER TABLE temp ADD COLUMN z int2[];
|
||||
ALTER TABLE tmp ADD COLUMN z int2[];
|
||||
|
||||
INSERT INTO temp (a, b, c, d, e, f, g, h, i, j, k, l, m, n, p, q, r, s, t, u,
|
||||
INSERT INTO tmp (a, b, c, d, e, f, g, h, i, j, k, l, m, n, p, q, r, s, t, u,
|
||||
v, w, x, y, z)
|
||||
VALUES (4, 'name', 'text', 4.1, 4.1, 2, '(4.1,4.1,3.1,3.1)',
|
||||
'Mon May 1 00:30:30 1995', 'c', '{Mon May 1 00:30:30 1995, Monday Aug 24 14:43:07 1992, epoch}',
|
||||
@ -63,67 +63,67 @@ INSERT INTO temp (a, b, c, d, e, f, g, h, i, j, k, l, m, n, p, q, r, s, t, u,
|
||||
'(0,2,4.1,4.1,3.1,3.1)', '(4.1,4.1,3.1,3.1)', '["current" "infinity"]',
|
||||
'1/3', '1,name', '{1.0,2.0,3.0,4.0}', '{1.0,2.0,3.0,4.0}', '{1,2,3,4}');
|
||||
|
||||
SELECT * FROM temp;
|
||||
SELECT * FROM tmp;
|
||||
|
||||
DROP TABLE temp;
|
||||
DROP TABLE tmp;
|
||||
|
||||
-- the wolf bug - schema mods caused inconsistent row descriptors
|
||||
CREATE TABLE temp (
|
||||
CREATE TABLE tmp (
|
||||
initial int4
|
||||
);
|
||||
|
||||
ALTER TABLE temp ADD COLUMN a int4;
|
||||
ALTER TABLE tmp ADD COLUMN a int4;
|
||||
|
||||
ALTER TABLE temp ADD COLUMN b name;
|
||||
ALTER TABLE tmp ADD COLUMN b name;
|
||||
|
||||
ALTER TABLE temp ADD COLUMN c text;
|
||||
ALTER TABLE tmp ADD COLUMN c text;
|
||||
|
||||
ALTER TABLE temp ADD COLUMN d float8;
|
||||
ALTER TABLE tmp ADD COLUMN d float8;
|
||||
|
||||
ALTER TABLE temp ADD COLUMN e float4;
|
||||
ALTER TABLE tmp ADD COLUMN e float4;
|
||||
|
||||
ALTER TABLE temp ADD COLUMN f int2;
|
||||
ALTER TABLE tmp ADD COLUMN f int2;
|
||||
|
||||
ALTER TABLE temp ADD COLUMN g polygon;
|
||||
ALTER TABLE tmp ADD COLUMN g polygon;
|
||||
|
||||
ALTER TABLE temp ADD COLUMN h abstime;
|
||||
ALTER TABLE tmp ADD COLUMN h abstime;
|
||||
|
||||
ALTER TABLE temp ADD COLUMN i char;
|
||||
ALTER TABLE tmp ADD COLUMN i char;
|
||||
|
||||
ALTER TABLE temp ADD COLUMN j abstime[];
|
||||
ALTER TABLE tmp ADD COLUMN j abstime[];
|
||||
|
||||
ALTER TABLE temp ADD COLUMN k dt;
|
||||
ALTER TABLE tmp ADD COLUMN k dt;
|
||||
|
||||
ALTER TABLE temp ADD COLUMN l tid;
|
||||
ALTER TABLE tmp ADD COLUMN l tid;
|
||||
|
||||
ALTER TABLE temp ADD COLUMN m xid;
|
||||
ALTER TABLE tmp ADD COLUMN m xid;
|
||||
|
||||
ALTER TABLE temp ADD COLUMN n oid8;
|
||||
ALTER TABLE tmp ADD COLUMN n oid8;
|
||||
|
||||
--ALTER TABLE temp ADD COLUMN o lock;
|
||||
ALTER TABLE temp ADD COLUMN p smgr;
|
||||
--ALTER TABLE tmp ADD COLUMN o lock;
|
||||
ALTER TABLE tmp ADD COLUMN p smgr;
|
||||
|
||||
ALTER TABLE temp ADD COLUMN q point;
|
||||
ALTER TABLE tmp ADD COLUMN q point;
|
||||
|
||||
ALTER TABLE temp ADD COLUMN r lseg;
|
||||
ALTER TABLE tmp ADD COLUMN r lseg;
|
||||
|
||||
ALTER TABLE temp ADD COLUMN s path;
|
||||
ALTER TABLE tmp ADD COLUMN s path;
|
||||
|
||||
ALTER TABLE temp ADD COLUMN t box;
|
||||
ALTER TABLE tmp ADD COLUMN t box;
|
||||
|
||||
ALTER TABLE temp ADD COLUMN u tinterval;
|
||||
ALTER TABLE tmp ADD COLUMN u tinterval;
|
||||
|
||||
ALTER TABLE temp ADD COLUMN v datetime;
|
||||
ALTER TABLE tmp ADD COLUMN v datetime;
|
||||
|
||||
ALTER TABLE temp ADD COLUMN w timespan;
|
||||
ALTER TABLE tmp ADD COLUMN w timespan;
|
||||
|
||||
ALTER TABLE temp ADD COLUMN x float8[];
|
||||
ALTER TABLE tmp ADD COLUMN x float8[];
|
||||
|
||||
ALTER TABLE temp ADD COLUMN y float4[];
|
||||
ALTER TABLE tmp ADD COLUMN y float4[];
|
||||
|
||||
ALTER TABLE temp ADD COLUMN z int2[];
|
||||
ALTER TABLE tmp ADD COLUMN z int2[];
|
||||
|
||||
INSERT INTO temp (a, b, c, d, e, f, g, h, i, j, k, l, m, n, p, q, r, s, t, u,
|
||||
INSERT INTO tmp (a, b, c, d, e, f, g, h, i, j, k, l, m, n, p, q, r, s, t, u,
|
||||
v, w, x, y, z)
|
||||
VALUES (4, 'name', 'text', 4.1, 4.1, 2, '(4.1,4.1,3.1,3.1)',
|
||||
'Mon May 1 00:30:30 1995', 'c', '{Mon May 1 00:30:30 1995, Monday Aug 24 14:43:07 1992, epoch}',
|
||||
@ -132,9 +132,9 @@ INSERT INTO temp (a, b, c, d, e, f, g, h, i, j, k, l, m, n, p, q, r, s, t, u,
|
||||
'(0,2,4.1,4.1,3.1,3.1)', '(4.1,4.1,3.1,3.1)', '["current" "infinity"]',
|
||||
'1/3', '1,name', '{1.0,2.0,3.0,4.0}', '{1.0,2.0,3.0,4.0}', '{1,2,3,4}');
|
||||
|
||||
SELECT * FROM temp;
|
||||
SELECT * FROM tmp;
|
||||
|
||||
DROP TABLE temp;
|
||||
DROP TABLE tmp;
|
||||
|
||||
|
||||
--
|
||||
|
@ -72,7 +72,7 @@ SELECT onek.unique1, onek.string4
|
||||
-- ORDER BY stringu1 using <;
|
||||
|
||||
SELECT two, stringu1, ten, string4
|
||||
INTO TABLE temp
|
||||
INTO TABLE tmp
|
||||
FROM onek;
|
||||
|
||||
--
|
||||
|
@ -1,24 +1,24 @@
|
||||
--
|
||||
-- awk '{print $3;}' onek.data | sort -n | uniq
|
||||
--
|
||||
SELECT DISTINCT two FROM temp;
|
||||
SELECT DISTINCT two FROM tmp;
|
||||
|
||||
--
|
||||
-- awk '{print $5;}' onek.data | sort -n | uniq
|
||||
--
|
||||
SELECT DISTINCT ten FROM temp;
|
||||
SELECT DISTINCT ten FROM tmp;
|
||||
|
||||
--
|
||||
-- awk '{print $16;}' onek.data | sort -d | uniq
|
||||
--
|
||||
SELECT DISTINCT string4 FROM temp;
|
||||
SELECT DISTINCT string4 FROM tmp;
|
||||
|
||||
--
|
||||
-- awk '{print $3,$16,$5;}' onek.data | sort -d | uniq |
|
||||
-- sort +0n -1 +1d -2 +2n -3
|
||||
--
|
||||
SELECT DISTINCT two, string4, ten
|
||||
FROM temp
|
||||
FROM tmp
|
||||
ORDER BY two using <, string4 using <, ten using <;
|
||||
|
||||
--
|
||||
|
@ -3,6 +3,6 @@
|
||||
-- test select distinct on
|
||||
--
|
||||
SELECT DISTINCT ON string4 two, string4, ten
|
||||
FROM temp
|
||||
FROM tmp
|
||||
ORDER BY two using <, string4 using <, ten using <;
|
||||
|
||||
|
@ -1,14 +1,14 @@
|
||||
SELECT *
|
||||
INTO TABLE temp1
|
||||
FROM temp
|
||||
INTO TABLE tmp1
|
||||
FROM tmp
|
||||
WHERE onek.unique1 < 2;
|
||||
|
||||
DROP TABLE temp1;
|
||||
DROP TABLE tmp1;
|
||||
|
||||
SELECT *
|
||||
INTO TABLE temp1
|
||||
FROM temp
|
||||
INTO TABLE tmp1
|
||||
FROM tmp
|
||||
WHERE onek2.unique1 < 2;
|
||||
|
||||
DROP TABLE temp1;
|
||||
DROP TABLE tmp1;
|
||||
|
||||
|
47
src/test/regress/sql/temp.sql
Normal file
47
src/test/regress/sql/temp.sql
Normal file
@ -0,0 +1,47 @@
|
||||
--
|
||||
-- Test temp relations and indexes
|
||||
--
|
||||
|
||||
-- test temp table/index masking
|
||||
|
||||
CREATE TABLE temptest(col int);
|
||||
|
||||
CREATE INDEX i_temptest ON temptest(col);
|
||||
|
||||
CREATE TEMP TABLE temptest(col int);
|
||||
|
||||
CREATE INDEX i_temptest ON temptest(col);
|
||||
|
||||
DROP INDEX i_temptest;
|
||||
|
||||
DROP TABLE temptest;
|
||||
|
||||
DROP INDEX i_temptest;
|
||||
|
||||
DROP TABLE temptest;
|
||||
|
||||
-- test temp table selects
|
||||
|
||||
CREATE TABLE temptest(col int);
|
||||
|
||||
INSERT INTO temptest VALUES (1);
|
||||
|
||||
CREATE TEMP TABLE temptest(col int);
|
||||
|
||||
INSERT INTO temptest VALUES (2);
|
||||
|
||||
SELECT * FROM temptest;
|
||||
|
||||
DROP TABLE temptest;
|
||||
|
||||
SELECT * FROM temptest;
|
||||
|
||||
DROP TABLE temptest;
|
||||
|
||||
CREATE TEMP TABLE temptest(col int);
|
||||
|
||||
-- test temp table deletion
|
||||
|
||||
\c regression
|
||||
|
||||
SELECT * FROM temptest;
|
@ -64,3 +64,4 @@ portals_p2
|
||||
rules
|
||||
install_plpgsql
|
||||
plpgsql
|
||||
temp
|
||||
|
Reference in New Issue
Block a user