* There is no pfree() within _bt_buildadd() for truncated tuples, even though that's a context where it's clearly not okay.
Agree
* 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).
Seems, I don't see other calls to pfree after.
* 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.
I havn't objection to improve docs/comments.
* Not sure that all calls to BTreeInnerTupleGetDownLink() are limited to inner tuples, which might be worth doing something about (perhaps just renaming the macro).
What is suspicious place for you opinion?
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.
no problem, we can wait -- Teodor Sigaev E-mail: teo...@sigaev.ru WWW: http://www.sigaev.ru/