public inbox for [email protected]
help / color / mirror / Atom feedFrom: Michael Zhilin <[email protected]>
To: Andy Fan <[email protected]>
To: Peter Smith <[email protected]>
Cc: vignesh C <[email protected]>
Cc: Matthias van de Meent <[email protected]>
Cc: Nikita Malakhov <[email protected]>
Cc: [email protected]
Subject: Re: Shared detoast Datum proposal
Date: Tue, 23 Jan 2024 11:59:00 +0300
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>
<[email protected]>
<CALDaNm2EtgXGd+w81ZjTZBD_rLSURyGqXRoz7EFfhxEneOmWig@mail.gmail.com>
<[email protected]>
<[email protected]>
<CAHut+PsehMtwQ4uE9VS2C7jB1yT0SZVOPU22u1=ma1K7dKFUow@mail.gmail.com>
<[email protected]>
Hi Andy,
It looks like v5 is missing in your mail. Could you please check and
resend it?
Thanks,
Michael.
On 1/23/24 08:44, Andy Fan wrote:
> Hi,
>
> Peter Smith<[email protected]> writes:
>
>> 2024-01 Commitfest.
>>
>> Hi, This patch has a CF status of "Needs Review" [1], but it seems
>> there were CFbot test failures last time it was run [2]. Please have a
>> look and post an updated version if necessary.
>>
>> ======
>> [1]https://commitfest.postgresql.org/46/4759/
>> [2]https://cirrus-ci.com/github/postgresql-cfbot/postgresql/commitfest/46/4759
> v5 attached, it should fix the above issue. This version also introduce
> a data struct called bitset, which has a similar APIs like bitmapset but
> have the ability to reset all bits without recycle its allocated memory,
> this is important for this feature.
>
> commit 44754fb03accb0dec9710a962a334ee73eba3c49 (HEAD -> shared_detoast_value_v2)
> Author: yizhi.fzh<[email protected]>
> Date: Tue Jan 23 13:38:34 2024 +0800
>
> shared detoast feature.
>
> commit 14a6eafef9ff4926b8b877d694de476657deee8a
> Author: yizhi.fzh<[email protected]>
> Date: Mon Jan 22 15:48:33 2024 +0800
>
> Introduce a Bitset data struct.
>
> While Bitmapset is designed for variable-length of bits, Bitset is
> designed for fixed-length of bits, the fixed length must be specified at
> the bitset_init stage and keep unchanged at the whole lifespan. Because
> of this, some operations on Bitset is simpler than Bitmapset.
>
> The bitset_clear unsets all the bits but kept the allocated memory, this
> capacity is impossible for bit Bitmapset for some solid reasons and this
> is the main reason to add this data struct.
>
> Also for performance aspect, the functions for Bitset removed some
> unlikely checks, instead with some Asserts.
>
> [1]https://postgr.es/m/CAApHDvpdp9LyAoMXvS7iCX-t3VonQM3fTWCmhconEvORrQ%2BZYA%40mail.gmail.com
> [2]https://postgr.es/m/875xzqxbv5.fsf%40163.com
>
>
> I didn't write a good commit message for commit 2, the people who is
> interested with this can see the first message in this thread for
> explaination.
>
> I think anyone whose customer uses lots of jsonb probably can get
> benefits from this. the precondition is the toast value should be
> accessed 1+ times, including the jsonb_out function. I think this would
> be not rare to happen.
>
--
Michael Zhilin
Postgres Professional
+7(925)3366270
https://www.postgrespro.ru
view thread (11+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
Subject: Re: Shared detoast Datum proposal
In-Reply-To: <[email protected]>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox