From: | Michał Kłeczek <michal(at)kleczek(dot)org> |
---|---|
To: | Artur Zakirov <zaartur(at)gmail(dot)com> |
Cc: | pgsql-general <pgsql-general(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Pgxs - How to reference another extension |
Date: | 2024-03-11 13:48:23 |
Message-ID: | 66924398-31C4-40CF-B892-CDE266293439@kleczek.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
> On 11 Mar 2024, at 14:08, Artur Zakirov <zaartur(at)gmail(dot)com> wrote:
>
> On Mon, 11 Mar 2024 at 13:26, Michał Kłeczek <michal(at)kleczek(dot)org <mailto:michal(at)kleczek(dot)org>> wrote:
>>
>>
>>> On 11 Mar 2024, at 11:41, Michał Kłeczek <michal(at)kleczek(dot)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
From | Date | Subject | |
---|---|---|---|
Next Message | Joe Conway | 2024-03-11 13:52:51 | Re: Pgxs - How to reference another extension |
Previous Message | Laurenz Albe | 2024-03-11 13:20:52 | Re: alter table xxx alter column yyy set (n_distinct=nnnn ); |