Re: [HACKERS] Custom compression methods

From: Justin Pryzby <pryzby(at)telsasoft(dot)com>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Dilip Kumar <dilipbalaut(at)gmail(dot)com>, Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>, Alexander Korotkov <a(dot)korotkov(at)postgrespro(dot)ru>, David Steele <david(at)pgmasters(dot)net>, Ildus Kurbangaliev <i(dot)kurbangaliev(at)gmail(dot)com>, Dmitry Dolgov <9erthalion6(at)gmail(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: [HACKERS] Custom compression methods
Date: 2021-02-14 20:28:31
Message-ID: 20210214202831.GM1793@telsasoft.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sun, Feb 14, 2021 at 12:49:40PM -0600, Justin Pryzby wrote:
> On Wed, Feb 10, 2021 at 04:56:17PM -0500, Robert Haas wrote:
> > Small delta patch with a few other suggested changes attached.
>
> Robert's fixup patch caused the CI to fail, since it 1) was called *.patch;
> and, 2) didn't include the previous patches.
>
> This includes a couple proposals of mine as separate patches.

CIs failed on BSD and linux due to a test in contrib/, but others passed.
https://ci.appveyor.com/project/postgresql-cfbot/postgresql/build/1.0.127551
https://cirrus-ci.com/task/6087701947482112
https://cirrus-ci.com/task/6650651900903424
https://cirrus-ci.com/task/5524751994060800

Resending with fixes to configure.ac and missed autoconf run. I think this is
expected to fail on mac, due to missing LZ4.

BTW, compressamapi.h doesn't need to be included in any of these, at least in
the 0001 patch:

src/backend/access/common/indextuple.c | 2 +-
src/backend/catalog/heap.c | 2 +-
src/backend/catalog/index.c | 2 +-
src/backend/parser/parse_utilcmd.c | 2 +-

It's pretty unfriendly that this requires quoting the integer to be
syntactically valid:

|postgres=# create table j(q text compression pglz with (level 1) );
|2021-01-30 01:26:33.554 CST [31814] ERROR: syntax error at or near "1" at character 52
|2021-01-30 01:26:33.554 CST [31814] STATEMENT: create table j(q text compression pglz with (level 1) );
|ERROR: syntax error at or near "1"
|LINE 1: create table j(q text compression pglz with (level 1) );

Attachment Content-Type Size
v24-0001-Built-in-compression-method.patch text/x-diff 108.5 KB
v24-0002-psql-Add-HIDE_COMPRESSAM-for-regress-testing.patch text/x-diff 4.3 KB
v24-0003-Add-default_toast_compression-GUC.patch text/x-diff 10.4 KB
v24-0004-default-to-with-lz4.patch text/x-diff 1.7 KB
v24-0005-fixups.patch.patch text/x-diff 6.4 KB
v24-0006-alter-table-set-compression.patch text/x-diff 29.3 KB
v24-0007-Add-support-for-PRESERVE.patch text/x-diff 52.4 KB
v24-0008-Create-custom-compression-methods.patch text/x-diff 33.7 KB
v24-0009-new-compression-method-extension-for-zlib.patch text/x-diff 10.0 KB
v24-0010-Support-compression-methods-options.patch text/x-diff 64.7 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Geoghegan 2021-02-14 21:01:57 Re: GlobalVisIsRemovableFullXid() vs GlobalVisCheckRemovableXid()
Previous Message Justin Pryzby 2021-02-14 18:49:40 Re: [HACKERS] Custom compression methods