git.postgresql.org Git - postgresql.git/commitdiff

git projects / postgresql.git / commitdiff
? search:
summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: dc192a5)
Fix broken compare function for tsquery_ops. Per Tom's report.
2008年4月20日 09:17:57 +0000 (09:17 +0000)
2008年4月20日 09:17:57 +0000 (09:17 +0000)
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 df813b592232832f2e5c20592ef25a529e38d303..52ba7716ffffdf5c5aac3d4508128708af91c60b 100644 (file)
--- 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
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /