Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

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

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group