Commit be939544 authored by Teodor Sigaev's avatar Teodor Sigaev

Fix broken compare function for tsquery_ops. Per Tom's report.

I never understood why initial authors GiST in pgsql choose so
stgrange signature for 'same' method:
bool *sameFn(Datum a, Datum b, bool* result)
instead of simple, logical
bool sameFn(Datum a, Datum b)
This change will break any existing GiST extension, so we still live with
it and will live.
parent dc192a5d
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/utils/adt/tsquery_gist.c,v 1.5 2008/04/14 17:05:33 tgl Exp $ * $PostgreSQL: pgsql/src/backend/utils/adt/tsquery_gist.c,v 1.6 2008/04/20 09:17:57 teodor Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -106,8 +106,11 @@ gtsquery_same(PG_FUNCTION_ARGS) ...@@ -106,8 +106,11 @@ gtsquery_same(PG_FUNCTION_ARGS)
{ {
TSQuerySign *a = (TSQuerySign *) PG_GETARG_POINTER(0); TSQuerySign *a = (TSQuerySign *) PG_GETARG_POINTER(0);
TSQuerySign *b = (TSQuerySign *) PG_GETARG_POINTER(1); TSQuerySign *b = (TSQuerySign *) PG_GETARG_POINTER(1);
bool *result = (bool *) PG_GETARG_POINTER(2);
PG_RETURN_POINTER(*a == *b); *result = (*a == *b) ? true : false;
PG_RETURN_POINTER(result);
} }
static int static int
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment