Re: Output parameters
Bart Samwel wrote:
Hiroshi Inoue wrote:
Bart Samwel wrote:
Hiroshi Inoue wrote:
Bart Samwel wrote:
Hi there,
I've got a situation with the experimental enhanced branch driver
(version 7.03.02.66), PostgreSQL 8.1 backend. I'm executing a query
such as:
SELECT myproc(?,?,?,?,?,?,?)
where a number of the parameters are output parameters. I've bound
buffers to the output parameters, but when I read the values, they
contain garbage (uninitialized data, to be precise -- 0xcdcdcdcd).
What kind of tool are you using and how do you execute the above
example concretely ?
I'm using our own ODBC front end library, freshly written from spec.
The same code works like a charm on Oracle to retrieve output
parameters. I could figure out the exact sequence of calls if you
want, there's quite a lot of wrapper code around it but It'd probably
be possible.
Could you send me the Mylog output ?
Yes, it's attached. Please read on for some extra context information. :-)
Anyway, it turns out that I misinterpreted the way PostgreSQL implements
output parameters -- apparently, they are nothing but a convenient way
to make PostgreSQL create a complex return type for a function. In
PL/pgSQL, however, I can't specify the output parameters in the
parameter list, while with the ODBC driver I can.
Please use ODBC's standard syntax to execute functions or procedures.
{[?=]call procedure-name[([?][,[?]]...)]}
For example, please execute {CALL baz(?, ?)} in your case.
regards,
Hiroshi Inoue
Home |
Main Index |
Thread Index