OSDN Git Service

Merge branch 'master' into ut
[pghintplan/pg_hint_plan.git] / sql / init.sql
1 SET search_path TO public;
2
3 CREATE SCHEMA s0;
4
5 CREATE TABLE t1 (id int PRIMARY KEY, val int);
6 CREATE TABLE t2 (id int PRIMARY KEY, val int);
7 CREATE TABLE t3 (id int PRIMARY KEY, val int);
8 CREATE TABLE t4 (id int PRIMARY KEY, val int);
9 CREATE TABLE p1 (id int PRIMARY KEY, val int);
10 CREATE TABLE p1_c1 (LIKE p1 INCLUDING ALL, CHECK (id <= 100)) INHERITS(p1);
11 CREATE TABLE p1_c2 (LIKE p1 INCLUDING ALL, CHECK (id > 100 AND id <= 200)) INHERITS(p1);
12 CREATE TABLE p1_c3 (LIKE p1 INCLUDING ALL, CHECK (id > 200 AND id <= 300)) INHERITS(p1);
13 CREATE TABLE p1_c4 (LIKE p1 INCLUDING ALL, CHECK (id > 300)) INHERITS(p1);
14 CREATE TABLE p1_c1_c1 (LIKE p1 INCLUDING ALL, CHECK (id <= 50)) INHERITS(p1_c1);
15 CREATE TABLE p1_c1_c2 (LIKE p1 INCLUDING ALL, CHECK (id > 50 AND id <= 100)) INHERITS(p1_c1);
16 CREATE TABLE p1_c3_c1 (LIKE p1 INCLUDING ALL, CHECK (id > 200 AND id <= 250)) INHERITS(p1_c3);
17 CREATE TABLE p1_c3_c2 (LIKE p1 INCLUDING ALL, CHECK (id > 250 AND id <= 300)) INHERITS(p1_c3);
18 CREATE TABLE s0.t1 (id int PRIMARY KEY, val int);
19
20 INSERT INTO t1 SELECT i, i % 100 FROM (SELECT generate_series(1, 10000) i) t;
21 INSERT INTO t2 SELECT i, i % 10 FROM (SELECT generate_series(1, 1000) i) t;
22 INSERT INTO t3 SELECT i, i FROM (SELECT generate_series(1, 100) i) t;
23 INSERT INTO t4 SELECT i, i FROM (SELECT generate_series(1, 10) i) t;
24 INSERT INTO p1_c1_c1 SELECT i, i % 100 FROM (SELECT generate_series(1, 50) i) t;
25 INSERT INTO p1_c1_c2 SELECT i, i % 100 FROM (SELECT generate_series(51, 100) i) t;
26 INSERT INTO p1_c2 SELECT i, i % 100 FROM (SELECT generate_series(101, 200) i) t;
27 INSERT INTO p1_c3_c1 SELECT i, i % 100 FROM (SELECT generate_series(201, 250) i) t;
28 INSERT INTO p1_c3_c2 SELECT i, i % 100 FROM (SELECT generate_series(251, 300) i) t;
29 INSERT INTO p1_c4 SELECT i, i % 100 FROM (SELECT generate_series(301, 400) i) t;
30
31 CREATE INDEX t1_val ON t1 (val);
32 CREATE INDEX t2_val ON t2 (val);
33
34 ANALYZE t1;
35 ANALYZE t2;
36 ANALYZE t3;
37 ANALYZE t4;
38 ANALYZE p1;
39 ANALYZE p1_c1;
40 ANALYZE p1_c2;
41
42 CREATE VIEW v1 AS SELECT id, val FROM t1;
43 CREATE VIEW v2 AS SELECT t1.id t1_id, t1.val t1_val, t2.id t2_id, t2.val t2_val FROM t1, t2 WHERE t1.id = t2.id;
44 CREATE VIEW v3 AS SELECT t_1.id t1_id, t_1.val t1_val, t_2.id t2_id, t_2.val t2_val FROM t1 t_1, t2 t_2 WHERE t_1.id = t_2.id;
45 CREATE VIEW v4 AS SELECT v_2.t1_id, t_3.id FROM v2 v_2, t3 t_3 WHERE v_2.t1_id = t_3.id;
46
47 /*
48  * The following GUC parameters need the setting of the default value to
49  * succeed in regression test.
50  */
51 CREATE VIEW settings AS
52 SELECT name, setting, category
53   FROM pg_settings
54  WHERE category LIKE 'Query Tuning%'
55     OR name = 'client_min_messages'
56  ORDER BY category, name;
57 SELECT * FROM settings;