libpq and Datums management with embedded C function

From: Alessandro Candini <candini(at)meeo(dot)it>
To: pgsql-general(at)postgresql(dot)org
Subject: libpq and Datums management with embedded C function
Date: 2011-02-17 10:16:48
Message-ID: 4D5CF590.8020903@meeo.it
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

I'm dealing witch a C function embedded into postgresql-9.0.2.

I'm returning a set of rows and following the example here
http://www.postgresql.org/docs/9.0/static/xfunc-c.html everything works
fine, but only if I use the C string approach.

I'm using libpq to retrieve data and something like this works fine:
snprintf(values[0], 16, "%s", PQgetvalue(funcctx->user_fctx, call_cntr, 0));
because PQgetvalue returns an array of char.

But if I want to get the original data as output, I have to deal with
Datums and I don't know how to do this with lippq.
Something like the following it doesn't work:

Datum values[1];
values[0] = (Datum) PQgetvalue(funcctx->user_fctx, call_cntr, 1);
snprintf(values[0], 16, "%s", PQgetvalue(funcctx->user_fctx, call_cntr, 0));

Have you got any idea of how to solve this...do you know another way to
perform a query indide the db without involve libpq?
I would prefer to use them because I can connect to several postgresql
instances.

Thank you.

--
Alessandro Candini

MEEO S.r.l.
Via Saragat 9
I-44122 Ferrara, Italy
Tel: +39 0532 1861501
Fax: +39 0532 1861637
http://www.meeo.it

========================================
"ATTENZIONE:le informazioni contenute in questo messaggio sono
da considerarsi confidenziali ed il loro utilizzo è riservato unicamente
al destinatario sopra indicato. Chi dovesse ricevere questo messaggio
per errore è tenuto ad informare il mittente ed a rimuoverlo
definitivamente da ogni supporto elettronico o cartaceo."

"WARNING:This message contains confidential and/or proprietary
information which may be subject to privilege or immunity and which
is intended for use of its addressee only. Should you receive this
message in error, you are kindly requested to inform the sender and
to definitively remove it from any paper or electronic format."

Responses

Browse pgsql-general by date

  From Date Subject
Next Message prabakaran.a 2011-02-17 10:35:40 database instance creation
Previous Message Adarsh Sharma 2011-02-17 09:08:51 Tablespace Issue