From: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> |
---|---|
To: | Florents Tselai <florents(dot)tselai(at)gmail(dot)com> |
Cc: | PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Get TupleDesc for extension-defined types |
Date: | 2024-09-18 10:09:04 |
Message-ID: | CAFj8pRBNxc41dPC3JkCQKZSAnOH7s7zCHHNb+YTRZ0dyUCzmxQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi
st 18. 9. 2024 v 9:04 odesílatel Florents Tselai <florents(dot)tselai(at)gmail(dot)com>
napsal:
> Correct me if I'm wrong,
> but for an extension that defines composite types,
> there's currently no easy way to get a TupleDesc, even for its own types.
>
> Something like
> TupleDesc get_extension_type_tupledesc(const char *extname, const char
> *typname)
>
> Here's a routine I've stolen borrowed from pramsey's code and have been
> using ever since.
>
> Could this be exposed in extension.h ? (probably without the version check)
>
I don't think this functionality is generally useful. Wrapping
TypeGetTupleDesc(typoid, NIL) is very specific, and probably this code
should be inside the extension.
Different question is API for searching in system catalog and dependencies.
I can imagine some functions like
Oid extid = get_extension_id(extname);
Oid objid = get_extension_object_id(extid, schema_can_be_null, name,
TYPEOID); // can be used for routine, table, ...
tupdesc = TypeGetTupleDesc(objid, NIL);
Regards
Pavel
From | Date | Subject | |
---|---|---|---|
Next Message | Pavel Stehule | 2024-09-18 10:11:49 | Re: Get TupleDesc for extension-defined types |
Previous Message | shveta malik | 2024-09-18 10:01:16 | Re: Introduce XID age and inactive timeout based replication slot invalidation |