Re: [HACKERS] Custom compression methods

From: Dilip Kumar <dilipbalaut(at)gmail(dot)com>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Justin Pryzby <pryzby(at)telsasoft(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>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: [HACKERS] Custom compression methods
Date: 2021-02-10 14:51:59
Message-ID: CAFiTN-sRwLUbVPN7_SsXrZnzvkbB=bWDmU-wyvZD1bmRTYrBmQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Feb 9, 2021 at 6:14 PM Dilip Kumar <dilipbalaut(at)gmail(dot)com> wrote:
>
> > Basically, we are just checking whether the stored value is compressed
> > or not, but we are clearly ignoring the fact that it might be
> > compressed and stored externally on disk. So basically if the value
> > is stored externally we can not know whether the external data were
> > compressed or not without fetching the values from the toast table, I
> > think instead of fetching the complete data from toast we can just
> > fetch the header using 'toast_fetch_datum_slice'.
> >
> > Any other thoughts on this?
>
> I think I was partially wrong here. Basically, there is a way to know
> whether the external data are compressed or not using
> VARATT_EXTERNAL_IS_COMPRESSED macro. However, if it is compressed
> then we will have to fetch the toast slice of size
> toast_compress_header, to know the compression method.

I have fixed this issue, so now we will be able to detect the
compression method of the externalized compressed data as well. I
have also added a test case for this. I have rebased other patches
also on top of this patch. I have fixed the doc compilation issue in
patch 0004 raised by Justin. I still could not figure out what is the
right place for inheriting the compression method related change in
the "ddl.sgml" so that is still there, any suggestions on that?

--
Regards,
Dilip Kumar
EnterpriseDB: http://www.enterprisedb.com

Attachment Content-Type Size
v23-0003-Add-support-for-PRESERVE.patch text/x-patch 52.4 KB
v23-0004-Create-custom-compression-methods.patch text/x-patch 33.3 KB
v23-0001-Built-in-compression-method.patch text/x-patch 237.8 KB
v23-0002-alter-table-set-compression.patch text/x-patch 25.1 KB
v23-0005-new-compression-method-extension-for-zlib.patch text/x-patch 9.9 KB
v23-0006-Support-compression-methods-options.patch text/x-patch 64.9 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2021-02-10 15:06:35 Re: repeated decoding of prepared transactions
Previous Message Magnus Hagander 2021-02-10 14:25:58 Re: Online checksums patch - once again