split out a bunch more tests from misc.source so that the tester knows
what's being tested :)
This commit is contained in:
parent
cac554607f
commit
832c0a4ff1
@ -92,553 +92,6 @@ SELECT count(*) FROM onek where oidrand(onek.oid, 10);
|
|||||||
SELECT count(*) FROM onek where oidrand(onek.oid, 10);
|
SELECT count(*) FROM onek where oidrand(onek.oid, 10);
|
||||||
|
|
||||||
|
|
||||||
--
|
|
||||||
-- transaction blocks
|
|
||||||
--
|
|
||||||
BEGIN;
|
|
||||||
|
|
||||||
SELECT *
|
|
||||||
INTO TABLE xacttest
|
|
||||||
FROM aggtest;
|
|
||||||
|
|
||||||
INSERT INTO xacttest (a, b) VALUES (777, 777.777);
|
|
||||||
|
|
||||||
END;
|
|
||||||
|
|
||||||
-- should retrieve one value--
|
|
||||||
SELECT a FROM xacttest WHERE a > 100;
|
|
||||||
|
|
||||||
|
|
||||||
BEGIN;
|
|
||||||
|
|
||||||
CREATE TABLE disappear (a int4);
|
|
||||||
|
|
||||||
DELETE FROM aggtest;
|
|
||||||
|
|
||||||
-- should be empty
|
|
||||||
SELECT * FROM aggtest;
|
|
||||||
|
|
||||||
ABORT;
|
|
||||||
|
|
||||||
-- should not exist
|
|
||||||
SELECT oid FROM pg_class WHERE relname = 'disappear';
|
|
||||||
|
|
||||||
-- should have members again
|
|
||||||
SELECT * FROM aggtest;
|
|
||||||
|
|
||||||
|
|
||||||
--
|
|
||||||
-- portal manipulation
|
|
||||||
--
|
|
||||||
BEGIN;
|
|
||||||
|
|
||||||
DECLARE foo1 CURSOR FOR SELECT * FROM tenk1;
|
|
||||||
|
|
||||||
DECLARE foo2 CURSOR FOR SELECT * FROM tenk2;
|
|
||||||
|
|
||||||
DECLARE foo3 CURSOR FOR SELECT * FROM tenk1;
|
|
||||||
|
|
||||||
DECLARE foo4 CURSOR FOR SELECT * FROM tenk2;
|
|
||||||
|
|
||||||
DECLARE foo5 CURSOR FOR SELECT * FROM tenk1;
|
|
||||||
|
|
||||||
DECLARE foo6 CURSOR FOR SELECT * FROM tenk2;
|
|
||||||
|
|
||||||
DECLARE foo7 CURSOR FOR SELECT * FROM tenk1;
|
|
||||||
|
|
||||||
DECLARE foo8 CURSOR FOR SELECT * FROM tenk2;
|
|
||||||
|
|
||||||
DECLARE foo9 CURSOR FOR SELECT * FROM tenk1;
|
|
||||||
|
|
||||||
DECLARE foo10 CURSOR FOR SELECT * FROM tenk2;
|
|
||||||
|
|
||||||
DECLARE foo11 CURSOR FOR SELECT * FROM tenk1;
|
|
||||||
|
|
||||||
DECLARE foo12 CURSOR FOR SELECT * FROM tenk2;
|
|
||||||
|
|
||||||
DECLARE foo13 CURSOR FOR SELECT * FROM tenk1;
|
|
||||||
|
|
||||||
DECLARE foo14 CURSOR FOR SELECT * FROM tenk2;
|
|
||||||
|
|
||||||
DECLARE foo15 CURSOR FOR SELECT * FROM tenk1;
|
|
||||||
|
|
||||||
DECLARE foo16 CURSOR FOR SELECT * FROM tenk2;
|
|
||||||
|
|
||||||
DECLARE foo17 CURSOR FOR SELECT * FROM tenk1;
|
|
||||||
|
|
||||||
DECLARE foo18 CURSOR FOR SELECT * FROM tenk2;
|
|
||||||
|
|
||||||
DECLARE foo19 CURSOR FOR SELECT * FROM tenk1;
|
|
||||||
|
|
||||||
DECLARE foo20 CURSOR FOR SELECT * FROM tenk2;
|
|
||||||
|
|
||||||
DECLARE foo21 CURSOR FOR SELECT * FROM tenk1;
|
|
||||||
|
|
||||||
DECLARE foo22 CURSOR FOR SELECT * FROM tenk2;
|
|
||||||
|
|
||||||
DECLARE foo23 CURSOR FOR SELECT * FROM tenk1;
|
|
||||||
|
|
||||||
FETCH 1 in foo1;
|
|
||||||
|
|
||||||
FETCH 2 in foo2;
|
|
||||||
|
|
||||||
FETCH 3 in foo3;
|
|
||||||
|
|
||||||
FETCH 4 in foo4;
|
|
||||||
|
|
||||||
FETCH 5 in foo5;
|
|
||||||
|
|
||||||
FETCH 6 in foo6;
|
|
||||||
|
|
||||||
FETCH 7 in foo7;
|
|
||||||
|
|
||||||
FETCH 8 in foo8;
|
|
||||||
|
|
||||||
FETCH 9 in foo9;
|
|
||||||
|
|
||||||
FETCH 10 in foo10;
|
|
||||||
|
|
||||||
FETCH 11 in foo11;
|
|
||||||
|
|
||||||
FETCH 12 in foo12;
|
|
||||||
|
|
||||||
FETCH 13 in foo13;
|
|
||||||
|
|
||||||
FETCH 14 in foo14;
|
|
||||||
|
|
||||||
FETCH 15 in foo15;
|
|
||||||
|
|
||||||
FETCH 16 in foo16;
|
|
||||||
|
|
||||||
FETCH 17 in foo17;
|
|
||||||
|
|
||||||
FETCH 18 in foo18;
|
|
||||||
|
|
||||||
FETCH 19 in foo19;
|
|
||||||
|
|
||||||
FETCH 20 in foo20;
|
|
||||||
|
|
||||||
FETCH 21 in foo21;
|
|
||||||
|
|
||||||
FETCH 22 in foo22;
|
|
||||||
|
|
||||||
FETCH 23 in foo23;
|
|
||||||
|
|
||||||
FETCH backward 1 in foo23;
|
|
||||||
|
|
||||||
FETCH backward 2 in foo22;
|
|
||||||
|
|
||||||
FETCH backward 3 in foo21;
|
|
||||||
|
|
||||||
FETCH backward 4 in foo20;
|
|
||||||
|
|
||||||
FETCH backward 5 in foo19;
|
|
||||||
|
|
||||||
FETCH backward 6 in foo18;
|
|
||||||
|
|
||||||
FETCH backward 7 in foo17;
|
|
||||||
|
|
||||||
FETCH backward 8 in foo16;
|
|
||||||
|
|
||||||
FETCH backward 9 in foo15;
|
|
||||||
|
|
||||||
FETCH backward 10 in foo14;
|
|
||||||
|
|
||||||
FETCH backward 11 in foo13;
|
|
||||||
|
|
||||||
FETCH backward 12 in foo12;
|
|
||||||
|
|
||||||
FETCH backward 13 in foo11;
|
|
||||||
|
|
||||||
FETCH backward 14 in foo10;
|
|
||||||
|
|
||||||
FETCH backward 15 in foo9;
|
|
||||||
|
|
||||||
FETCH backward 16 in foo8;
|
|
||||||
|
|
||||||
FETCH backward 17 in foo7;
|
|
||||||
|
|
||||||
FETCH backward 18 in foo6;
|
|
||||||
|
|
||||||
FETCH backward 19 in foo5;
|
|
||||||
|
|
||||||
FETCH backward 20 in foo4;
|
|
||||||
|
|
||||||
FETCH backward 21 in foo3;
|
|
||||||
|
|
||||||
FETCH backward 22 in foo2;
|
|
||||||
|
|
||||||
FETCH backward 23 in foo1;
|
|
||||||
|
|
||||||
CLOSE foo1;
|
|
||||||
|
|
||||||
CLOSE foo2;
|
|
||||||
|
|
||||||
CLOSE foo3;
|
|
||||||
|
|
||||||
CLOSE foo4;
|
|
||||||
|
|
||||||
CLOSE foo5;
|
|
||||||
|
|
||||||
CLOSE foo6;
|
|
||||||
|
|
||||||
CLOSE foo7;
|
|
||||||
|
|
||||||
CLOSE foo8;
|
|
||||||
|
|
||||||
CLOSE foo9;
|
|
||||||
|
|
||||||
CLOSE foo10;
|
|
||||||
|
|
||||||
CLOSE foo11;
|
|
||||||
|
|
||||||
CLOSE foo12;
|
|
||||||
|
|
||||||
end;
|
|
||||||
|
|
||||||
EXTEND INDEX onek2_u1_prtl WHERE onek2.unique1 <= 60;
|
|
||||||
|
|
||||||
BEGIN;
|
|
||||||
|
|
||||||
DECLARE foo13 CURSOR FOR
|
|
||||||
SELECT * FROM onek WHERE unique1 = 50;
|
|
||||||
|
|
||||||
DECLARE foo14 CURSOR FOR
|
|
||||||
SELECT * FROM onek WHERE unique1 = 51;
|
|
||||||
|
|
||||||
DECLARE foo15 CURSOR FOR
|
|
||||||
SELECT * FROM onek WHERE unique1 = 52;
|
|
||||||
|
|
||||||
DECLARE foo16 CURSOR FOR
|
|
||||||
SELECT * FROM onek WHERE unique1 = 53;
|
|
||||||
|
|
||||||
DECLARE foo17 CURSOR FOR
|
|
||||||
SELECT * FROM onek WHERE unique1 = 54;
|
|
||||||
|
|
||||||
DECLARE foo18 CURSOR FOR
|
|
||||||
SELECT * FROM onek WHERE unique1 = 55;
|
|
||||||
|
|
||||||
DECLARE foo19 CURSOR FOR
|
|
||||||
SELECT * FROM onek WHERE unique1 = 56;
|
|
||||||
|
|
||||||
DECLARE foo20 CURSOR FOR
|
|
||||||
SELECT * FROM onek WHERE unique1 = 57;
|
|
||||||
|
|
||||||
DECLARE foo21 CURSOR FOR
|
|
||||||
SELECT * FROM onek WHERE unique1 = 58;
|
|
||||||
|
|
||||||
DECLARE foo22 CURSOR FOR
|
|
||||||
SELECT * FROM onek WHERE unique1 = 59;
|
|
||||||
|
|
||||||
DECLARE foo23 CURSOR FOR
|
|
||||||
SELECT * FROM onek WHERE unique1 = 60;
|
|
||||||
|
|
||||||
DECLARE foo24 CURSOR FOR
|
|
||||||
SELECT * FROM onek2 WHERE unique1 = 50;
|
|
||||||
|
|
||||||
DECLARE foo25 CURSOR FOR
|
|
||||||
SELECT * FROM onek2 WHERE unique1 = 60;
|
|
||||||
|
|
||||||
FETCH all in foo13;
|
|
||||||
|
|
||||||
FETCH all in foo14;
|
|
||||||
|
|
||||||
FETCH all in foo15;
|
|
||||||
|
|
||||||
FETCH all in foo16;
|
|
||||||
|
|
||||||
FETCH all in foo17;
|
|
||||||
|
|
||||||
FETCH all in foo18;
|
|
||||||
|
|
||||||
FETCH all in foo19;
|
|
||||||
|
|
||||||
FETCH all in foo20;
|
|
||||||
|
|
||||||
FETCH all in foo21;
|
|
||||||
|
|
||||||
FETCH all in foo22;
|
|
||||||
|
|
||||||
FETCH all in foo23;
|
|
||||||
|
|
||||||
FETCH all in foo24;
|
|
||||||
|
|
||||||
FETCH all in foo25;
|
|
||||||
|
|
||||||
CLOSE foo13;
|
|
||||||
|
|
||||||
CLOSE foo14;
|
|
||||||
|
|
||||||
CLOSE foo15;
|
|
||||||
|
|
||||||
CLOSE foo16;
|
|
||||||
|
|
||||||
CLOSE foo17;
|
|
||||||
|
|
||||||
CLOSE foo18;
|
|
||||||
|
|
||||||
CLOSE foo19;
|
|
||||||
|
|
||||||
CLOSE foo20;
|
|
||||||
|
|
||||||
CLOSE foo21;
|
|
||||||
|
|
||||||
CLOSE foo22;
|
|
||||||
|
|
||||||
CLOSE foo23;
|
|
||||||
|
|
||||||
CLOSE foo24;
|
|
||||||
|
|
||||||
CLOSE foo25;
|
|
||||||
|
|
||||||
END;
|
|
||||||
|
|
||||||
|
|
||||||
--
|
|
||||||
-- PURGE
|
|
||||||
--
|
|
||||||
-- we did two updates on each of these 10K tables up above. we should
|
|
||||||
-- therefore go from 10002 tuples (two of which are not visible without
|
|
||||||
-- using a time qual) to 10000.
|
|
||||||
--
|
|
||||||
-- vacuuming here also tests whether or not the hash index compaction
|
|
||||||
-- code works; this used to be commented out because the hash AM would
|
|
||||||
-- miss deleting a bunch of index tuples, which caused big problems when
|
|
||||||
-- you dereferenced the tids and found garbage..
|
|
||||||
--
|
|
||||||
-- absolute time
|
|
||||||
PURGE hash_f8_heap BEFORE 'now';
|
|
||||||
|
|
||||||
SELECT count(*) AS has_10002 FROM hash_f8_heap[,] h;
|
|
||||||
|
|
||||||
VACUUM hash_f8_heap;
|
|
||||||
|
|
||||||
SELECT count(*) AS has_10000 FROM hash_f8_heap[,] h;
|
|
||||||
|
|
||||||
-- relative time
|
|
||||||
PURGE hash_i4_heap AFTER '@ 1 second ago';
|
|
||||||
|
|
||||||
SELECT count(*) AS has_10002 FROM hash_i4_heap[,] h;
|
|
||||||
|
|
||||||
VACUUM hash_i4_heap;
|
|
||||||
|
|
||||||
SELECT count(*) AS has_10000 FROM hash_i4_heap[,] h;
|
|
||||||
|
|
||||||
|
|
||||||
--
|
|
||||||
-- add attribute
|
|
||||||
--
|
|
||||||
CREATE TABLE temp (initial int4);
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN a int4;
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN b char16;
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN c text;
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN d float8;
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN e float4;
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN f int2;
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN g polygon;
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN h abstime;
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN i char;
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN j abstime[];
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN k dt;
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN l tid;
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN m xid;
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN n oid8;
|
|
||||||
|
|
||||||
--ALTER TABLE temp ADD COLUMN o lock;
|
|
||||||
ALTER TABLE temp ADD COLUMN p smgr;
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN q point;
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN r lseg;
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN s path;
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN t box;
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN u tinterval;
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN v oidint4;
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN w oidname;
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN x float8[];
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN y float4[];
|
|
||||||
|
|
||||||
ALTER TABLE temp 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,
|
|
||||||
v, w, x, y, z)
|
|
||||||
VALUES (4, 'char16', '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}',
|
|
||||||
314159, '(1,1)', 512,
|
|
||||||
'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,char16', '{1.0,2.0,3.0,4.0}', '{1.0,2.0,3.0,4.0}', '{1,2,3,4}');
|
|
||||||
|
|
||||||
SELECT * FROM temp;
|
|
||||||
|
|
||||||
DROP TABLE temp;
|
|
||||||
|
|
||||||
-- the wolf bug - schema mods caused inconsistent row descriptors
|
|
||||||
CREATE TABLE temp (
|
|
||||||
initial int4
|
|
||||||
) ARCHIVE = light;
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN a int4;
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN b char16;
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN c text;
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN d float8;
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN e float4;
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN f int2;
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN g polygon;
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN h abstime;
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN i char;
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN j abstime[];
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN k dt;
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN l tid;
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN m xid;
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN n oid8;
|
|
||||||
|
|
||||||
--ALTER TABLE temp ADD COLUMN o lock;
|
|
||||||
ALTER TABLE temp ADD COLUMN p smgr;
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN q point;
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN r lseg;
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN s path;
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN t box;
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN u tinterval;
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN v oidint4;
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN w oidname;
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN x float8[];
|
|
||||||
|
|
||||||
ALTER TABLE temp ADD COLUMN y float4[];
|
|
||||||
|
|
||||||
ALTER TABLE temp 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,
|
|
||||||
v, w, x, y, z)
|
|
||||||
VALUES (4, 'char16', '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}',
|
|
||||||
314159, '(1,1)', 512,
|
|
||||||
'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,char16', '{1.0,2.0,3.0,4.0}', '{1.0,2.0,3.0,4.0}', '{1,2,3,4}');
|
|
||||||
|
|
||||||
SELECT * FROM temp[,];
|
|
||||||
|
|
||||||
DROP TABLE temp;
|
|
||||||
|
|
||||||
|
|
||||||
--
|
|
||||||
-- rename -
|
|
||||||
-- should preserve indices
|
|
||||||
--
|
|
||||||
ALTER TABLE tenk1 RENAME TO ten_k;
|
|
||||||
|
|
||||||
-- 20 values, sorted
|
|
||||||
SELECT unique1 FROM ten_k WHERE unique1 < 20;
|
|
||||||
|
|
||||||
-- 20 values, sorted
|
|
||||||
SELECT unique2 FROM ten_k WHERE unique2 < 20;
|
|
||||||
|
|
||||||
-- 100 values, sorted
|
|
||||||
SELECT hundred FROM ten_k WHERE hundred = 50;
|
|
||||||
|
|
||||||
ALTER TABLE ten_k RENAME TO tenk1;
|
|
||||||
|
|
||||||
-- 5 values, sorted
|
|
||||||
SELECT unique1 FROM tenk1 WHERE unique1 < 5;
|
|
||||||
|
|
||||||
|
|
||||||
--
|
|
||||||
-- VIEW queries
|
|
||||||
--
|
|
||||||
-- test the views defined in create.source
|
|
||||||
--
|
|
||||||
SELECT * from street;
|
|
||||||
|
|
||||||
SELECT * from iexit;
|
|
||||||
|
|
||||||
SELECT * from toyemp where name='sharon';
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
--
|
|
||||||
-- AGGREGATES
|
|
||||||
--
|
|
||||||
SELECT avg(four) AS avg_1 FROM onek;
|
|
||||||
|
|
||||||
SELECT avg(a) AS avg_49 FROM aggtest WHERE a < 100;
|
|
||||||
|
|
||||||
SELECT avg(b) AS avg_107_943 FROM aggtest;
|
|
||||||
|
|
||||||
SELECT avg(gpa) AS avg_3_4 FROM student;
|
|
||||||
|
|
||||||
|
|
||||||
SELECT sum(four) AS sum_1500 FROM onek;
|
|
||||||
|
|
||||||
SELECT sum(a) AS sum_198 FROM aggtest;
|
|
||||||
|
|
||||||
SELECT sum(b) AS avg_431_773 FROM aggtest;
|
|
||||||
|
|
||||||
SELECT sum(gpa) AS avg_6_8 FROM student;
|
|
||||||
|
|
||||||
|
|
||||||
SELECT max(four) AS max_3 FROM onek;
|
|
||||||
|
|
||||||
SELECT max(a) AS max_100 FROM aggtest;
|
|
||||||
|
|
||||||
SELECT max(aggtest.b) AS max_324_78 FROM aggtest;
|
|
||||||
|
|
||||||
SELECT max(student.gpa) AS max_3_7 FROM student;
|
|
||||||
|
|
||||||
|
|
||||||
SELECT count(four) AS cnt_1000 FROM onek;
|
|
||||||
|
|
||||||
|
|
||||||
SELECT newavg(four) AS avg_1 FROM onek;
|
|
||||||
|
|
||||||
SELECT newsum(four) AS sum_1500 FROM onek;
|
|
||||||
|
|
||||||
SELECT newcnt(four) AS cnt_1000 FROM onek;
|
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- inheritance stress test
|
-- inheritance stress test
|
||||||
--
|
--
|
||||||
|
132
src/test/regress/sql/aggregates.sql
Normal file
132
src/test/regress/sql/aggregates.sql
Normal file
@ -0,0 +1,132 @@
|
|||||||
|
--
|
||||||
|
-- replace
|
||||||
|
--
|
||||||
|
--
|
||||||
|
-- BTREE
|
||||||
|
--
|
||||||
|
UPDATE onek
|
||||||
|
SET unique1 = onek.unique1 + 1;
|
||||||
|
|
||||||
|
UPDATE onek
|
||||||
|
SET unique1 = onek.unique1 - 1;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- BTREE partial
|
||||||
|
--
|
||||||
|
-- UPDATE onek2
|
||||||
|
-- SET unique1 = onek2.unique1 + 1;
|
||||||
|
|
||||||
|
--UPDATE onek2
|
||||||
|
-- SET unique1 = onek2.unique1 - 1;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- BTREE shutting out non-functional updates
|
||||||
|
--
|
||||||
|
-- the following two tests seem to take a long time on some
|
||||||
|
-- systems. This non-func update stuff needs to be examined
|
||||||
|
-- more closely. - jolly (2/22/96)
|
||||||
|
--
|
||||||
|
UPDATE temp
|
||||||
|
SET stringu1 = reverse_c16(onek.stringu1)
|
||||||
|
WHERE onek.stringu1 = 'JBAAAA' and
|
||||||
|
onek.stringu1 = temp.stringu1;
|
||||||
|
|
||||||
|
UPDATE temp
|
||||||
|
SET stringu1 = reverse_c16(onek2.stringu1)
|
||||||
|
WHERE onek2.stringu1 = 'JCAAAA' and
|
||||||
|
onek2.stringu1 = temp.stringu1;
|
||||||
|
|
||||||
|
DROP TABLE temp;
|
||||||
|
|
||||||
|
--UPDATE person*
|
||||||
|
-- SET age = age + 1;
|
||||||
|
|
||||||
|
--UPDATE person*
|
||||||
|
-- SET age = age + 3
|
||||||
|
-- WHERE name = 'linda';
|
||||||
|
|
||||||
|
--
|
||||||
|
-- copy
|
||||||
|
--
|
||||||
|
COPY onek TO '_OBJWD_/results/onek.data';
|
||||||
|
|
||||||
|
DELETE FROM onek;
|
||||||
|
|
||||||
|
COPY onek FROM '_OBJWD_/results/onek.data';
|
||||||
|
|
||||||
|
SELECT unique1 FROM onek WHERE unique1 < 2;
|
||||||
|
|
||||||
|
DELETE FROM onek2;
|
||||||
|
|
||||||
|
COPY onek2 FROM '_OBJWD_/results/onek.data';
|
||||||
|
|
||||||
|
SELECT unique1 FROM onek2 WHERE unique1 < 2;
|
||||||
|
|
||||||
|
COPY BINARY stud_emp TO '_OBJWD_/results/stud_emp.data';
|
||||||
|
|
||||||
|
DELETE FROM stud_emp;
|
||||||
|
|
||||||
|
COPY BINARY stud_emp FROM '_OBJWD_/results/stud_emp.data';
|
||||||
|
|
||||||
|
SELECT * FROM stud_emp;
|
||||||
|
|
||||||
|
-- COPY aggtest FROM stdin;
|
||||||
|
-- 56 7.8
|
||||||
|
-- 100 99.097
|
||||||
|
-- 0 0.09561
|
||||||
|
-- 42 324.78
|
||||||
|
-- .
|
||||||
|
-- COPY aggtest TO stdout;
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- test the random function
|
||||||
|
--
|
||||||
|
-- count the number of tuples originally
|
||||||
|
SELECT count(*) FROM onek;
|
||||||
|
|
||||||
|
-- select roughly 1/10 of the tuples
|
||||||
|
SELECT count(*) FROM onek where oidrand(onek.oid, 10);
|
||||||
|
|
||||||
|
-- select again, the count should be different
|
||||||
|
SELECT count(*) FROM onek where oidrand(onek.oid, 10);
|
||||||
|
|
||||||
|
--
|
||||||
|
-- AGGREGATES
|
||||||
|
--
|
||||||
|
SELECT avg(four) AS avg_1 FROM onek;
|
||||||
|
|
||||||
|
SELECT avg(a) AS avg_49 FROM aggtest WHERE a < 100;
|
||||||
|
|
||||||
|
SELECT avg(b) AS avg_107_943 FROM aggtest;
|
||||||
|
|
||||||
|
SELECT avg(gpa) AS avg_3_4 FROM student;
|
||||||
|
|
||||||
|
|
||||||
|
SELECT sum(four) AS sum_1500 FROM onek;
|
||||||
|
|
||||||
|
SELECT sum(a) AS sum_198 FROM aggtest;
|
||||||
|
|
||||||
|
SELECT sum(b) AS avg_431_773 FROM aggtest;
|
||||||
|
|
||||||
|
SELECT sum(gpa) AS avg_6_8 FROM student;
|
||||||
|
|
||||||
|
|
||||||
|
SELECT max(four) AS max_3 FROM onek;
|
||||||
|
|
||||||
|
SELECT max(a) AS max_100 FROM aggtest;
|
||||||
|
|
||||||
|
SELECT max(aggtest.b) AS max_324_78 FROM aggtest;
|
||||||
|
|
||||||
|
SELECT max(student.gpa) AS max_3_7 FROM student;
|
||||||
|
|
||||||
|
|
||||||
|
SELECT count(four) AS cnt_1000 FROM onek;
|
||||||
|
|
||||||
|
|
||||||
|
SELECT newavg(four) AS avg_1 FROM onek;
|
||||||
|
|
||||||
|
SELECT newsum(four) AS sum_1500 FROM onek;
|
||||||
|
|
||||||
|
SELECT newcnt(four) AS cnt_1000 FROM onek;
|
||||||
|
|
159
src/test/regress/sql/alter_table.sql
Normal file
159
src/test/regress/sql/alter_table.sql
Normal file
@ -0,0 +1,159 @@
|
|||||||
|
--
|
||||||
|
-- add attribute
|
||||||
|
--
|
||||||
|
CREATE TABLE temp (initial int4);
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN a int4;
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN b char16;
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN c text;
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN d float8;
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN e float4;
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN f int2;
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN g polygon;
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN h abstime;
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN i char;
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN j abstime[];
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN k dt;
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN l tid;
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN m xid;
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN n oid8;
|
||||||
|
|
||||||
|
--ALTER TABLE temp ADD COLUMN o lock;
|
||||||
|
ALTER TABLE temp ADD COLUMN p smgr;
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN q point;
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN r lseg;
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN s path;
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN t box;
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN u tinterval;
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN v oidint4;
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN w oidname;
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN x float8[];
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN y float4[];
|
||||||
|
|
||||||
|
ALTER TABLE temp 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,
|
||||||
|
v, w, x, y, z)
|
||||||
|
VALUES (4, 'char16', '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}',
|
||||||
|
314159, '(1,1)', 512,
|
||||||
|
'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,char16', '{1.0,2.0,3.0,4.0}', '{1.0,2.0,3.0,4.0}', '{1,2,3,4}');
|
||||||
|
|
||||||
|
SELECT * FROM temp;
|
||||||
|
|
||||||
|
DROP TABLE temp;
|
||||||
|
|
||||||
|
-- the wolf bug - schema mods caused inconsistent row descriptors
|
||||||
|
CREATE TABLE temp (
|
||||||
|
initial int4
|
||||||
|
) ARCHIVE = light;
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN a int4;
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN b char16;
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN c text;
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN d float8;
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN e float4;
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN f int2;
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN g polygon;
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN h abstime;
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN i char;
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN j abstime[];
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN k dt;
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN l tid;
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN m xid;
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN n oid8;
|
||||||
|
|
||||||
|
--ALTER TABLE temp ADD COLUMN o lock;
|
||||||
|
ALTER TABLE temp ADD COLUMN p smgr;
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN q point;
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN r lseg;
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN s path;
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN t box;
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN u tinterval;
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN v oidint4;
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN w oidname;
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN x float8[];
|
||||||
|
|
||||||
|
ALTER TABLE temp ADD COLUMN y float4[];
|
||||||
|
|
||||||
|
ALTER TABLE temp 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,
|
||||||
|
v, w, x, y, z)
|
||||||
|
VALUES (4, 'char16', '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}',
|
||||||
|
314159, '(1,1)', 512,
|
||||||
|
'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,char16', '{1.0,2.0,3.0,4.0}', '{1.0,2.0,3.0,4.0}', '{1,2,3,4}');
|
||||||
|
|
||||||
|
SELECT * FROM temp[,];
|
||||||
|
|
||||||
|
DROP TABLE temp;
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- rename -
|
||||||
|
-- should preserve indices
|
||||||
|
--
|
||||||
|
ALTER TABLE tenk1 RENAME TO ten_k;
|
||||||
|
|
||||||
|
-- 20 values, sorted
|
||||||
|
SELECT unique1 FROM ten_k WHERE unique1 < 20;
|
||||||
|
|
||||||
|
-- 20 values, sorted
|
||||||
|
SELECT unique2 FROM ten_k WHERE unique2 < 20;
|
||||||
|
|
||||||
|
-- 100 values, sorted
|
||||||
|
SELECT hundred FROM ten_k WHERE hundred = 50;
|
||||||
|
|
||||||
|
ALTER TABLE ten_k RENAME TO tenk1;
|
||||||
|
|
||||||
|
-- 5 values, sorted
|
||||||
|
SELECT unique1 FROM tenk1 WHERE unique1 < 5;
|
||||||
|
|
168
src/test/regress/sql/portals.sql
Normal file
168
src/test/regress/sql/portals.sql
Normal file
@ -0,0 +1,168 @@
|
|||||||
|
--
|
||||||
|
-- portal manipulation
|
||||||
|
--
|
||||||
|
BEGIN;
|
||||||
|
|
||||||
|
DECLARE foo1 CURSOR FOR SELECT * FROM tenk1;
|
||||||
|
|
||||||
|
DECLARE foo2 CURSOR FOR SELECT * FROM tenk2;
|
||||||
|
|
||||||
|
DECLARE foo3 CURSOR FOR SELECT * FROM tenk1;
|
||||||
|
|
||||||
|
DECLARE foo4 CURSOR FOR SELECT * FROM tenk2;
|
||||||
|
|
||||||
|
DECLARE foo5 CURSOR FOR SELECT * FROM tenk1;
|
||||||
|
|
||||||
|
DECLARE foo6 CURSOR FOR SELECT * FROM tenk2;
|
||||||
|
|
||||||
|
DECLARE foo7 CURSOR FOR SELECT * FROM tenk1;
|
||||||
|
|
||||||
|
DECLARE foo8 CURSOR FOR SELECT * FROM tenk2;
|
||||||
|
|
||||||
|
DECLARE foo9 CURSOR FOR SELECT * FROM tenk1;
|
||||||
|
|
||||||
|
DECLARE foo10 CURSOR FOR SELECT * FROM tenk2;
|
||||||
|
|
||||||
|
DECLARE foo11 CURSOR FOR SELECT * FROM tenk1;
|
||||||
|
|
||||||
|
DECLARE foo12 CURSOR FOR SELECT * FROM tenk2;
|
||||||
|
|
||||||
|
DECLARE foo13 CURSOR FOR SELECT * FROM tenk1;
|
||||||
|
|
||||||
|
DECLARE foo14 CURSOR FOR SELECT * FROM tenk2;
|
||||||
|
|
||||||
|
DECLARE foo15 CURSOR FOR SELECT * FROM tenk1;
|
||||||
|
|
||||||
|
DECLARE foo16 CURSOR FOR SELECT * FROM tenk2;
|
||||||
|
|
||||||
|
DECLARE foo17 CURSOR FOR SELECT * FROM tenk1;
|
||||||
|
|
||||||
|
DECLARE foo18 CURSOR FOR SELECT * FROM tenk2;
|
||||||
|
|
||||||
|
DECLARE foo19 CURSOR FOR SELECT * FROM tenk1;
|
||||||
|
|
||||||
|
DECLARE foo20 CURSOR FOR SELECT * FROM tenk2;
|
||||||
|
|
||||||
|
DECLARE foo21 CURSOR FOR SELECT * FROM tenk1;
|
||||||
|
|
||||||
|
DECLARE foo22 CURSOR FOR SELECT * FROM tenk2;
|
||||||
|
|
||||||
|
DECLARE foo23 CURSOR FOR SELECT * FROM tenk1;
|
||||||
|
|
||||||
|
FETCH 1 in foo1;
|
||||||
|
|
||||||
|
FETCH 2 in foo2;
|
||||||
|
|
||||||
|
FETCH 3 in foo3;
|
||||||
|
|
||||||
|
FETCH 4 in foo4;
|
||||||
|
|
||||||
|
FETCH 5 in foo5;
|
||||||
|
|
||||||
|
FETCH 6 in foo6;
|
||||||
|
|
||||||
|
FETCH 7 in foo7;
|
||||||
|
|
||||||
|
FETCH 8 in foo8;
|
||||||
|
|
||||||
|
FETCH 9 in foo9;
|
||||||
|
|
||||||
|
FETCH 10 in foo10;
|
||||||
|
|
||||||
|
FETCH 11 in foo11;
|
||||||
|
|
||||||
|
FETCH 12 in foo12;
|
||||||
|
|
||||||
|
FETCH 13 in foo13;
|
||||||
|
|
||||||
|
FETCH 14 in foo14;
|
||||||
|
|
||||||
|
FETCH 15 in foo15;
|
||||||
|
|
||||||
|
FETCH 16 in foo16;
|
||||||
|
|
||||||
|
FETCH 17 in foo17;
|
||||||
|
|
||||||
|
FETCH 18 in foo18;
|
||||||
|
|
||||||
|
FETCH 19 in foo19;
|
||||||
|
|
||||||
|
FETCH 20 in foo20;
|
||||||
|
|
||||||
|
FETCH 21 in foo21;
|
||||||
|
|
||||||
|
FETCH 22 in foo22;
|
||||||
|
|
||||||
|
FETCH 23 in foo23;
|
||||||
|
|
||||||
|
FETCH backward 1 in foo23;
|
||||||
|
|
||||||
|
FETCH backward 2 in foo22;
|
||||||
|
|
||||||
|
FETCH backward 3 in foo21;
|
||||||
|
|
||||||
|
FETCH backward 4 in foo20;
|
||||||
|
|
||||||
|
FETCH backward 5 in foo19;
|
||||||
|
|
||||||
|
FETCH backward 6 in foo18;
|
||||||
|
|
||||||
|
FETCH backward 7 in foo17;
|
||||||
|
|
||||||
|
FETCH backward 8 in foo16;
|
||||||
|
|
||||||
|
FETCH backward 9 in foo15;
|
||||||
|
|
||||||
|
FETCH backward 10 in foo14;
|
||||||
|
|
||||||
|
FETCH backward 11 in foo13;
|
||||||
|
|
||||||
|
FETCH backward 12 in foo12;
|
||||||
|
|
||||||
|
FETCH backward 13 in foo11;
|
||||||
|
|
||||||
|
FETCH backward 14 in foo10;
|
||||||
|
|
||||||
|
FETCH backward 15 in foo9;
|
||||||
|
|
||||||
|
FETCH backward 16 in foo8;
|
||||||
|
|
||||||
|
FETCH backward 17 in foo7;
|
||||||
|
|
||||||
|
FETCH backward 18 in foo6;
|
||||||
|
|
||||||
|
FETCH backward 19 in foo5;
|
||||||
|
|
||||||
|
FETCH backward 20 in foo4;
|
||||||
|
|
||||||
|
FETCH backward 21 in foo3;
|
||||||
|
|
||||||
|
FETCH backward 22 in foo2;
|
||||||
|
|
||||||
|
FETCH backward 23 in foo1;
|
||||||
|
|
||||||
|
CLOSE foo1;
|
||||||
|
|
||||||
|
CLOSE foo2;
|
||||||
|
|
||||||
|
CLOSE foo3;
|
||||||
|
|
||||||
|
CLOSE foo4;
|
||||||
|
|
||||||
|
CLOSE foo5;
|
||||||
|
|
||||||
|
CLOSE foo6;
|
||||||
|
|
||||||
|
CLOSE foo7;
|
||||||
|
|
||||||
|
CLOSE foo8;
|
||||||
|
|
||||||
|
CLOSE foo9;
|
||||||
|
|
||||||
|
CLOSE foo10;
|
||||||
|
|
||||||
|
CLOSE foo11;
|
||||||
|
|
||||||
|
CLOSE foo12;
|
||||||
|
|
||||||
|
end;
|
96
src/test/regress/sql/portals_p2.sql
Normal file
96
src/test/regress/sql/portals_p2.sql
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
EXTEND INDEX onek2_u1_prtl WHERE onek2.unique1 <= 60;
|
||||||
|
|
||||||
|
BEGIN;
|
||||||
|
|
||||||
|
DECLARE foo13 CURSOR FOR
|
||||||
|
SELECT * FROM onek WHERE unique1 = 50;
|
||||||
|
|
||||||
|
DECLARE foo14 CURSOR FOR
|
||||||
|
SELECT * FROM onek WHERE unique1 = 51;
|
||||||
|
|
||||||
|
DECLARE foo15 CURSOR FOR
|
||||||
|
SELECT * FROM onek WHERE unique1 = 52;
|
||||||
|
|
||||||
|
DECLARE foo16 CURSOR FOR
|
||||||
|
SELECT * FROM onek WHERE unique1 = 53;
|
||||||
|
|
||||||
|
DECLARE foo17 CURSOR FOR
|
||||||
|
SELECT * FROM onek WHERE unique1 = 54;
|
||||||
|
|
||||||
|
DECLARE foo18 CURSOR FOR
|
||||||
|
SELECT * FROM onek WHERE unique1 = 55;
|
||||||
|
|
||||||
|
DECLARE foo19 CURSOR FOR
|
||||||
|
SELECT * FROM onek WHERE unique1 = 56;
|
||||||
|
|
||||||
|
DECLARE foo20 CURSOR FOR
|
||||||
|
SELECT * FROM onek WHERE unique1 = 57;
|
||||||
|
|
||||||
|
DECLARE foo21 CURSOR FOR
|
||||||
|
SELECT * FROM onek WHERE unique1 = 58;
|
||||||
|
|
||||||
|
DECLARE foo22 CURSOR FOR
|
||||||
|
SELECT * FROM onek WHERE unique1 = 59;
|
||||||
|
|
||||||
|
DECLARE foo23 CURSOR FOR
|
||||||
|
SELECT * FROM onek WHERE unique1 = 60;
|
||||||
|
|
||||||
|
DECLARE foo24 CURSOR FOR
|
||||||
|
SELECT * FROM onek2 WHERE unique1 = 50;
|
||||||
|
|
||||||
|
DECLARE foo25 CURSOR FOR
|
||||||
|
SELECT * FROM onek2 WHERE unique1 = 60;
|
||||||
|
|
||||||
|
FETCH all in foo13;
|
||||||
|
|
||||||
|
FETCH all in foo14;
|
||||||
|
|
||||||
|
FETCH all in foo15;
|
||||||
|
|
||||||
|
FETCH all in foo16;
|
||||||
|
|
||||||
|
FETCH all in foo17;
|
||||||
|
|
||||||
|
FETCH all in foo18;
|
||||||
|
|
||||||
|
FETCH all in foo19;
|
||||||
|
|
||||||
|
FETCH all in foo20;
|
||||||
|
|
||||||
|
FETCH all in foo21;
|
||||||
|
|
||||||
|
FETCH all in foo22;
|
||||||
|
|
||||||
|
FETCH all in foo23;
|
||||||
|
|
||||||
|
FETCH all in foo24;
|
||||||
|
|
||||||
|
FETCH all in foo25;
|
||||||
|
|
||||||
|
CLOSE foo13;
|
||||||
|
|
||||||
|
CLOSE foo14;
|
||||||
|
|
||||||
|
CLOSE foo15;
|
||||||
|
|
||||||
|
CLOSE foo16;
|
||||||
|
|
||||||
|
CLOSE foo17;
|
||||||
|
|
||||||
|
CLOSE foo18;
|
||||||
|
|
||||||
|
CLOSE foo19;
|
||||||
|
|
||||||
|
CLOSE foo20;
|
||||||
|
|
||||||
|
CLOSE foo21;
|
||||||
|
|
||||||
|
CLOSE foo22;
|
||||||
|
|
||||||
|
CLOSE foo23;
|
||||||
|
|
||||||
|
CLOSE foo24;
|
||||||
|
|
||||||
|
CLOSE foo25;
|
||||||
|
|
||||||
|
END;
|
30
src/test/regress/sql/purge.sql
Normal file
30
src/test/regress/sql/purge.sql
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
--
|
||||||
|
-- PURGE
|
||||||
|
--
|
||||||
|
-- we did two updates on each of these 10K tables up above. we should
|
||||||
|
-- therefore go from 10002 tuples (two of which are not visible without
|
||||||
|
-- using a time qual) to 10000.
|
||||||
|
--
|
||||||
|
-- vacuuming here also tests whether or not the hash index compaction
|
||||||
|
-- code works; this used to be commented out because the hash AM would
|
||||||
|
-- miss deleting a bunch of index tuples, which caused big problems when
|
||||||
|
-- you dereferenced the tids and found garbage..
|
||||||
|
--
|
||||||
|
-- absolute time
|
||||||
|
PURGE hash_f8_heap BEFORE 'now';
|
||||||
|
|
||||||
|
SELECT count(*) AS has_10002 FROM hash_f8_heap[,] h;
|
||||||
|
|
||||||
|
VACUUM hash_f8_heap;
|
||||||
|
|
||||||
|
SELECT count(*) AS has_10000 FROM hash_f8_heap[,] h;
|
||||||
|
|
||||||
|
-- relative time
|
||||||
|
PURGE hash_i4_heap AFTER '@ 1 second ago';
|
||||||
|
|
||||||
|
SELECT count(*) AS has_10002 FROM hash_i4_heap[,] h;
|
||||||
|
|
||||||
|
VACUUM hash_i4_heap;
|
||||||
|
|
||||||
|
SELECT count(*) AS has_10000 FROM hash_i4_heap[,] h;
|
||||||
|
|
11
src/test/regress/sql/select_views.sql
Normal file
11
src/test/regress/sql/select_views.sql
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
--
|
||||||
|
-- VIEW queries
|
||||||
|
--
|
||||||
|
-- test the views defined in create.source
|
||||||
|
--
|
||||||
|
SELECT * from street;
|
||||||
|
|
||||||
|
SELECT * from iexit;
|
||||||
|
|
||||||
|
SELECT * from toyemp where name='sharon';
|
||||||
|
|
@ -1,18 +1,3 @@
|
|||||||
create_function_1
|
|
||||||
create_type
|
|
||||||
create_table
|
|
||||||
create_function_2
|
|
||||||
copy
|
|
||||||
create_misc
|
|
||||||
create_aggregate
|
|
||||||
create_operator
|
|
||||||
create_view
|
|
||||||
create_index
|
|
||||||
sanity_check
|
|
||||||
timespan
|
|
||||||
datetime
|
|
||||||
reltime
|
|
||||||
abstime
|
|
||||||
boolean
|
boolean
|
||||||
box
|
box
|
||||||
char
|
char
|
||||||
@ -31,12 +16,36 @@ oidname
|
|||||||
point
|
point
|
||||||
polygon
|
polygon
|
||||||
text
|
text
|
||||||
|
timespan
|
||||||
|
datetime
|
||||||
|
reltime
|
||||||
|
abstime
|
||||||
tinterval
|
tinterval
|
||||||
|
create_function_1
|
||||||
|
create_type
|
||||||
|
create_table
|
||||||
|
create_function_2
|
||||||
|
copy
|
||||||
|
create_misc
|
||||||
|
create_aggregate
|
||||||
|
create_operator
|
||||||
|
create_view
|
||||||
|
create_index
|
||||||
|
sanity_check
|
||||||
select
|
select
|
||||||
select_into
|
select_into
|
||||||
select_distinct
|
select_distinct
|
||||||
select_distinct_on
|
select_distinct_on
|
||||||
|
transactions
|
||||||
|
portals
|
||||||
errors
|
errors
|
||||||
btree_index
|
btree_index
|
||||||
hash_index
|
hash_index
|
||||||
|
aggregates.sql
|
||||||
|
select_views.sql
|
||||||
|
alter_table.sql
|
||||||
|
purge.sql
|
||||||
|
portals_p2.sql
|
||||||
misc
|
misc
|
||||||
|
|
||||||
|
|
||||||
|
34
src/test/regress/sql/transactions.sql
Normal file
34
src/test/regress/sql/transactions.sql
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
--
|
||||||
|
-- transaction blocks
|
||||||
|
--
|
||||||
|
BEGIN;
|
||||||
|
|
||||||
|
SELECT *
|
||||||
|
INTO TABLE xacttest
|
||||||
|
FROM aggtest;
|
||||||
|
|
||||||
|
INSERT INTO xacttest (a, b) VALUES (777, 777.777);
|
||||||
|
|
||||||
|
END;
|
||||||
|
|
||||||
|
-- should retrieve one value--
|
||||||
|
SELECT a FROM xacttest WHERE a > 100;
|
||||||
|
|
||||||
|
|
||||||
|
BEGIN;
|
||||||
|
|
||||||
|
CREATE TABLE disappear (a int4);
|
||||||
|
|
||||||
|
DELETE FROM aggtest;
|
||||||
|
|
||||||
|
-- should be empty
|
||||||
|
SELECT * FROM aggtest;
|
||||||
|
|
||||||
|
ABORT;
|
||||||
|
|
||||||
|
-- should not exist
|
||||||
|
SELECT oid FROM pg_class WHERE relname = 'disappear';
|
||||||
|
|
||||||
|
-- should have members again
|
||||||
|
SELECT * FROM aggtest;
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user