diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2016-03-02 17:37:54 -0500 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2016-03-02 17:37:54 -0500 |
commit | eb43e851d6b3fa0c4516efcfdf29a183f7717a43 (patch) | |
tree | 3a7d6117eb4288df11985a2608754ff4c4e858e1 /src/backend | |
parent | cc6077d4d540d821548b704dc6e2f349da736f62 (diff) | |
download | postgresql-eb43e851d6b3fa0c4516efcfdf29a183f7717a43.tar.gz postgresql-eb43e851d6b3fa0c4516efcfdf29a183f7717a43.zip |
Create stub functions to support pg_upgrade of old contrib/tsearch2.
Commits 9ff60273e35cad6e and dbe2328959e12701 adjusted the declarations
of some core functions referenced by contrib/tsearch2's install script,
forgetting that in a pg_upgrade situation, we'll be trying to restore
operator class definitions that reference the old signatures. We've
hit this problem before; solve it in the same way as before, namely by
installing stub functions that have the expected signature and just
invoke the correct function. Per report from Jeff Janes.
(Someday we ought to stop supporting contrib/tsearch2, but I'm not
sure today is that day.)
Diffstat (limited to 'src/backend')
-rw-r--r-- | src/backend/utils/adt/tsginidx.c | 20 | ||||
-rw-r--r-- | src/backend/utils/adt/tsgistidx.c | 13 | ||||
-rw-r--r-- | src/backend/utils/adt/tsquery_gist.c | 13 |
3 files changed, 46 insertions, 0 deletions
diff --git a/src/backend/utils/adt/tsginidx.c b/src/backend/utils/adt/tsginidx.c index 2819d520e94..fef594700aa 100644 --- a/src/backend/utils/adt/tsginidx.c +++ b/src/backend/utils/adt/tsginidx.c @@ -377,3 +377,23 @@ gin_tsquery_consistent_6args(PG_FUNCTION_ARGS) elog(ERROR, "gin_tsquery_consistent requires eight arguments"); return gin_tsquery_consistent(fcinfo); } + +/* + * Likewise, a stub version of gin_extract_tsquery declared with argument + * types that are no longer considered appropriate. + */ +Datum +gin_extract_tsquery_oldsig(PG_FUNCTION_ARGS) +{ + return gin_extract_tsquery(fcinfo); +} + +/* + * Likewise, a stub version of gin_tsquery_consistent declared with argument + * types that are no longer considered appropriate. + */ +Datum +gin_tsquery_consistent_oldsig(PG_FUNCTION_ARGS) +{ + return gin_tsquery_consistent(fcinfo); +} diff --git a/src/backend/utils/adt/tsgistidx.c b/src/backend/utils/adt/tsgistidx.c index ede11ddd48c..0100cf4f372 100644 --- a/src/backend/utils/adt/tsgistidx.c +++ b/src/backend/utils/adt/tsgistidx.c @@ -805,3 +805,16 @@ gtsvector_picksplit(PG_FUNCTION_ARGS) PG_RETURN_POINTER(v); } + +/* + * Formerly, gtsvector_consistent was declared in pg_proc.h with arguments + * that did not match the documented conventions for GiST support functions. + * We fixed that, but we still need a pg_proc entry with the old signature + * to support reloading pre-9.6 contrib/tsearch2 opclass declarations. + * This compatibility function should go away eventually. + */ +Datum +gtsvector_consistent_oldsig(PG_FUNCTION_ARGS) +{ + return gtsvector_consistent(fcinfo); +} diff --git a/src/backend/utils/adt/tsquery_gist.c b/src/backend/utils/adt/tsquery_gist.c index 02693bd0ee8..5eebf216c07 100644 --- a/src/backend/utils/adt/tsquery_gist.c +++ b/src/backend/utils/adt/tsquery_gist.c @@ -262,3 +262,16 @@ gtsquery_picksplit(PG_FUNCTION_ARGS) PG_RETURN_POINTER(v); } + +/* + * Formerly, gtsquery_consistent was declared in pg_proc.h with arguments + * that did not match the documented conventions for GiST support functions. + * We fixed that, but we still need a pg_proc entry with the old signature + * to support reloading pre-9.6 contrib/tsearch2 opclass declarations. + * This compatibility function should go away eventually. + */ +Datum +gtsquery_consistent_oldsig(PG_FUNCTION_ARGS) +{ + return gtsquery_consistent(fcinfo); +} |