summaryrefslogtreecommitdiff
path: root/src/include/access
diff options
context:
space:
mode:
authorTom Lane2011-04-23 00:13:12 +0000
committerTom Lane2011-04-23 00:13:12 +0000
commitae20bf1740c53494e15fadfd8c2c6444032a3441 (patch)
treeacbc7796d38c411fa5e23b3693be15e9aab7e664 /src/include/access
parent474ff212e5c2e89a9955cc2355cb96b2fe40398e (diff)
Make GIN and GIST pass the index collation to all their support functions.
Experimentation with contrib/btree_gist shows that the majority of the GIST support functions potentially need collation information. Safest policy seems to be to pass it to all of them, instead of making assumptions about which ones could possibly need it.
Diffstat (limited to 'src/include/access')
-rw-r--r--src/include/access/gin_private.h4
-rw-r--r--src/include/access/gist_private.h3
2 files changed, 5 insertions, 2 deletions
diff --git a/src/include/access/gin_private.h b/src/include/access/gin_private.h
index 06c6fa2f9c6..a79c003a9f1 100644
--- a/src/include/access/gin_private.h
+++ b/src/include/access/gin_private.h
@@ -303,8 +303,8 @@ typedef struct GinState
FmgrInfo comparePartialFn[INDEX_MAX_KEYS]; /* optional method */
/* canPartialMatch[i] is true if comparePartialFn[i] is valid */
bool canPartialMatch[INDEX_MAX_KEYS];
- /* Collations to supply to the compareFns and comparePartialFns */
- Oid compareCollation[INDEX_MAX_KEYS];
+ /* Collations to pass to the support functions */
+ Oid supportCollation[INDEX_MAX_KEYS];
} GinState;
/* XLog stuff */
diff --git a/src/include/access/gist_private.h b/src/include/access/gist_private.h
index ecc188f7df7..77e3cb5aee8 100644
--- a/src/include/access/gist_private.h
+++ b/src/include/access/gist_private.h
@@ -41,6 +41,9 @@ typedef struct GISTSTATE
FmgrInfo equalFn[INDEX_MAX_KEYS];
FmgrInfo distanceFn[INDEX_MAX_KEYS];
+ /* Collations to pass to the support functions */
+ Oid supportCollation[INDEX_MAX_KEYS];
+
TupleDesc tupdesc;
} GISTSTATE;