OSDN Git Service

ヒント用テーブルのid列に連番が付与されることを確認するテストを追加した。
[pghintplan/pg_hint_plan.git] / sql / ut-init.sql
index e9d7edb..4f24f26 100644 (file)
@@ -1,5 +1,6 @@
 SET search_path TO public;
 
+CREATE EXTENSION pg_stat_statements;
 CREATE EXTENSION btree_gist;
 CREATE EXTENSION btree_gin;
 
@@ -29,6 +30,7 @@ CREATE TABLE s1.t3 (LIKE s1.t1 INCLUDING ALL);
 CREATE TABLE s1.t4 (LIKE s1.t1 INCLUDING ALL);
 CREATE TABLE s2.t1 (LIKE s1.t1 INCLUDING ALL);
 CREATE TABLE s1.p1 (LIKE s1.t1 INCLUDING ALL);
+CREATE UNIQUE INDEX p1_parent ON s1.p1 USING btree (c4 COLLATE "ja_JP" varchar_ops ASC NULLS LAST, (c1 * 2 < 100)) WHERE c1 < 10;
 CREATE TABLE s1.p2 (LIKE s1.t1 INCLUDING ALL);
 CREATE TABLE s1.p1c1 (LIKE s1.p1 INCLUDING ALL, CHECK (c1 <= 100)) INHERITS(s1.p1);
 CREATE TABLE s1.p1c2 (LIKE s1.p1 INCLUDING ALL, CHECK (c1 > 100 AND c1 <= 200)) INHERITS(s1.p1);
@@ -45,6 +47,8 @@ CREATE TABLE s1.p2c3c2 (LIKE s1.p2c3 INCLUDING ALL, CHECK (c1 > 250)) INHERITS(s
 CREATE TABLE s1.r1 (LIKE s1.t1);
 CREATE TABLE s1.r2 (LIKE s1.t1);
 CREATE TABLE s1.r3 (LIKE s1.t1);
+CREATE TABLE s1.r4 (LIKE s1.t1);
+CREATE TABLE s1.r5 (LIKE s1.t1);
 CREATE TABLE s1.r1_ (LIKE s1.t1);
 CREATE TABLE s1.r2_ (LIKE s1.t1);
 CREATE TABLE s1.r3_ (LIKE s1.t1);
@@ -73,6 +77,7 @@ CREATE INDEX t3_i1 ON s1.t3 (c1);
 CREATE INDEX t4_i1 ON s1.t4 (c1);
 CREATE INDEX p1_i ON s1.p1 (c1);
 CREATE INDEX p2_i ON s1.p2 (c1);
+CREATE INDEX p1_i2 ON s1.p1 (c2);
 CREATE INDEX p1c1_i ON s1.p1c1 (c1);
 CREATE INDEX p1c2_i ON s1.p1c2 (c1);
 CREATE INDEX p1c3_i ON s1.p1c3 (c1);
@@ -148,3 +153,5 @@ SELECT max(b1t1.c1) FROM s1.t1 b1t1, s1.t2 b1t2, s1.t3 b1t3, s1.t4 b1t4 WHERE b1
 SELECT max(b2t1.c1) FROM s1.t1 b2t1, s1.t2 b2t2, s1.t3 b2t3, s1.t4 b2t4 WHERE b2t1.ctid = '(1,1)' AND b2t1.c1 = b2t2.c1 AND b2t2.ctid = '(1,1)' AND b2t1.c1 = b2t3.c1 AND b2t3.ctid = '(1,1)' AND b2t1.c1 = b2t4.c1 AND b2t4.ctid = '(1,1)';
 SELECT max(b3t1.c1) FROM s1.t1 b3t1, s1.t2 b3t2, s1.t3 b3t3, s1.t4 b3t4 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = b3t2.c1 AND b3t2.ctid = '(1,1)' AND b3t1.c1 = b3t3.c1 AND b3t3.ctid = '(1,1)' AND b3t1.c1 = b3t4.c1 AND b3t4.ctid = '(1,1)';
 );
+CREATE RULE "_RETURN" AS ON SELECT TO s1.r4 DO INSTEAD SELECT r4t1.c1, r4t1.c2, r4t1.c3, r4t1.c4 FROM s1.t1 r4t1;
+CREATE RULE "_RETURN" AS ON SELECT TO s1.r5 DO INSTEAD SELECT r5t1.c1, r5t1.c2, r5t1.c3, r5t1.c4 FROM s1.t1 r5t1;