{
ScanKey skey = scan->keyData + i;
+ /*
+ * Copy consistent support function to ScanKey structure
+ * instead of function implementing filtering operator.
+ */
fmgr_info_copy(&(skey->sk_func),
&(so->giststate->consistentFn[skey->sk_attno - 1]),
so->giststate->scanCxt);
GIST_DISTANCE_PROC, skey->sk_attno,
RelationGetRelationName(scan->indexRelation));
- fmgr_info_copy(&(skey->sk_func), finfo, so->giststate->scanCxt);
-
/*
* Look up the datatype returned by the original ordering
* operator. GiST always uses a float8 for the distance function,
*/
so->orderByTypes[i] = get_func_rettype(skey->sk_func.fn_oid);
+ /*
+ * Copy distance support function to ScanKey structure
+ * instead of function implementing ordering operator.
+ */
+ fmgr_info_copy(&(skey->sk_func), finfo, so->giststate->scanCxt);
+
/* Restore prior fn_extra pointers, if not first time */
if (!first_time)
skey->sk_func.fn_extra = fn_extras[i];