Skip to content

Commit 23dc308

Browse files
committed
Tweak sanity_check regression test to display more tables (viz, those
without indexes) but not to display temp tables. It's a bit hard to credit that sanity_check could get through a database-wide VACUUM while the preceding create_index test is still trying to clean up its temp tables ... but I see no other explanation for the current failure report from buildfarm member sponge.
1 parent 704ddaa commit 23dc308

File tree

2 files changed

+142
-72
lines changed

2 files changed

+142
-72
lines changed

src/test/regress/expected/sanity_check.out

Lines changed: 137 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -1,77 +1,146 @@
11
VACUUM;
22
--
33
-- sanity check, if we don't have indices the test will take years to
4-
-- complete. But skip TOAST relations since they will have varying
5-
-- names depending on the current OID counter.
4+
-- complete. But skip TOAST relations (since they will have varying
5+
-- names depending on the current OID counter) as well as temp tables
6+
-- of other backends (to avoid timing-dependent behavior).
67
--
78
SELECT relname, relhasindex
8-
FROM pg_class
9-
WHERE relhasindex AND relkind != 't'
9+
FROM pg_class c LEFT JOIN pg_namespace n ON n.oid = relnamespace
10+
WHERE relkind = 'r' AND (nspname ~ '^pg_temp_') IS NOT TRUE
1011
ORDER BY relname;
11-
relname | relhasindex
12-
---------------------+-------------
13-
array_index_op_test | t
14-
bt_f8_heap | t
15-
bt_i4_heap | t
16-
bt_name_heap | t
17-
bt_txt_heap | t
18-
circle_tbl | t
19-
fast_emp4000 | t
20-
func_index_heap | t
21-
hash_f8_heap | t
22-
hash_i4_heap | t
23-
hash_name_heap | t
24-
hash_txt_heap | t
25-
ihighway | t
26-
inhx | t
27-
num_exp_add | t
28-
num_exp_div | t
29-
num_exp_ln | t
30-
num_exp_log10 | t
31-
num_exp_mul | t
32-
num_exp_power_10_ln | t
33-
num_exp_sqrt | t
34-
num_exp_sub | t
35-
onek | t
36-
onek2 | t
37-
pg_aggregate | t
38-
pg_am | t
39-
pg_amop | t
40-
pg_amproc | t
41-
pg_attrdef | t
42-
pg_attribute | t
43-
pg_auth_members | t
44-
pg_authid | t
45-
pg_autovacuum | t
46-
pg_cast | t
47-
pg_class | t
48-
pg_constraint | t
49-
pg_conversion | t
50-
pg_database | t
51-
pg_depend | t
52-
pg_description | t
53-
pg_index | t
54-
pg_inherits | t
55-
pg_language | t
56-
pg_largeobject | t
57-
pg_namespace | t
58-
pg_opclass | t
59-
pg_operator | t
60-
pg_pltemplate | t
61-
pg_proc | t
62-
pg_rewrite | t
63-
pg_shdepend | t
64-
pg_shdescription | t
65-
pg_statistic | t
66-
pg_tablespace | t
67-
pg_trigger | t
68-
pg_type | t
69-
polygon_tbl | t
70-
road | t
71-
shighway | t
72-
tenk1 | t
73-
tenk2 | t
74-
(61 rows)
12+
relname | relhasindex
13+
-------------------------+-------------
14+
a | f
15+
a_star | f
16+
abstime_tbl | f
17+
aggtest | f
18+
array_index_op_test | t
19+
array_op_test | f
20+
b | f
21+
b_star | f
22+
box_tbl | f
23+
bprime | f
24+
bt_f8_heap | t
25+
bt_i4_heap | t
26+
bt_name_heap | t
27+
bt_txt_heap | t
28+
c | f
29+
c_star | f
30+
char_tbl | f
31+
check2_tbl | f
32+
check_tbl | f
33+
circle_tbl | t
34+
city | f
35+
copy_tbl | f
36+
d | f
37+
d_star | f
38+
date_tbl | f
39+
default_tbl | f
40+
defaultexpr_tbl | f
41+
dept | f
42+
e_star | f
43+
emp | f
44+
equipment_r | f
45+
f_star | f
46+
fast_emp4000 | t
47+
float4_tbl | f
48+
float8_tbl | f
49+
func_index_heap | t
50+
hash_f8_heap | t
51+
hash_i4_heap | t
52+
hash_name_heap | t
53+
hash_txt_heap | t
54+
hobbies_r | f
55+
ihighway | t
56+
inet_tbl | f
57+
inhe | f
58+
inhf | f
59+
inhx | t
60+
insert_tbl | f
61+
int2_tbl | f
62+
int4_tbl | f
63+
int8_tbl | f
64+
interval_tbl | f
65+
iportaltest | f
66+
log_table | f
67+
lseg_tbl | f
68+
main_table | f
69+
num_data | f
70+
num_exp_add | t
71+
num_exp_div | t
72+
num_exp_ln | t
73+
num_exp_log10 | t
74+
num_exp_mul | t
75+
num_exp_power_10_ln | t
76+
num_exp_sqrt | t
77+
num_exp_sub | t
78+
num_input_test | f
79+
num_result | f
80+
onek | t
81+
onek2 | t
82+
path_tbl | f
83+
person | f
84+
pg_aggregate | t
85+
pg_am | t
86+
pg_amop | t
87+
pg_amproc | t
88+
pg_attrdef | t
89+
pg_attribute | t
90+
pg_auth_members | t
91+
pg_authid | t
92+
pg_autovacuum | t
93+
pg_cast | t
94+
pg_class | t
95+
pg_constraint | t
96+
pg_conversion | t
97+
pg_database | t
98+
pg_depend | t
99+
pg_description | t
100+
pg_index | t
101+
pg_inherits | t
102+
pg_language | t
103+
pg_largeobject | t
104+
pg_listener | f
105+
pg_namespace | t
106+
pg_opclass | t
107+
pg_operator | t
108+
pg_pltemplate | t
109+
pg_proc | t
110+
pg_rewrite | t
111+
pg_shdepend | t
112+
pg_shdescription | t
113+
pg_statistic | t
114+
pg_tablespace | t
115+
pg_trigger | t
116+
pg_type | t
117+
point_tbl | f
118+
polygon_tbl | t
119+
ramp | f
120+
real_city | f
121+
reltime_tbl | f
122+
road | t
123+
shighway | t
124+
slow_emp4000 | f
125+
sql_features | f
126+
sql_implementation_info | f
127+
sql_languages | f
128+
sql_packages | f
129+
sql_parts | f
130+
sql_sizing | f
131+
sql_sizing_profiles | f
132+
stud_emp | f
133+
student | f
134+
tenk1 | t
135+
tenk2 | t
136+
text_tbl | f
137+
time_tbl | f
138+
timestamp_tbl | f
139+
timestamptz_tbl | f
140+
timetz_tbl | f
141+
tinterval_tbl | f
142+
varchar_tbl | f
143+
(129 rows)
75144

76145
--
77146
-- another sanity check: every system catalog that has OIDs should have

src/test/regress/sql/sanity_check.sql

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,13 @@ VACUUM;
22

33
--
44
-- sanity check, if we don't have indices the test will take years to
5-
-- complete. But skip TOAST relations since they will have varying
6-
-- names depending on the current OID counter.
5+
-- complete. But skip TOAST relations (since they will have varying
6+
-- names depending on the current OID counter) as well as temp tables
7+
-- of other backends (to avoid timing-dependent behavior).
78
--
89
SELECT relname, relhasindex
9-
FROM pg_class
10-
WHERE relhasindex AND relkind != 't'
10+
FROM pg_class c LEFT JOIN pg_namespace n ON n.oid = relnamespace
11+
WHERE relkind = 'r' AND (nspname ~ '^pg_temp_') IS NOT TRUE
1112
ORDER BY relname;
1213

1314
--

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy