Re: Compressed TOAST Slicing
Paul Ramsey <pramsey@cleverelephant.ca>
From: Paul Ramsey <pramsey@cleverelephant.ca>
To: Andres Freund <andres@anarazel.de>
Cc: Michael Paquier <michael@paquier.xyz>,
Regina Obe <r@pcorp.us>,
pgsql-hackers@lists.postgresql.org
Date: 2019-03-12T18:08:15Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Add support for partial TOAST decompression
- 4d0e994eed83 12.0 landed
-
Remove remaining hard-wired OID references in the initial catalog data.
- 3aa0395d4ed3 12.0 cited
-
Rephrase references to "time qualification".
- ebcc7bf949ba 12.0 cited
> On Mar 12, 2019, at 9:45 AM, Paul Ramsey <pramsey@cleverelephant.ca> wrote: > > > >> On Mar 12, 2019, at 9:13 AM, Andres Freund <andres@anarazel.de> wrote: >> >> On 2019-03-12 14:42:14 +0900, Michael Paquier wrote: >>> On Mon, Mar 11, 2019 at 08:38:56PM +0000, Regina Obe wrote: >>>> I tested on windows mingw64 (as of a week ago) and confirmed the >>>> patch applies cleanly and significantly faster for left, substr >>>> tests than head. >>> >>> int32 >>> pglz_decompress(const char *source, int32 slen, char *dest, >>> - int32 rawsize) >>> + int32 rawsize, bool is_slice) >> >>> The performance improvements are nice, but breaking a published API is >>> less nice particularly since some work has been done to make pglz more >>> plugabble (see 60838df9, guess how wrote that). >> >> I don't think that should stop us from breaking the API. You've got to >> do quite low level stuff to need pglz directly, in which case such an >> API change should be the least of your problems between major versions. > > I was going to say that the function is only used twice in the code base, but I see it’s now used four times. So maybe leave the old signature in place and add the new one for my purposes after all. Though with only four internal calls, I am guessing Michael is more concerned about external users than with internal ones? So… - two signatures? - old signature but reduced error checking? - elephant? P