|
2 | 2 | \echo Use "CREATE EXTENSION aqo" to load this file. \quit |
3 | 3 |
|
4 | 4 | CREATE TABLE aqo_queries ( |
5 | | - query_hash int PRIMARY KEY, |
6 | | - learn_aqo boolean NOT NULL, |
7 | | - use_aqo boolean NOT NULL, |
8 | | - fspace_hash int NOT NULL, |
9 | | - auto_tuning boolean NOT NULL |
| 5 | + query_hash int4 CONSTRAINT "aqo_queries_query_hash_idx" |
| 6 | + PRIMARY KEY, |
| 7 | + learn_aqo bool NOT NULL, |
| 8 | + use_aqo bool NOT NULL, |
| 9 | + fspace_hash int4 NOT NULL, |
| 10 | + auto_tuning bool NOT NULL |
10 | 11 | ); |
11 | 12 |
|
12 | 13 | CREATE TABLE aqo_query_texts ( |
13 | | - query_hash int PRIMARY KEY REFERENCES aqo_queries ON DELETE CASCADE, |
14 | | - query_text varchar NOT NULL |
| 14 | + query_hash int4 CONSTRAINT "aqo_query_texts_query_hash_idx" |
| 15 | + PRIMARY KEY REFERENCES aqo_queries ON DELETE CASCADE, |
| 16 | + query_text text NOT NULL |
15 | 17 | ); |
16 | 18 |
|
17 | 19 | CREATE TABLE aqo_query_stat ( |
18 | | - query_hash int PRIMARY KEY REFERENCES aqo_queries ON DELETE CASCADE, |
19 | | - execution_time_with_aqo double precision[], |
20 | | - execution_time_without_aqo double precision[], |
21 | | - planning_time_with_aqo double precision[], |
22 | | - planning_time_without_aqo double precision[], |
23 | | - cardinality_error_with_aqo double precision[], |
24 | | - cardinality_error_without_aqo double precision[], |
25 | | - executions_with_aqo bigint, |
26 | | - executions_without_aqo bigint |
| 20 | + query_hash int4 CONSTRAINT "aqo_query_stat_idx" |
| 21 | + PRIMARY KEY REFERENCES aqo_queries ON DELETE CASCADE, |
| 22 | + execution_time_with_aqo float8[], |
| 23 | + execution_time_without_aqo float8[], |
| 24 | + planning_time_with_aqo float8[], |
| 25 | + planning_time_without_aqo float8[], |
| 26 | + cardinality_error_with_aqo float8[], |
| 27 | + cardinality_error_without_aqo float8[], |
| 28 | + executions_with_aqo int8, |
| 29 | + executions_without_aqo int8 |
27 | 30 | ); |
28 | 31 |
|
29 | 32 | CREATE TABLE aqo_data ( |
30 | | - fspace_hash int NOT NULL REFERENCES aqo_queries ON DELETE CASCADE, |
31 | | - fsspace_hash int NOT NULL, |
32 | | - nfeatures int NOT NULL, |
33 | | - features double precision[][], |
34 | | - targets double precision[], |
35 | | - UNIQUE (fspace_hash, fsspace_hash) |
| 33 | + fspace_hash int4 NOT NULL REFERENCES aqo_queries ON DELETE CASCADE, |
| 34 | + fsspace_hash int4 NOT NULL, |
| 35 | + nfeatures int4 NOT NULL, |
| 36 | + features float8[][], |
| 37 | + targets float8[] |
36 | 38 | ); |
37 | 39 |
|
38 | | -CREATE INDEX aqo_queries_query_hash_idx ON aqo_queries (query_hash); |
39 | | -CREATE INDEX aqo_query_texts_query_hash_idx ON aqo_query_texts (query_hash); |
40 | | -CREATE INDEX aqo_query_stat_idx ON aqo_query_stat (query_hash); |
41 | | -CREATE INDEX aqo_fss_access_idx ON aqo_data (fspace_hash, fsspace_hash); |
| 40 | +CREATE UNIQUE INDEX aqo_fss_access_idx ON aqo_data (fspace_hash, fsspace_hash); |
42 | 41 |
|
43 | | -ALTER TABLE aqo_data ALTER COLUMN features SET STORAGE MAIN; |
44 | | -ALTER TABLE aqo_data ALTER COLUMN targets SET STORAGE MAIN; |
45 | | -ALTER TABLE aqo_query_stat |
46 | | -ALTER COLUMN execution_time_with_aqo SET STORAGE MAIN; |
47 | | -ALTER TABLE aqo_query_stat |
48 | | -ALTER COLUMN execution_time_without_aqo SET STORAGE MAIN; |
49 | | -ALTER TABLE aqo_query_stat |
50 | | -ALTER COLUMN planning_time_with_aqo SET STORAGE MAIN; |
51 | | -ALTER TABLE aqo_query_stat |
52 | | -ALTER COLUMN planning_time_without_aqo SET STORAGE MAIN; |
53 | | -ALTER TABLE aqo_query_stat |
54 | | -ALTER COLUMN cardinality_error_without_aqo SET STORAGE MAIN; |
55 | | -ALTER TABLE aqo_query_stat |
56 | | -ALTER COLUMN cardinality_error_with_aqo SET STORAGE MAIN; |
| 42 | +ALTER TABLE aqo_data ALTER COLUMN features SET STORAGE MAIN; |
| 43 | +ALTER TABLE aqo_data ALTER COLUMN targets SET STORAGE MAIN; |
| 44 | +ALTER TABLE aqo_query_stat ALTER COLUMN execution_time_with_aqo SET STORAGE MAIN; |
| 45 | +ALTER TABLE aqo_query_stat ALTER COLUMN execution_time_without_aqo SET STORAGE MAIN; |
| 46 | +ALTER TABLE aqo_query_stat ALTER COLUMN planning_time_with_aqo SET STORAGE MAIN; |
| 47 | +ALTER TABLE aqo_query_stat ALTER COLUMN planning_time_without_aqo SET STORAGE MAIN; |
| 48 | +ALTER TABLE aqo_query_stat ALTER COLUMN cardinality_error_without_aqo SET STORAGE MAIN; |
| 49 | +ALTER TABLE aqo_query_stat ALTER COLUMN cardinality_error_with_aqo SET STORAGE MAIN; |
57 | 50 |
|
58 | 51 | INSERT INTO aqo_queries VALUES (0, false, false, 0, false); |
59 | 52 | INSERT INTO aqo_query_texts VALUES (0, 'COMMON feature space (do not delete!)'); |
|
0 commit comments