Thank you Daniel,
Is it the case that "insert" could be used in a similiar
fashion to load the bytea field?
Jerry
On Jul 28, 2004, at 3:07 PM,Daniel Verite wrote:
>
> Date: Wed, 28 Jul 2004 16:45:10 +0200
> From: "Daniel Verite" <daniel@manitou-mail.org>
> To: "Postgres General" <pgsql-general@postgresql.org>
> Subject: Re: Loading/Retrieving bytea fields?
> Message-ID: <20040728164529.5143560@uruguay.brainstorm.fr>
>
> Jerry LeVan writes
>
>> Has anyone found some C code that shows how to load/extract data from
>> a
>> bytea column?
>
> This works for me:
>
> int size;
> const char* contents;
> PGresult* res;
> res = PQexecParams(pgconn,
> "SELECT contents FROM tblob WHERE pkey=value",
> 0, NULL,NULL,NULL,NULL, /* no input parameters */
> 1 /* output in binary format */ );
>
> if (res && PQresultStatus(res)==PGRES_TUPLES_OK) {
> size = PQgetlength(res, 0, 0);
> contents = PQgetvalue(res, 0, 0); /* binary representation */
> }
>
> I believe that you may also use the plain PQexec instead of
> PQexecParams,
> but then you would have to call PQunescapeBytea() on the bytea column
> in the
> results, so it's likely to be less efficient. I haven't tried that,
> though.
>