Thread: BUG #1165: ECPG can't parse dynamic SQL with indicator
The following bug has been logged online: Bug reference: 1165 Logged by: ISHIDA Akio Email address: iakio@mono-space.net PostgreSQL version: 7.4 Operating system: Linux miracle 2.4.9-31.22ml Description: ECPG can't parse dynamic SQL with indicator Details: $ cat indtest.pgc int main() { exec sql begin declare section; int i, i_ind; exec sql end declare section; exec sql execute stmt using :i; /* good */ exec sql execute stmt using :i :i_ind; /* error */ } ==== version 7.3.6 ==== $ pgsql736/bin/ecpg --version ecpg (PostgreSQL 7.3.6) 2.10.0 $ pgsql736/bin/ecpg indtest.pgc (No error) ==== version 7.4.2 ==== $ pgsql742/bin/ecpg --version ecpg (PostgreSQL 7.4.2) 3.1.1 $ pgsql742/bin/ecpg indtest.pgc indtest.pgc:7: ERROR: syntax error at or near ":i_ind" This problem was reported in Japanese mailing list. http://ml.postgresql.jp/pipermail/pgsql-jp/2004-June/008332.html It is a patch.(but I'm not good at using bison) --- src/interfaces/ecpg/preproc/preproc.y.org Mon Jun 14 11:24:25 2004 +++ src/interfaces/ecpg/preproc/preproc.y Fri Jun 11 12:54:10 2004 @@ -5304,6 +5304,7 @@ add_variable_to_head(&argsinsert, new_variable($1, ECPGmake_simple_type(ECPGt_const, length), 0), &no_indicator); } } + | civarind { $$ = EMPTY; } ;
On Mon, Jun 14, 2004 at 09:52:20PM -0300, PostgreSQL Bugs List wrote: > It is a patch.(but I'm not good at using bison) > > --- src/interfaces/ecpg/preproc/preproc.y.org Mon Jun 14 11:24:25 2004 > +++ src/interfaces/ecpg/preproc/preproc.y Fri Jun 11 12:54:10 2004 > @@ -5304,6 +5304,7 @@ > add_variable_to_head(&argsinsert, > new_variable($1, ECPGmake_simple_type(ECPGt_const, length), 0), > &no_indicator); > } > } > + | civarind { $$ = EMPTY; } > ; > This patch indeed fixes the problem and it allows indicators and thus NULL values to be entered in every using clause there is. I don't see a problem with this so I just committed the patch to CVS, HEAD and 7.4. Sorry, that it did not make it into 7.4.3. This is my fault as I was too busy to seriously review the patch. Michael -- Michael Meskes Email: Michael at Fam-Meskes dot De ICQ: 179140304, AIM/Yahoo: michaelmeskes, Jabber: meskes@jabber.org Go SF 49ers! Go Rhein Fire! Use Debian GNU/Linux! Use PostgreSQL!