From: | Peter Geoghegan <pg(at)bowt(dot)ie> |
---|---|
To: | Teodor Sigaev <teodor(at)sigaev(dot)ru> |
Cc: | Jeff Janes <jeff(dot)janes(at)gmail(dot)com>, Alexander Korotkov <a(dot)korotkov(at)postgrespro(dot)ru>, Anastasia Lubennikova <a(dot)lubennikova(at)postgrespro(dot)ru>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: WIP: Covering + unique indexes. |
Date: | 2018-04-10 02:30:14 |
Message-ID: | CAH2-WznLV0pDHtyJJzbtfvaiDpKhTH_+JOz9rzEVKHhz0HF7dw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Sun, Apr 8, 2018 at 11:19 PM, Teodor Sigaev <teodor(at)sigaev(dot)ru> wrote:
> Thank you, pushed.
I noticed a few more issues following another pass-through of the patch:
* There is no pfree() within _bt_buildadd() for truncated tuples, even
though that's a context where it's clearly not okay.
* It might be a good idea to also pfree() the truncated tuple for most
other _bt_buildadd() callers. Even though it's arguably okay in other
cases, it seems worth being consistent about it (consistent with old
nbtree code).
* There should probably be some documentation around why it's okay
that we call index_truncate_tuple() with an exclusive buffer lock held
(during a page split). For example, there should probably be a comment
on the VARATT_IS_EXTERNAL() situation.
* Not sure that all calls to BTreeInnerTupleGetDownLink() are limited
to inner tuples, which might be worth doing something about (perhaps
just renaming the macro).
I do not have the time to write a patch right away, but I should be
able to post one in a few days. I want to avoid sending several small
patches.
--
Peter Geoghegan
From | Date | Subject | |
---|---|---|---|
Next Message | Amit Langote | 2018-04-10 02:56:13 | Re: ON CONFLICT DO UPDATE for partitioned tables |
Previous Message | Craig Ringer | 2018-04-10 02:02:48 | Re: PostgreSQL's handling of fsync() errors is unsafe and risks data loss at least on XFS |