Re: Get user defined type OID (PostgreSQL extension in C)

From: Melvin Davidson <melvin6925(at)gmail(dot)com>
To: Fabiana Zioti <fabi_zioti(at)hotmail(dot)com>
Cc: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: Get user defined type OID (PostgreSQL extension in C)
Date: 2017-08-25 19:00:41
Message-ID: CANu8Fixftnnb0H6bVS2Q5rZgfqcmMX1Rh=fEFcnQGFkg9Ec9jQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Fri, Aug 25, 2017 at 2:34 PM, Fabiana Zioti <fabi_zioti(at)hotmail(dot)com>
wrote:

>
> I'm developing an extension to PostgreSQL using C. I created a
> user-defined type called geo_trajc_elem. I also created a function to
> generate an array of this new type.
>
>
> (....)
>
> ArrayType *result_array;
> struct geo_trajc_elem *traje = (struct geo_trajc_elem
> *)palloc(sizeof(struct geo_trajc_elem));
>
> Timestamp time_el = PG_GETARG_TIMESTAMP(1);
> struct geo_point *pt = PG_GETARG_GEOPOINT_TYPE_P(2);
>
> int16 typlen;
> bool typbyval;
> char typalign;
>
> Datum datum_element;
>
>
> traje = DatumGetGeoTrajETypeP(DirectFunctionCall2(get_trajectory_elem,
> PointerGetDatum(time_el), PointerGetDatum(pt)));
> datum_element = PointerGetDatum(traje);
>
> /* Oid element_type = get_fn_expr_argtype(fcinfo->flinfo, 0); */
>
> Oid element_type = ?
>
> get_typlenbyvalalign(element_type, &typlen, &typbyval, &typalign);
> (....)
>
>
> Is there a function to get the id of my new type? Like get_oid_elem
> (struct geo_trajc_elem)
>
> In this case, it is not possible to use get_fn_expr_argtype because I am
> not passing the new type as argument but creating it in the function
> itself, correct ?
>

*>Is there a function to get the id of my new type? Like get_oid_elem
(struct geo_trajc_elem)*

*A simple*

*SELECT oid, typname*
* FROM pg_type*
* WHERE typname = 'struct geo_trajc_elem';*

*should do the trick for you.*

--
*Melvin Davidson*
I reserve the right to fantasize. Whether or not you
wish to share my fantasy is entirely up to you.

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Adam Brusselback 2017-08-25 19:39:12 Re: Porting libpq to QNX 4.25
Previous Message marcelo 2017-08-25 18:47:18 Re: Porting libpq to QNX 4.25