From: Teodor Sigaev Date: Sun, 20 Apr 2008 09:17:57 +0000 (+0000) Subject: Fix broken compare function for tsquery_ops. Per Tom's report. X-Git-Tag: REL8_4_BETA1~1521 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=be939544a68f852107c912da2f35f5d36958deb2;p=thirdparty%2Fpostgresql.git 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. --- diff --git a/src/backend/utils/adt/tsquery_gist.c b/src/backend/utils/adt/tsquery_gist.c index df813b59223..52ba7716fff 100644 --- a/src/backend/utils/adt/tsquery_gist.c +++ b/src/backend/utils/adt/tsquery_gist.c @@ -7,7 +7,7 @@ * * * 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) { TSQuerySign *a = (TSQuerySign *) PG_GETARG_POINTER(0); 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