mirror of
https://github.com/postgres/postgres.git
synced 2025-09-06 13:46:51 +03:00
Support for INCLUDE attributes in GiST indexes
Similarly to B-tree, GiST index access method gets support of INCLUDE attributes. These attributes aren't used for tree navigation and aren't present in non-leaf pages. But they are present in leaf pages and can be fetched during index-only scan. The point of having INCLUDE attributes in GiST indexes is slightly different from the point of having them in B-tree. The main point of INCLUDE attributes in B-tree is to define UNIQUE constraint over part of attributes enabled for index-only scan. In GiST the main point of INCLUDE attributes is to use index-only scan for attributes, whose data types don't have GiST opclasses. Discussion: https://postgr.es/m/73A1A452-AD5F-40D4-BD61-978622FF75C1%40yandex-team.ru Author: Andrey Borodin, with small changes by me Reviewed-by: Andreas Karlsson
This commit is contained in:
@@ -78,7 +78,9 @@ typedef struct GISTSTATE
|
||||
MemoryContext scanCxt; /* context for scan-lifespan data */
|
||||
MemoryContext tempCxt; /* short-term context for calling functions */
|
||||
|
||||
TupleDesc tupdesc; /* index's tuple descriptor */
|
||||
TupleDesc leafTupdesc; /* index's tuple descriptor */
|
||||
TupleDesc nonLeafTupdesc; /* truncated tuple descriptor for non-leaf
|
||||
* pages */
|
||||
TupleDesc fetchTupdesc; /* tuple descriptor for tuples returned in an
|
||||
* index-only scan */
|
||||
|
||||
|
Reference in New Issue
Block a user