From 9a14e0082a69a4519090faa1a09e778b5ae0a92c Mon Sep 17 00:00:00 2001
From: Alexandre Felipe <o.alexandre.felipe@gmail.com>
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

