On Wed, Jun 16, 2021 at 9:29 PM Amit Langote <amitlangot...@gmail.com>
wrote:

> On Wed, Jun 16, 2021 at 4:27 PM Amit Langote <amitlangot...@gmail.com>
> wrote:
> > On Mon, Jun 7, 2021 at 8:38 PM houzj.f...@fujitsu.com
> > <houzj.f...@fujitsu.com> wrote:
> > > The rough idea is to check the average batch number every 1000 rows.
> > > If the average batch num is greater than 1, then we enable the cache
> check,
> > > if not, disable cache check. This is similar to what 0d5f05cde0 did.
> >
> > Thanks for sharing the idea and writing a patch for it.
> >
> > I considered a simpler heuristic where we enable/disable caching of a
> > given offset if it is found by the binary search algorithm at least N
> > consecutive times.  But your idea to check the ratio of the number of
> > tuples inserted over partition/bound offset changes every N tuples
> > inserted may be more adaptive.
> >
> > Please find attached a revised version of your patch, where I tried to
> > make it a bit easier to follow, hopefully.  While doing so, I realized
> > that caching the bound offset across queries makes little sense now,
> > so I decided to keep the changes confined to execPartition.c.  Do you
> > have a counter-argument to that?
>
> Attached a slightly revised version of that patch, with a commit
> message this time.
>
> --
> Amit Langote
> EDB: http://www.enterprisedb.com


Hi,

+   int         n_tups_inserted;
+   int         n_offset_changed;

Since tuples appear in plural, maybe offset should be as well: offsets.

+               part_index = get_cached_list_partition(pd, boundinfo, key,
+                                                      values);

nit:either put values on the same line, or align the 4 parameters on
different lines.

+                   if (part_index < 0)
+                   {
+                       bound_offset =
partition_range_datum_bsearch(key->partsupfunc,

Do we need to check the value of equal  before computing part_index ?

Cheers

Reply via email to