Re: Prepared statements and unknown types - Mailing list pgsql-general

From Tom Lane
Subject Re: Prepared statements and unknown types
Date
Msg-id 19247.1285786958@sss.pgh.pa.us
Whole thread Raw
In response to Re: Prepared statements and unknown types  (Peter Bex <Peter.Bex@xs4all.nl>)
Responses Re: Prepared statements and unknown types  (Thom Brown <thom@linux.com>)
List pgsql-general
Peter Bex <Peter.Bex@xs4all.nl> writes:
> On Wed, Sep 29, 2010 at 07:33:53PM +0100, Thom Brown wrote:
>> Okay, I understand what's happening.  But does the planner need to
>> understand the type of literals in the select list if it's not used
>> anywhere else?

> Fields sent back to the client also carry their type with them.
> There's no "unknown" type (and it wouldn't be very useful in any
> case, because how would you go about displaying an unknown type?)

Well, actually there *is* an "unknown" type (OID 705), which is what
will be reported if there's a literal of unresolved type in the SELECT
list.  That's how come you can do

regression=# select 'foo' as meow;
 meow
------
 foo
(1 row)

However, the issue here is not the output but the input: PREPARE is
complaining that the *input* parameter $1 has no determinate type.
If PREPARE doesn't know it, then the client isn't going to know it
either, and so it would be hard for the client to know what to send
to execute the statement.

            regards, tom lane

pgsql-general by date:

Previous
From: sunpeng
Date:
Subject: Are there any commands to see the created index info?
Next
From: Thom Brown
Date:
Subject: Re: Prepared statements and unknown types