From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Neil Conway <nconway(at)klamath(dot)dyndns(dot)org> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: the parsing of parameters |
Date: | 2002-05-01 18:32:59 |
Message-ID: | 10728.1020277979@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Neil Conway <nconway(at)klamath(dot)dyndns(dot)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.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Arthur@LinkLine.com | 2002-05-01 18:37:26 | mV database tools |
Previous Message | mlw | 2002-05-01 18:24:30 | PostgreSQL mission statement? |