Re: Pgxs - How to reference another extension
От | Michał Kłeczek |
---|---|
Тема | Re: Pgxs - How to reference another extension |
Дата | |
Msg-id | 66924398-31C4-40CF-B892-CDE266293439@kleczek.org обсуждение исходный текст |
Ответ на | Re: Pgxs - How to reference another extension (Artur Zakirov <zaartur@gmail.com>) |
Ответы |
Re: Pgxs - How to reference another extension
Re: Pgxs - How to reference another extension |
Список | pgsql-general |
On 11 Mar 2024, at 14:08, Artur Zakirov <zaartur@gmail.com> wrote:On Mon, 11 Mar 2024 at 13:26, Michał Kłeczek <michal@kleczek.org> wrote:On 11 Mar 2024, at 11:41, Michał Kłeczek <michal@kleczek.org> wrote:
Hi,
I am trying to create an extension that delegates some calls to btree_gist functions:
DirectFunctionCall5Coll(
gbt_text_consistent, …other arguments);
Basic PGXS Makefile does not work - I get linker error:
Undefined symbols for architecture arm64:
"_gbt_text_consistent", referenced from:
Anyone could provide me with some hints?
I’ve added:
PG_LDFLAGS += -L$(shell $(PG_CONFIG) --pkglibdir) -lbtree_gist
You can try FunctionCall5Coll() or OidFunctionCall5Coll() functions.
OidFunctionCall5Coll() calls fmgr_info() and FunctionCall5Coll(). What
you only need is Oid of the target function.
What I am trying to do is wrapping and decoration of gbt_text_consistent function.
The reason I want to use DirectFunctionCall5Col is that other variants require catalog lookup
as I don’t have old of the wrapped function.
The lookup itself is problematic as the only piece of information I have is the strategy number.
What’s more - the result of the lookup should be cached in fn_extra and that makes things even more complex.
Is there any way to simply link against another extension library?
—
Thanks
В списке pgsql-general по дате отправления: