Skip to content

Commit a78cea1

Browse files
author
Karina Litskevich
committed
Test interaction with both toast compression types in columnar_insert
1 parent 9e1852e commit a78cea1

File tree

2 files changed

+68
-24
lines changed

2 files changed

+68
-24
lines changed

src/test/regress/expected/columnar_insert.out

+35-14
Original file line numberDiff line numberDiff line change
@@ -122,33 +122,54 @@ DROP TABLE test_logical_replication;
122122
-- test toast interactions
123123
--
124124
-- row table with data in different storage formats
125-
CREATE TABLE test_toast_row(plain TEXT, main TEXT, external TEXT, extended TEXT);
125+
CREATE TABLE test_toast_row(
126+
plain TEXT STORAGE plain,
127+
main_pglz TEXT STORAGE main COMPRESSION pglz,
128+
main_lz4 TEXT STORAGE main COMPRESSION lz4,
129+
external TEXT STORAGE external,
130+
extended_pglz TEXT STORAGE extended COMPRESSION pglz,
131+
extended_lz4 TEXT STORAGE extended COMPRESSION lz4
132+
);
126133
ALTER TABLE test_toast_row ALTER COLUMN plain SET STORAGE plain; -- inline, uncompressed
127-
ALTER TABLE test_toast_row ALTER COLUMN main SET STORAGE main; -- inline, compressed
134+
ALTER TABLE test_toast_row ALTER COLUMN main_pglz SET STORAGE main; -- inline, compressed using pglz
135+
ALTER TABLE test_toast_row ALTER COLUMN main_lz4 SET STORAGE main; -- inline, compressed using lz4
128136
ALTER TABLE test_toast_row ALTER COLUMN external SET STORAGE external; -- out-of-line, uncompressed
129-
ALTER TABLE test_toast_row ALTER COLUMN extended SET STORAGE extended; -- out-of-line, compressed
137+
ALTER TABLE test_toast_row ALTER COLUMN extended_pglz SET STORAGE extended; -- out-of-line, compressed using pglz
138+
ALTER TABLE test_toast_row ALTER COLUMN extended_lz4 SET STORAGE extended; -- out-of-line, compressed using lz4
130139
INSERT INTO test_toast_row VALUES(
131-
repeat('w', 5000), repeat('x', 5000), repeat('y', 5000), repeat('z', 5000));
140+
repeat('u', 5000), repeat('v', 5000), repeat('w', 5000),
141+
repeat('x', 5000), repeat('y', 5000), repeat('z', 5000)
142+
);
132143
SELECT
133-
pg_column_size(plain), pg_column_size(main),
134-
pg_column_size(external), pg_column_size(extended)
144+
pg_column_size(plain) AS plain,
145+
pg_column_size(main_pglz) as main_pglz,
146+
pg_column_size(main_lz4) as main_lz4,
147+
pg_column_size(external) as external,
148+
pg_column_size(extended_pglz) as extended_pglz,
149+
pg_column_size(extended_lz4) as extended_lz4
135150
FROM test_toast_row;
136-
pg_column_size | pg_column_size | pg_column_size | pg_column_size
151+
plain | main_pglz | main_lz4 | external | extended_pglz | extended_lz4
137152
---------------------------------------------------------------------
138-
5004 | 69 | 5000 | 65
153+
5004 | 69 | 38 | 5000 | 65 | 34
139154
(1 row)
140155

141-
CREATE TABLE test_toast_columnar(plain TEXT, main TEXT, external TEXT, extended TEXT)
156+
CREATE TABLE test_toast_columnar(plain TEXT, main_pglz TEXT, main_lz4 TEXT,
157+
external TEXT, extended_pglz TEXT, extended_lz4 TEXT)
142158
USING columnar;
143-
INSERT INTO test_toast_columnar SELECT plain, main, external, extended
159+
INSERT INTO test_toast_columnar
160+
SELECT plain, main_pglz, main_lz4, external, extended_pglz, extended_lz4
144161
FROM test_toast_row;
145162
SELECT
146-
pg_column_size(plain), pg_column_size(main),
147-
pg_column_size(external), pg_column_size(extended)
163+
pg_column_size(plain) AS plain,
164+
pg_column_size(main_pglz) as main_pglz,
165+
pg_column_size(main_lz4) as main_lz4,
166+
pg_column_size(external) as external,
167+
pg_column_size(extended_pglz) as extended_pglz,
168+
pg_column_size(extended_lz4) as extended_lz4
148169
FROM test_toast_columnar;
149-
pg_column_size | pg_column_size | pg_column_size | pg_column_size
170+
plain | main_pglz | main_lz4 | external | extended_pglz | extended_lz4
150171
---------------------------------------------------------------------
151-
5004 | 5004 | 5004 | 5004
172+
5004 | 5004 | 5004 | 5004 | 5004 | 5004
152173
(1 row)
153174

154175
select

src/test/regress/sql/columnar_insert.sql

+33-10
Original file line numberDiff line numberDiff line change
@@ -83,27 +83,50 @@ DROP TABLE test_logical_replication;
8383
--
8484

8585
-- row table with data in different storage formats
86-
CREATE TABLE test_toast_row(plain TEXT, main TEXT, external TEXT, extended TEXT);
86+
CREATE TABLE test_toast_row(
87+
plain TEXT STORAGE plain,
88+
main_pglz TEXT STORAGE main COMPRESSION pglz,
89+
main_lz4 TEXT STORAGE main COMPRESSION lz4,
90+
external TEXT STORAGE external,
91+
extended_pglz TEXT STORAGE extended COMPRESSION pglz,
92+
extended_lz4 TEXT STORAGE extended COMPRESSION lz4
93+
);
8794
ALTER TABLE test_toast_row ALTER COLUMN plain SET STORAGE plain; -- inline, uncompressed
88-
ALTER TABLE test_toast_row ALTER COLUMN main SET STORAGE main; -- inline, compressed
95+
ALTER TABLE test_toast_row ALTER COLUMN main_pglz SET STORAGE main; -- inline, compressed using pglz
96+
ALTER TABLE test_toast_row ALTER COLUMN main_lz4 SET STORAGE main; -- inline, compressed using lz4
8997
ALTER TABLE test_toast_row ALTER COLUMN external SET STORAGE external; -- out-of-line, uncompressed
90-
ALTER TABLE test_toast_row ALTER COLUMN extended SET STORAGE extended; -- out-of-line, compressed
98+
ALTER TABLE test_toast_row ALTER COLUMN extended_pglz SET STORAGE extended; -- out-of-line, compressed using pglz
99+
ALTER TABLE test_toast_row ALTER COLUMN extended_lz4 SET STORAGE extended; -- out-of-line, compressed using lz4
91100

92101
INSERT INTO test_toast_row VALUES(
93-
repeat('w', 5000), repeat('x', 5000), repeat('y', 5000), repeat('z', 5000));
102+
repeat('u', 5000), repeat('v', 5000), repeat('w', 5000),
103+
repeat('x', 5000), repeat('y', 5000), repeat('z', 5000)
104+
);
94105

95106
SELECT
96-
pg_column_size(plain), pg_column_size(main),
97-
pg_column_size(external), pg_column_size(extended)
107+
pg_column_size(plain) AS plain,
108+
pg_column_size(main_pglz) as main_pglz,
109+
pg_column_size(main_lz4) as main_lz4,
110+
pg_column_size(external) as external,
111+
pg_column_size(extended_pglz) as extended_pglz,
112+
pg_column_size(extended_lz4) as extended_lz4
98113
FROM test_toast_row;
99114

100-
CREATE TABLE test_toast_columnar(plain TEXT, main TEXT, external TEXT, extended TEXT)
115+
CREATE TABLE test_toast_columnar(plain TEXT, main_pglz TEXT, main_lz4 TEXT,
116+
external TEXT, extended_pglz TEXT, extended_lz4 TEXT)
101117
USING columnar;
102-
INSERT INTO test_toast_columnar SELECT plain, main, external, extended
118+
119+
INSERT INTO test_toast_columnar
120+
SELECT plain, main_pglz, main_lz4, external, extended_pglz, extended_lz4
103121
FROM test_toast_row;
122+
104123
SELECT
105-
pg_column_size(plain), pg_column_size(main),
106-
pg_column_size(external), pg_column_size(extended)
124+
pg_column_size(plain) AS plain,
125+
pg_column_size(main_pglz) as main_pglz,
126+
pg_column_size(main_lz4) as main_lz4,
127+
pg_column_size(external) as external,
128+
pg_column_size(extended_pglz) as extended_pglz,
129+
pg_column_size(extended_lz4) as extended_lz4
107130
FROM test_toast_columnar;
108131

109132
select

0 commit comments

Comments
 (0)