File: maintain_every.sql

package info (click to toggle)
libpg-query 17-6.2.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 33,416 kB
  • sloc: ansic: 175,684; sql: 79,564; ruby: 1,605; makefile: 276; cpp: 221
file content (26 lines) | stat: -rw-r--r-- 1,046 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
-- Test maintenance commands that visit every eligible relation.  Run as a
-- non-superuser, to skip other users' tables.

CREATE ROLE regress_maintain;
SET ROLE regress_maintain;

-- Test database-wide ANALYZE ("use_own_xacts" mode) setting relhassubclass=f
-- for non-partitioning inheritance, w/ ON COMMIT DELETE ROWS building an
-- empty index.
CREATE TEMP TABLE past_inh_db_other (); -- need 2 tables for "use_own_xacts"
CREATE TEMP TABLE past_inh_db_parent () ON COMMIT DELETE ROWS;
CREATE TEMP TABLE past_inh_db_child () INHERITS (past_inh_db_parent);
CREATE INDEX ON past_inh_db_parent ((1));
ANALYZE past_inh_db_parent;
SELECT reltuples, relhassubclass
  FROM pg_class WHERE oid = 'past_inh_db_parent'::regclass;
DROP TABLE past_inh_db_child;
SET client_min_messages = error; -- hide WARNINGs for other users' tables
ANALYZE;
RESET client_min_messages;
SELECT reltuples, relhassubclass
  FROM pg_class WHERE oid = 'past_inh_db_parent'::regclass;
DROP TABLE past_inh_db_parent, past_inh_db_other;

RESET ROLE;
DROP ROLE regress_maintain;