Re: [PATCH] Covering SPGiST index - Mailing list pgsql-hackers

From Pavel Borisov
Subject Re: [PATCH] Covering SPGiST index
Date
Msg-id CALT9ZEHEiwW4riEyRgp0otBs=FPf0m38MnkryeE8z0L1b1B4bQ@mail.gmail.com
Whole thread Raw
In response to Re: [PATCH] Covering SPGiST index  ("Andrey M. Borodin" <x4mmm@yandex-team.ru>)
Responses Re: [PATCH] Covering SPGiST index
List pgsql-hackers
I have a wild idea of renaming nextOffset in SpGistLeafTupleData.
Or at least documenting in comments that this field is more than just an offset.
Seems reasonable as previous changes localized mentions of nextOffset only to leaf tuple definition and access macros. So I've done this renaming.
 
This looks like assert rather than real runtime check in spgLeafTupleSize()

+               if (state->includeTupdesc->natts + 1 >= INDEX_MAX_KEYS)
+                       ereport(ERROR,
+                                       (errcode(ERRCODE_TOO_MANY_COLUMNS),
+                                        errmsg("number of index columns (%d) exceeds limit (%d)",
+                                                       state->includeTupdesc->natts, INDEX_MAX_KEYS)));
Even if you go with check, number of columns is state->includeTupdesc->natts  + 1.
I placed this check only once on SpGist state creation and replaced the other checks to asserts.
 
Also I'd refactor this
+       /* Form descriptor for INCLUDE columns if any */
Also done. Thanks a lot!
See v10.


--
Best regards,
Pavel Borisov

Postgres Professional: http://postgrespro.com
Attachment

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: builtin functions, parameter names and psql's \df
Next
From: Juan José Santamaría Flecha
Date:
Subject: Re: A micro-optimisation for walkdir()