Re: the parsing of parameters - Mailing list pgsql-hackers

From Jan Wieck
Subject Re: the parsing of parameters
Date
Msg-id 200205092049.g49KnBl02557@saturn.janwieck.net
Whole thread Raw
In response to Re: the parsing of parameters  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: the parsing of parameters  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Tom Lane wrote:
> Neil Conway <nconway@klamath.dyndns.org> 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.                                  #
#================================================== JanWieck@Yahoo.com #




pgsql-hackers by date:

Previous
From: Joe Conway
Date:
Subject: Re: troubleshooting pointers
Next
From: Hannu Krosing
Date:
Subject: Re: Issues tangential to win32 support