From: | Zhihong Yu <zyu(at)yugabyte(dot)com> |
---|---|
To: | Peter Geoghegan <pg(at)bowt(dot)ie> |
Cc: | Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Victor Yegorov <vyegorov(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Deleting older versions in unique indexes to avoid page splits |
Date: | 2020-12-31 19:02:29 |
Message-ID: | CALNJ-vR8YDiCXOjWKfCTtfHTLYJOaUsJ1F6WoxnJMns83NqpVA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi, Peter:
Happy New Year.
For v12-0001-Pass-down-logically-unchanged-index-hint.patch
+ if (hasexpression)
+ return false;
+
+ return true;
The above can be written as return !hasexpression;
The negation is due to the return value from
index_unchanged_by_update_var_walker() is inverse of index unchanged.
If you align the meaning of return value
from index_unchanged_by_update_var_walker() the same way
as index_unchanged_by_update(), negation is not needed.
For v12-0002-Add-bottom-up-index-deletion.patch :
For struct xl_btree_delete:
+ /* DELETED TARGET OFFSET NUMBERS FOLLOW */
+ /* UPDATED TARGET OFFSET NUMBERS FOLLOW */
+ /* UPDATED TUPLES METADATA (xl_btree_update) ARRAY FOLLOWS */
I guess the comment is for illustration purposes. Maybe you can write the
comment in lower case.
+#define BOTTOMUP_FAVORABLE_STRIDE 3
Adding a comment on why the number 3 is chosen would be helpful for people
to understand the code.
Cheers
On Wed, Dec 30, 2020 at 6:55 PM Peter Geoghegan <pg(at)bowt(dot)ie> wrote:
> On Wed, Dec 9, 2020 at 5:12 PM Peter Geoghegan <pg(at)bowt(dot)ie> wrote:
> > Attached is v11, which cleans everything up around the tableam
> > interface. There are only two patches in v11, since the tableam
> > refactoring made it impossible to split the second patch into a heapam
> > patch and nbtree patch (there is no reduction in functionality
> > compared to v10).
>
> Attached is v12, which fixed bitrot against the master branch. This
> version has significant comment and documentation revisions. It is
> functionally equivalent to v11, though.
>
> I intend to commit the patch in the next couple of weeks. While it
> certainly would be nice to get a more thorough review, I don't feel
> that it is strictly necessary. The patch provides very significant
> benefits with certain workloads that have traditionally been
> considered an Achilles' heel for Postgres. Even zheap doesn't provide
> a solution to these problems. The only thing that I can think of that
> might reasonably be considered in competition with this design is
> WARM, which hasn't been under active development since 2017 (I assume
> that it has been abandoned by those involved).
>
> I should also point out that the design doesn't change the on-disk
> format in any way, and so doesn't commit us to supporting something
> that might become onerous in the event of somebody else finding a
> better way to address at least some of the same problems.
>
> --
> Peter Geoghegan
>
From | Date | Subject | |
---|---|---|---|
Next Message | Thomas Munro | 2020-12-31 19:10:55 | Re: pgbench: option delaying queries till connections establishment? |
Previous Message | Joshua Drake | 2020-12-31 18:46:57 | Re: Proposed patch for key management |