From: Vincent Roberts <V_Roberts@fccc.edu>
To: pgsql-interfaces@postgresql.org
Subject: Calling lo_open within user defined C function
Date: Mon, 11 Jun 2001 15:34:10 -0400
Message-ID: <3B251D32.7B27CC94@fccc.edu> (raw)
I am trying to create a user defined C function that will
be called within PL/pgSQL
Namely, I need a function that will create a new Large Object and copy
the data
of an existing Large Object into the new Large Object.
This is the way the function would be registered
CREATE FUNCTION copyoid(oid) RETURNS oid AS '/copyoid.so' LANGUAGE
'C';
I notice that the lo_create and lo_open functions require a postgres
connection (PGConn)
Oid lo_creat(PGconn *conn, int mode)
int lo_open(PGconn *conn, Oid lobjId, int mode)
Since the function I wish to create will be executed within the backend,
how do I handle the conn (PGconn) variable?
I realize I will need to open the original large object , create a new
large object and then
read the old and write the new until done, and then close both.
Every example I can find opens a connection and then uses the new
connection for these functions.
Is it necessary to create/"open" a connection for code that executes
within the backend ?
.......
Thanks
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-interfaces@postgresql.org
Cc: V_Roberts@fccc.edu
Subject: Re: Calling lo_open within user defined C function
In-Reply-To: <3B251D32.7B27CC94@fccc.edu>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox