executing prepared select, missing RowDescription info

Lists: pgsql-hackers
From: Kris Jurka <books(at)ejurka(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: executing prepared select, missing RowDescription info
Date: 2004-04-18 10:09:47
Message-ID: Pine.BSO.4.56.0404180503090.31686@leary.csoft.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers


When executing a prepared select statement, the returned RowDescription
protocol message does not have any information for the table oid or column
position. Running the equivalent select without prepare provides this
information, so I don't see why the act of preparing and executing the
statement removes this valuable data. Any insight on why it isn't there
or how to fix it?

Kris Jurka


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Kris Jurka <books(at)ejurka(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: executing prepared select, missing RowDescription info
Date: 2004-04-18 16:49:31
Message-ID: 20332.1082306971@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Kris Jurka <books(at)ejurka(dot)com> writes:
> When executing a prepared select statement, the returned RowDescription
> protocol message does not have any information for the table oid or column
> position. Running the equivalent select without prepare provides this
> information, so I don't see why the act of preparing and executing the
> statement removes this valuable data. Any insight on why it isn't there
> or how to fix it?

Fixing this would be a tad messy, because the information is not
propagated up through a utility-statement Portal. I guess I would ask
why you're using EXECUTE at all; it's considerably less efficient than
invoking the prepared statement via the protocol-level operation for
doing so (Bind, then Execute).

regards, tom lane