aboutsummaryrefslogtreecommitdiff
path: root/src/backend/access/gin
diff options
context:
space:
mode:
authorTeodor Sigaev <teodor@sigaev.ru>2008-09-04 11:47:05 +0000
committerTeodor Sigaev <teodor@sigaev.ru>2008-09-04 11:47:05 +0000
commit5373817cf2274024452421ef28822370d8605b5e (patch)
treee1a7003457d74551ba78ecc05f4a94a3b28d96af /src/backend/access/gin
parentba9f37f066cffbc327936fe35d08778c23be6e16 (diff)
downloadpostgresql-5373817cf2274024452421ef28822370d8605b5e.tar.gz
postgresql-5373817cf2274024452421ef28822370d8605b5e.zip
Fix strategy propagation to scanEntry for partial match by moving propagation
to initializaion of scanEntry.
Diffstat (limited to 'src/backend/access/gin')
-rw-r--r--src/backend/access/gin/ginget.c9
-rw-r--r--src/backend/access/gin/ginscan.c3
2 files changed, 3 insertions, 9 deletions
diff --git a/src/backend/access/gin/ginget.c b/src/backend/access/gin/ginget.c
index 9648d5ea289..c4619a61460 100644
--- a/src/backend/access/gin/ginget.c
+++ b/src/backend/access/gin/ginget.c
@@ -8,7 +8,7 @@
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/access/gin/ginget.c,v 1.18 2008/07/11 21:06:29 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/access/gin/ginget.c,v 1.19 2008/09/04 11:47:05 teodor Exp $
*-------------------------------------------------------------------------
*/
@@ -395,14 +395,7 @@ startScanKey(Relation index, GinState *ginstate, GinScanKey key)
return;
for (i = 0; i < key->nentries; i++)
- {
startScanEntry(index, ginstate, key->scanEntry + i);
- /*
- * Copy strategy number to each entry of key to
- * use in comparePartialFn call
- */
- key->scanEntry[i].strategy = key->strategy;
- }
memset(key->entryRes, TRUE, sizeof(bool) * key->nentries);
key->isFinished = FALSE;
diff --git a/src/backend/access/gin/ginscan.c b/src/backend/access/gin/ginscan.c
index b81ba0c12e1..7a1cac08cdb 100644
--- a/src/backend/access/gin/ginscan.c
+++ b/src/backend/access/gin/ginscan.c
@@ -8,7 +8,7 @@
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/access/gin/ginscan.c,v 1.17 2008/07/11 21:06:29 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/access/gin/ginscan.c,v 1.18 2008/09/04 11:47:05 teodor Exp $
*-------------------------------------------------------------------------
*/
@@ -61,6 +61,7 @@ fillScanKey(GinState *ginstate, GinScanKey key, OffsetNumber attnum, Datum query
key->scanEntry[i].offset = InvalidOffsetNumber;
key->scanEntry[i].buffer = InvalidBuffer;
key->scanEntry[i].partialMatch = NULL;
+ key->scanEntry[i].strategy = strategy;
key->scanEntry[i].list = NULL;
key->scanEntry[i].nlist = 0;
key->scanEntry[i].isPartialMatch = ( ginstate->canPartialMatch[attnum - 1] && partial_matches )