On Fri, Jun 4, 2021 at 4:38 PM Amit Langote <amitlangot...@gmail.com> wrote: > On Thu, Jun 3, 2021 at 8:48 PM Amit Langote <amitlangot...@gmail.com> wrote: > > On Tue, Jun 1, 2021 at 5:43 PM houzj.f...@fujitsu.com > > <houzj.f...@fujitsu.com> wrote: > > > So, If we want to share the cached partition between statements, we seems > > > cannot > > > use ExecPartitionCheck. Instead, I tried directly invoke the partition > > > support > > > function(partsupfunc) to check If the cached info is correct. In this > > > approach I > > > tried cache the *bound offset* in PartitionDescData, and we can use the > > > bound offset > > > to get the bound datum from PartitionBoundInfoData and invoke the > > > partsupfunc > > > to do the CHECK. > > > > > > Attach a POC patch about it. Just to share an idea about sharing cached > > > partition info > > > between statements. > > > > I have not looked at your patch yet, but yeah that's what I would > > imagine doing it. > > Just read it and think it looks promising. > > On code, I wonder why not add the rechecking-cached-offset code > directly in get_partiiton_for_tuple(), instead of adding a whole new > function for that. Can you please check the attached revised version?
Here's another, slightly more polished version of that. Also, I added a check_cached parameter to get_partition_for_tuple() to allow the caller to disable checking the cached version. -- Amit Langote EDB: http://www.enterprisedb.com
0001-cache-bound-offset_v3.patch
Description: Binary data