postgresql/src/test/regress/sql/hs_primary_extremes.sql
Robert Haas 806091c96f Remove all references to "xlog" from SQL-callable functions in pg_proc.
Commit f82ec32ac3 renamed the pg_xlog
directory to pg_wal.  To make things consistent, and because "xlog" is
terrible terminology for either "transaction log" or "write-ahead log"
rename all SQL-callable functions that contain "xlog" in the name to
instead contain "wal".  (Note that this may pose an upgrade hazard for
some users.)

Similarly, rename the xlog_position argument of the functions that
create slots to be called wal_position.

Discussion: https://www.postgresql.org/message-id/CA+Tgmob=YmA=H3DbW1YuOXnFVgBheRmyDkWcD9M8f=5bGWYEoQ@mail.gmail.com
2017-02-09 15:10:09 -05:00

74 lines
1.4 KiB
PL/PgSQL

--
-- Hot Standby tests
--
-- hs_primary_extremes.sql
--
drop table if exists hs_extreme;
create table hs_extreme (col1 integer);
CREATE OR REPLACE FUNCTION hs_subxids (n integer)
RETURNS void
LANGUAGE plpgsql
AS $$
BEGIN
IF n <= 0 THEN RETURN; END IF;
INSERT INTO hs_extreme VALUES (n);
PERFORM hs_subxids(n - 1);
RETURN;
EXCEPTION WHEN raise_exception THEN NULL; END;
$$;
BEGIN;
SELECT hs_subxids(257);
ROLLBACK;
BEGIN;
SELECT hs_subxids(257);
COMMIT;
set client_min_messages = 'warning';
CREATE OR REPLACE FUNCTION hs_locks_create (n integer)
RETURNS void
LANGUAGE plpgsql
AS $$
BEGIN
IF n <= 0 THEN
CHECKPOINT;
RETURN;
END IF;
EXECUTE 'CREATE TABLE hs_locks_' || n::text || ' ()';
PERFORM hs_locks_create(n - 1);
RETURN;
EXCEPTION WHEN raise_exception THEN NULL; END;
$$;
CREATE OR REPLACE FUNCTION hs_locks_drop (n integer)
RETURNS void
LANGUAGE plpgsql
AS $$
BEGIN
IF n <= 0 THEN
CHECKPOINT;
RETURN;
END IF;
EXECUTE 'DROP TABLE IF EXISTS hs_locks_' || n::text;
PERFORM hs_locks_drop(n - 1);
RETURN;
EXCEPTION WHEN raise_exception THEN NULL; END;
$$;
BEGIN;
SELECT hs_locks_drop(257);
SELECT hs_locks_create(257);
SELECT count(*) > 257 FROM pg_locks;
ROLLBACK;
BEGIN;
SELECT hs_locks_drop(257);
SELECT hs_locks_create(257);
SELECT count(*) > 257 FROM pg_locks;
COMMIT;
SELECT hs_locks_drop(257);
SELECT pg_switch_wal();