Thread: BUG #2811: Error determining param type in prepared statement of unused variable
BUG #2811: Error determining param type in prepared statement of unused variable
From
"Ross Cohen"
Date:
The following bug has been logged online: Bug reference: 2811 Logged by: Ross Cohen Email address: rcohen@snurgle.org PostgreSQL version: 8.2 Operating system: linux (fedora core 4, released RPMS) Description: Error determining param type in prepared statement of unused variable Details: Got this error: ERROR: could not determine data type of parameter $1 However, $1 is never used in the query so this shouldn't be a problem. The following query demonstrates the problem. PREPARE demo (unknown) AS SELECT 1;
Re: BUG #2811: Error determining param type in prepared statement of unused variable
From
Tom Lane
Date:
"Ross Cohen" <rcohen@snurgle.org> writes: > PREPARE demo (unknown) AS SELECT 1; > ERROR: could not determine data type of parameter $1 This doesn't seem like a bug to me. The parser needs to be able to resolve the types of any unknown parameters, and you've not given it enough information to do that. regards, tom lane
Re: BUG #2811: Error determining param type in prepared statement of unused variable
From
Ross Cohen
Date:
On Wed, Dec 06, 2006 at 05:55:32PM -0500, Tom Lane wrote: > "Ross Cohen" <rcohen@snurgle.org> writes: > > PREPARE demo (unknown) AS SELECT 1; > > ERROR: could not determine data type of parameter $1 > > This doesn't seem like a bug to me. The parser needs to be able to > resolve the types of any unknown parameters, and you've not given it > enough information to do that. It's not a bug, it's a feature request. It doesn't really need to be able to resolve the type because the parameter will never be used. Yes, I'm being lazy, it's possible for me to be more careful about what I pass in. On the other hand, I think others would appreciate the ability to be this lazy, as well. Ross
Re: BUG #2811: Error determining param type in prepared statement of unused variable
From
Tom Lane
Date:
Ross Cohen <rcohen@snurgle.org> writes: > On Wed, Dec 06, 2006 at 05:55:32PM -0500, Tom Lane wrote: >> "Ross Cohen" <rcohen@snurgle.org> writes: >>> PREPARE demo (unknown) AS SELECT 1; >>> ERROR: could not determine data type of parameter $1 >> >> This doesn't seem like a bug to me. The parser needs to be able to >> resolve the types of any unknown parameters, and you've not given it >> enough information to do that. > It's not a bug, it's a feature request. One man's feature is another one's bug ;-). The problem here is that if we don't reject cases where parameters go unresolved, then we will sometimes send back UNKNOWN as the "resolved" parameter type in Describe Statement (the protocol-level message that is), and some client libraries might spit up on that, because they won't know what to do with the corresponding parameter value. I recall a discussion on the jdbc list a few months ago asking whether this would be OK, but they seemed to think it wasn't a good idea. regards, tom lane