08.04.2016 15:45, Anastasia Lubennikova:
08.04.2016 15:06, Teodor Sigaev:
On Wed, Apr 6, 2016 at 1:50 PM, Peter Geoghegan <p...@heroku.com> wrote:
Personally, I like documenting assertions, and will sometimes write
assertions that the compiler could easily optimize away. Maybe going
*that* far is more a matter of personal style, but I think an
assertion about the new index tuple size being <= the old one is just
a good idea. It's not about a problem in your code at all.
You should make index_truncate_tuple()/index_reform_tuple() promise to
always do this in its comments/contract with caller as part of this,
- index_truncate_tuple(Relation idxrel, IndexTuple olditup, int
Why we need indnatts/indnkeyatts? They are presented in idxrel struct
- follow code where index_truncate_tuple() is called, it should never
case where indnatts == indnkeyatts. So, indnkeyatts should be
than indnatts, pls, change assertion. If they are equal the this
becomes complicated variant of CopyIndexTuple()
Good point. These attributes seem to be there since previous versions
of the function.
But now they are definitely unnecessary. Updated patch is attached
One more improvement - note about expressions into documentation.
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company
diff --git a/doc/src/sgml/ref/create_index.sgml b/doc/src/sgml/ref/create_index.sgml
index b5f67af..61a21a9 100644
@@ -161,6 +161,8 @@ CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] [ [ IF NOT EXISTS ] <replaceable class=
<literal>INCLUDING</> clause, which can slightly reduce the size of the index,
due to storing included attributes only in leaf index pages.
Currently, only the B-tree access method supports this feature.
+ Expressions as included columns are not supported since they cannot be used
+ in index-only scan.
Sent via pgsql-hackers mailing list (email@example.com)
To make changes to your subscription: