Re: [HACKERS] Fwd: Weird issues when reading UDT from stored function
От
Robert Haas
Тема
Re: [HACKERS] Fwd: Weird issues when reading UDT from stored function
Дата
Msg-id
AANLkTimg0nEjma8MgFT-ZPrcQ7EHGZ4m2FZBhF5e+Hdt@mail.gmail.com
Ответ на
Список
Дерево обсуждения
Weird issues when reading UDT from stored function Lukas Eder <lukas.eder@gmail.com>
Re: Weird issues when reading UDT from stored function Oliver Jowett <oliver@opencloud.com>
Re: Weird issues when reading UDT from stored function Oliver Jowett <oliver@opencloud.com>
On Wed, Feb 16, 2011 at 7:03 AM, Oliver Jowett wrote: > On 17/02/11 00:58, Robert Haas wrote: >> On Wed, Feb 16, 2011 at 3:30 AM, Lukas Eder wrote: >>> I'm not trying to fix the signature. I want exactly that signature. I want >>> to return 1 UDT as an OUT parameter from a function. >>> >>> Somewhere between JDBC and the database, this signature is lost, and JDBC's >>> internal code tells me that I have to bind 6 OUT parameters, instead of 1. >>> It happens to be so, because the UDT contains 6 attributes, so somehow the >>> JDBC/database protocol flattens the UDT, and I think that's a bug, either in >>> JDBC or in the protocol or in the database. My findings were that I can >>> correctly read the UDT OUT parameter using the pgAdmin III tool, so I >>> excluded the database as a bug holder candidate. >> >> Oh, OK. Sorry, I can't help you any with the JDBC side... > > Well, the underlying problem is that "SELECT * from > function_with_one_out_parameter()" is returning *6* columns, not 1 > column. I don't know if that's expected or not on the plpgsql side, but > the JDBC driver has no way of distinguishing that sort of result from a > function that has 6 OUT parameters. If you do SELECT function_with_one_out_parameter() rather than SELECT * FROM function_with_one_out_parameter(), you'll get just one argument. Does that help at all? -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
В списке pgsql-jdbc по дате отправления
От: Robert Haas
Дата:
От: rsmogura
Дата: