From: | Nikita Malakhov <hukutoc(at)gmail(dot)com> |
---|---|
To: | Jacob Champion <jchampion(at)timescale(dot)com> |
Cc: | Aleksander Alekseev <aleksander(at)timescale(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Andres Freund <andres(at)anarazel(dot)de>, Matthias van de Meent <boekewurm+postgres(at)gmail(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, Greg Stark <stark(at)mit(dot)edu>, Teodor Sigaev <teodor(at)sigaev(dot)ru> |
Subject: | Re: Pluggable toaster |
Date: | 2022-09-24 12:50:24 |
Message-ID: | CAN-LCVOqWVWqZ60weCQgbt1F8gDLt8edXO7Fse_UJ0MigDxNiA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi hackers!
Cfbot is still not happy with the patchset, so I'm attaching a rebased one,
rebased onto the current
master (from today). The third patch contains documentation package, and
the second one contains large
README.toastapi file providing additional in-depth docs for developers.
Comments would be greatly appreciated.
Again, after checking patch sources I have a strong opinion that it needs
some refactoring -
move all files related to TOAST implementation into new folder
/backend/access/toast where
Generic (default) Toaster resides.
Patchset consists of:
v16-0001-toaster-interface.patch - Pluggable TOAST API interface along with
reference TOAST mechanics;
v16-0002-toaster-default.patch - Default TOAST re-implemented using Toaster
API;
v16-0003-toaster-docs.patch - Pluggable TOAST API documentation package
Actual GitHub branch resides at
https://github.com/postgrespro/postgres/tree/toasterapi_clean
On Fri, Sep 23, 2022 at 10:54 PM Nikita Malakhov <hukutoc(at)gmail(dot)com> wrote:
> Hi hackers!
>
> Cfbot is not happy with previous patchset, so I'm attaching new one,
> rebased onto current master
> (15b4). Also providing patch with documentation package, and the second
> one contains large
> README.toastapi file providing additional in-depth docs for developers.
>
> Comments would be greatly appreciated.
>
> Also, after checking patch sources I have a strong opinion that it needs
> some refactoring -
> move all files related to TOAST implementation into new folder
> /backend/access/toast where
> Generic (default) Toaster resides.
>
> Patchset consists of:
> v15-0001-toaster-interface.patch - Pluggable TOAST API interface along
> with reference TOAST mechanics;
> v15-0002-toaster-default.patch - Default TOAST re-implemented using
> Toaster API;
> v15-0003-toaster-docs.patch - Pluggable TOAST API documentation package
>
> On Tue, Sep 13, 2022 at 7:50 PM Jacob Champion <jchampion(at)timescale(dot)com>
> wrote:
>
>> On Mon, Sep 12, 2022 at 11:45 PM Nikita Malakhov <hukutoc(at)gmail(dot)com>
>> wrote:
>> > It would be more clear for complex data types like JSONB, where
>> developers could
>> > need some additional functionality to work with internal representation
>> of data type,
>> > and its full potential is revealed in our JSONB toaster extension. The
>> JSONB toaster
>> > is still in development but we plan to make it available soon.
>>
>> Okay. It'll be good to have that, because as it is now it's hard to
>> see the whole picture.
>>
>> > On installing dummy_toaster contrib: I've just checked it by making a
>> patch from commit
>> > and applying onto my clone of master and 2 patches provided in previous
>> email without
>> > any errors and sll checks passed - applying with git am, configure with
>> debug, cassert,
>> > depend and enable-tap-tests flags and run checks.
>> > Please advice what would cause such a behavior?
>>
>> I don't think the default pg_upgrade tests will upgrade contrib
>> objects (there are instructions in src/bin/pg_upgrade/TESTING that
>> cover manual dumps, if you prefer that method). My manual steps were
>> roughly
>>
>> =# CREATE EXTENSION dummy_toaster;
>> =# CREATE TABLE test (t TEXT
>> STORAGE external
>> TOASTER dummy_toaster_handler);
>> =# \q
>> $ initdb -D newdb
>> $ pg_ctl -D olddb stop
>> $ pg_upgrade -b <install path>/bin -B <install path>/bin -d
>> ./olddb -D ./newdb
>>
>> (where <install path>/bin is on the PATH, so we're using the right
>> binaries).
>>
>> Thanks,
>> --Jacob
>>
>
>
> --
> Regards,
> Nikita Malakhov
> Postgres Professional
> https://postgrespro.ru/
>
--
Regards,
Nikita Malakhov
Postgres Professional
https://postgrespro.ru/
Attachment | Content-Type | Size |
---|---|---|
v16-0003-toaster-docs.patch.gz | application/x-gzip | 1.1 KB |
v16-0002-toaster-default.patch.gz | application/x-gzip | 28.9 KB |
v16-0001-toaster-interface.patch.gz | application/x-gzip | 48.9 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Dmitry Dolgov | 2022-09-24 14:07:14 | Re: pg_stat_statements and "IN" conditions |
Previous Message | Himanshu Upadhyaya | 2022-09-24 12:44:51 | Re: HOT chain validation in verify_heapam() |