Fix portability issue in test indirect_toast

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
This commit is contained in:
Michael Paquier 2021-06-07 18:12:29 +09:00
parent be57f21650
commit 68a6d8a870
2 changed files with 17 additions and 0 deletions

View 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;

View 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;