libpq - PQexecPrepared

Pavel Stehule stehule na kix.fsv.cvut.cz
Pátek Říjen 21 07:31:05 CEST 2005


Nevim jestli na kolik Vam bude moje rada platna. Podival bych se na 
implementaci plpythonu, nebo do zdrojaku ODBC. Pripadne zkuste hledat 
operatory posunu << a >> v hlavickovych souborech.

Pavel

On Thu, 20 Oct 2005, Zdenek Prchal wrote:

> Zdravim,
> 
> je tak trochu zvlastni, ze k tehle funkci klientske knihovny
> postgresu se da sehnat tak malo informaci a prikladu pouziti
> predevsim s jinymi typy parametru nez text. Potreboval jsem
> pouzit int8 a int4, po nejakem hledani jsem objevil definice
> OID pro tyhle typy v pg_type.h (ktery je ale v adresari server,
> takze jsem tam nejdriv nehledal). Pak jsem (po par experimentech
> s vesmes podivnymi vysledky) narazil na to, ze se na intelu
> (little endian) musim explicitne postarat o obracene poradi bajtu.
> S int4 neni problem, to resi htonl, ale co s int8? Existuje 
> v glibc na linuxu na platforme i32 nejaka funkce nebo makro,
> ktere si s tim poradi? Sorry za ponekud trivialni dotaz, ale
> v C uz se prilis detailne neorientuji ...
> 
> Jak je to efektivitou pouziti PQexecPrepared v pripade takovychle
> kratkych binarnich parametru? Pokud potrebuji vkladat vetsi mnozstvi
> dat do tabulky, byl by sice asi lepsi prikaz COPY, jenze ten mi neumozni
> pouzit vyrazy - potrebuji provadet neco takoveho:
> 
> insert into tab1 values((select id from tab2 where key=$1), $2,
> 	timestamptz 'epoch' + $3 * interval '1 second');
> kde $1 je text, $2 int8 a $3 int4 ...
> 
> Diky za postrehy
> Zdenek Prchal
> 



Další informace o konferenci Databases