Fix portability issue in test indirect_toast
authorMichael Paquier <michael@paquier.xyz>
Mon, 7 Jun 2021 09:12:29 +0000 (18:12 +0900)
committerMichael Paquier <michael@paquier.xyz>
Mon, 7 Jun 2021 09:12:29 +0000 (18:12 +0900)
When run on a server using default_toast_compression set to LZ4, this
test would fail because of a consistency issue with the order of the
tuples treated.  LZ4 causes one tuple to be stored inline instead of
getting externalized.  As the goal of this test is to check after data
stored externally, stick to pglz as the compression algorithm used, so
as all data of this test is stored the way it should.

Analyzed-by: Dilip Kumar
Discussion: https://postgr.es/m/YLrDWxJgM8WWMoCg@paquier.xyz

src/test/regress/expected/indirect_toast.out
src/test/regress/sql/indirect_toast.sql

index b05173c43bd7a942311f5972c6d7e0c7cf693039..ab1fa5e707ce357674b11095ce451954094f3724 100644 (file)
@@ -1,3 +1,9 @@
+--
+-- Tests for external toast datums
+--
+-- Other compression algorithms may cause the compressed data to be stored
+-- inline.  pglz guarantees that the data is externalized, so stick to it.
+SET default_toast_compression = 'pglz';
 CREATE TABLE indtoasttest(descr text, cnt int DEFAULT 0, f1 text, f2 text);
 INSERT INTO indtoasttest(descr, f1, f2) VALUES('two-compressed', repeat('1234567890',1000), repeat('1234567890',1000));
 INSERT INTO indtoasttest(descr, f1, f2) VALUES('two-toasted', repeat('1234567890',30000), repeat('1234567890',50000));
@@ -149,3 +155,4 @@ SELECT substring(indtoasttest::text, 1, 200) FROM indtoasttest;
 
 DROP TABLE indtoasttest;
 DROP FUNCTION update_using_indirect();
+RESET default_toast_compression;
index efb1eb4e2fb69fd628094c352278e1ef7ed5bcf4..9156a44b7d9b32251c967281d0e6f65299bcd7a0 100644 (file)
@@ -1,3 +1,11 @@
+--
+-- Tests for external toast datums
+--
+
+-- Other compression algorithms may cause the compressed data to be stored
+-- inline.  pglz guarantees that the data is externalized, so stick to it.
+SET default_toast_compression = 'pglz';
+
 CREATE TABLE indtoasttest(descr text, cnt int DEFAULT 0, f1 text, f2 text);
 
 INSERT INTO indtoasttest(descr, f1, f2) VALUES('two-compressed', repeat('1234567890',1000), repeat('1234567890',1000));
@@ -59,3 +67,5 @@ SELECT substring(indtoasttest::text, 1, 200) FROM indtoasttest;
 
 DROP TABLE indtoasttest;
 DROP FUNCTION update_using_indirect();
+
+RESET default_toast_compression;