From 9a14e0082a69a4519090faa1a09e778b5ae0a92c Mon Sep 17 00:00:00 2001 From: Alexandre Felipe Date: Wed, 16 Sep 2026 20:18:05 +0100 Subject: [PATCH-v1 4/4] establish expected/tablespace.out wrap up with the regress reference and disable debugging --- src/test/regress/expected/tablespace.out | 226 +++++++++++++++++++++++ src/test/regress/sql/tablespace.sql | 1 - 2 files changed, 226 insertions(+), 1 deletion(-) diff --git a/src/test/regress/expected/tablespace.out b/src/test/regress/expected/tablespace.out index f0dd25cdf0c..f4f073b3d9b 100644 --- a/src/test/regress/expected/tablespace.out +++ b/src/test/regress/expected/tablespace.out @@ -967,6 +967,232 @@ ERROR: tablespace name "invalid name" contains a newline or carriage return character -- Should succeed DROP TABLESPACE regress_tblspace_renamed; +-- +-- Deferred heap copy for ALTER TABLE SET TABLESPACE on indexed tables +-- +SET allow_in_place_tablespaces = true; +SET enable_seqscan = off; +SET enable_bitmapscan = off; +CREATE TABLESPACE regress_tblspace LOCATION ''; +CREATE TABLESPACE regress_tblspace2 LOCATION ''; +-- COMMIT +CREATE TABLE defer_t (a int); +CREATE INDEX defer_t_idx ON defer_t (a); +INSERT INTO defer_t VALUES (1); +BEGIN; +INSERT INTO defer_t VALUES (2); +ALTER TABLE defer_t SET TABLESPACE regress_tblspace; +INSERT INTO defer_t VALUES (3); +COMMIT; +INSERT INTO defer_t VALUES (4), (5); +SELECT ctid, a FROM defer_t ORDER BY a; + ctid | a +-------+--- + (0,1) | 1 + (0,2) | 2 + (0,3) | 3 + (0,4) | 4 + (0,5) | 5 +(5 rows) + +DROP TABLE defer_t; +-- ROLLBACK +CREATE TABLE defer_t (a int); +CREATE INDEX defer_t_idx ON defer_t (a); +INSERT INTO defer_t VALUES (1); +BEGIN; +INSERT INTO defer_t VALUES (2); +ALTER TABLE defer_t SET TABLESPACE regress_tblspace; +INSERT INTO defer_t VALUES (3); +ROLLBACK; +INSERT INTO defer_t VALUES (4), (5); +SELECT ctid, a FROM defer_t ORDER BY a; + ctid | a +-------+--- + (0,1) | 1 + (0,4) | 4 + (0,5) | 5 +(3 rows) + +DROP TABLE defer_t; +-- PREPARE TRANSACTION, COMMIT PREPARED +CREATE TABLE defer_t (a int); +CREATE INDEX defer_t_idx ON defer_t (a); +INSERT INTO defer_t VALUES (1); +BEGIN; +INSERT INTO defer_t VALUES (2); +ALTER TABLE defer_t SET TABLESPACE regress_tblspace; +INSERT INTO defer_t VALUES (3); +PREPARE TRANSACTION 'defer_tblsp_prep_commit'; +COMMIT PREPARED 'defer_tblsp_prep_commit'; +INSERT INTO defer_t VALUES (4), (5); +SELECT ctid, a FROM defer_t ORDER BY a; + ctid | a +-------+--- + (0,1) | 1 + (0,2) | 2 + (0,3) | 3 + (0,4) | 4 + (0,5) | 5 +(5 rows) + +DROP TABLE defer_t; +-- PREPARE TRANSACTION, ROLLBACK PREPARED +CREATE TABLE defer_t (a int); +CREATE INDEX defer_t_idx ON defer_t (a); +INSERT INTO defer_t VALUES (1); +BEGIN; +INSERT INTO defer_t VALUES (2); +ALTER TABLE defer_t SET TABLESPACE regress_tblspace2; +INSERT INTO defer_t VALUES (3); +PREPARE TRANSACTION 'defer_tblsp_prep_rollback'; +ROLLBACK PREPARED 'defer_tblsp_prep_rollback'; +INSERT INTO defer_t VALUES (4), (5); +SELECT ctid, a FROM defer_t ORDER BY a; + ctid | a +-------+--- + (0,1) | 1 + (0,4) | 4 + (0,5) | 5 +(3 rows) + +DROP TABLE defer_t; +-- Subtransaction: move in savepoint, subcommit, then top-level commit +CREATE TABLE defer_t (a int); +CREATE INDEX defer_t_idx ON defer_t (a); +INSERT INTO defer_t VALUES (1); +BEGIN; +INSERT INTO defer_t VALUES (2); +SAVEPOINT sp1; +INSERT INTO defer_t VALUES (3); +ALTER TABLE defer_t SET TABLESPACE regress_tblspace; +INSERT INTO defer_t VALUES (4); +RELEASE SAVEPOINT sp1; +INSERT INTO defer_t VALUES (5); +COMMIT; +INSERT INTO defer_t VALUES (6), (7); +SELECT ctid, a FROM defer_t ORDER BY a; + ctid | a +-------+--- + (0,1) | 1 + (0,2) | 2 + (0,3) | 3 + (0,4) | 4 + (0,5) | 5 + (0,6) | 6 + (0,7) | 7 +(7 rows) + +DROP TABLE defer_t; +-- Subtransaction: move in savepoint, then rollback to savepoint +CREATE TABLE defer_t (a int); +CREATE INDEX defer_t_idx ON defer_t (a); +INSERT INTO defer_t VALUES (1); +BEGIN; +INSERT INTO defer_t VALUES (2); +SAVEPOINT sp1; +INSERT INTO defer_t VALUES (3); +ALTER TABLE defer_t SET TABLESPACE regress_tblspace; +INSERT INTO defer_t VALUES (4); +ROLLBACK TO SAVEPOINT sp1; +INSERT INTO defer_t VALUES (5); +COMMIT; +INSERT INTO defer_t VALUES (6), (7), (8); +SELECT ctid, a FROM defer_t ORDER BY a; + ctid | a +-------+--- + (0,1) | 1 + (0,2) | 2 + (0,5) | 5 + (0,6) | 6 + (0,7) | 7 + (0,8) | 8 +(6 rows) + +DROP TABLE defer_t; +-- Subtransaction: subcommit move, then top-level rollback cancels move +CREATE TABLE defer_t (a int); +CREATE INDEX defer_t_idx ON defer_t (a); +INSERT INTO defer_t VALUES (1); +BEGIN; +INSERT INTO defer_t VALUES (2); +SAVEPOINT sp1; +INSERT INTO defer_t VALUES (3); +ALTER TABLE defer_t SET TABLESPACE regress_tblspace; +INSERT INTO defer_t VALUES (4); +RELEASE SAVEPOINT sp1; +INSERT INTO defer_t VALUES (5); +ROLLBACK; +INSERT INTO defer_t VALUES (6), (7), (8); +SELECT ctid, a FROM defer_t ORDER BY a; + ctid | a +-------+--- + (0,1) | 1 + (0,6) | 6 + (0,7) | 7 + (0,8) | 8 +(4 rows) + +DROP TABLE defer_t; +-- Subtransaction: two deferred moves in one transaction +CREATE TABLE defer_t (a int); +CREATE INDEX defer_t_idx ON defer_t (a); +INSERT INTO defer_t VALUES (1); +BEGIN; +INSERT INTO defer_t VALUES (2); +SAVEPOINT sp1; +INSERT INTO defer_t VALUES (3); +ALTER TABLE defer_t SET TABLESPACE regress_tblspace; +INSERT INTO defer_t VALUES (4); +SAVEPOINT sp2; +INSERT INTO defer_t VALUES (5); +ALTER TABLE defer_t SET TABLESPACE regress_tblspace2; +INSERT INTO defer_t VALUES (6); +COMMIT; +INSERT INTO defer_t VALUES (7), (8), (9); +SELECT ctid, a FROM defer_t ORDER BY a; + ctid | a +-------+--- + (0,1) | 1 + (0,2) | 2 + (0,3) | 3 + (0,4) | 4 + (0,5) | 5 + (0,6) | 6 + (0,7) | 7 + (0,8) | 8 + (0,9) | 9 +(9 rows) + +DROP TABLE defer_t; +CREATE TABLE defer_t (a int); +CREATE INDEX defer_t_idx ON defer_t (a); +INSERT INTO defer_t VALUES (1); +BEGIN; +INSERT INTO defer_t VALUES (2); +SAVEPOINT sp1; +INSERT INTO defer_t VALUES (3); +ALTER TABLE defer_t SET TABLESPACE regress_tblspace; +INSERT INTO defer_t VALUES (4); +SAVEPOINT sp2; +INSERT INTO defer_t VALUES (5); +ALTER TABLE defer_t SET TABLESPACE regress_tblspace2; +INSERT INTO defer_t VALUES (6); +ROLLBACK; +INSERT INTO defer_t VALUES (7), (8), (9); +SELECT ctid, a FROM defer_t ORDER BY a; + ctid | a +-------+--- + (0,1) | 1 + (0,7) | 7 + (0,8) | 8 + (0,9) | 9 +(4 rows) + +DROP TABLE defer_t; +RESET enable_sort; +DROP TABLESPACE regress_tblspace; +DROP TABLESPACE regress_tblspace2; DROP SCHEMA testschema CASCADE; NOTICE: drop cascades to 7 other objects DETAIL: drop cascades to table testschema.foo diff --git a/src/test/regress/sql/tablespace.sql b/src/test/regress/sql/tablespace.sql index 52ebf9e3b6b..b7df6923303 100644 --- a/src/test/regress/sql/tablespace.sql +++ b/src/test/regress/sql/tablespace.sql @@ -441,7 +441,6 @@ DROP TABLESPACE regress_tblspace_renamed; -- Deferred heap copy for ALTER TABLE SET TABLESPACE on indexed tables -- SET allow_in_place_tablespaces = true; -SET client_min_messages = DEBUG1; SET enable_seqscan = off; SET enable_bitmapscan = off; CREATE TABLESPACE regress_tblspace LOCATION ''; -- 2.53.0