Tom Lane wrote:
> Neil Conway <[EMAIL PROTECTED]> writes:
> > nconway=> prepare q2 as select $1;
> > ERROR:  Parameter '$1' is out of range
>
> > (You'll see the same parse error with simply "select $1;")
>
> You need to tell the parser the number of parameters to expect and their
> datatypes.  This is what the last two arguments to parser() are all
> about.  Look at _SPI_prepare for an example (I think plpgsql uses that).
> Also, the plpgsql code for parameterized cursors might be a helpful
> reference.
>
> The actual syntax of PREPARE probably has to be something like
>
>    PREPARE queryname(parameter type list) FROM query
>
> else you'll not have any way to get the type info.
>
> > BTW, is this a legacy from postquel? (from include/nodes/primnodes.h)
>
> I don't believe anything is using named parameters presently.  PARAM_NEW
> and PARAM_OLD also seem to be leftovers from an old implementation of
> rules.

    I  have  a little patch that actually allows SPI_prepare() to
    use UNKNOWN_OID in the passed in  parameter  type  array  and
    put's the choosen datatypes Oid back into there.

    The   parser  treats  those  parameters  like  single  quoted
    literals of unknown type and chooses what would be  the  most
    useful datatype here.

    Any objections?


Jan

--

#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== [EMAIL PROTECTED] #



---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly

Reply via email to