Thread: ECPG Preprocessor throws Syntax Error [Devel Repository]
Hi, Yesterday I pull source from PG-Devel repository (Head) and was playing around with ECPG. I got following two issues while parsing my script files through ECPG preprocessor which I think are potential bugs; 1- I get this error message from preprocessor, *ERROR: cursor "m_name_cursor" already defined * Below is the code snippet, error message is thrown on the last line of this snippet; ... ... EXEC SQL DECLARE m_name_cursor CURSOR FOR SELECT name,id FROM m_table3; EXEC SQL OPEN m_name_cursor; EXEC SQL CLOSE m_name_cursor; /* Declaring cursor with the same name */ EXEC SQL DECLARE m_name_cursor CURSOR FOR SELECT name,id FROM m_table4; 2- Preprocessor throws this error; *ERROR: syntax error at or near "-"* Below is the code snippet, the error is thrown on the last line of the snippet; ... ... const char *stmt1 = "SELECT abs(?)"; EXEC SQL PREPARE mystmt1 FROM :stmt1; EXEC SQL EXECUTE mystmt1 INTO :result USING -.55566; Regards, Ahmed
On Thu, Dec 11, 2008 at 10:09:40PM +0500, Ahmed Shinwari wrote: > through ECPG preprocessor which I think are potential bugs; > > 1- I get this error message from preprocessor, > > *ERROR: cursor "m_name_cursor" already defined * > > Below is the code snippet, error message is thrown on the last line of this > snippet; > > EXEC SQL DECLARE m_name_cursor CURSOR FOR SELECT name,id FROM m_table3; > EXEC SQL OPEN m_name_cursor; > EXEC SQL CLOSE m_name_cursor; > > /* Declaring cursor with the same name */ > EXEC SQL DECLARE m_name_cursor CURSOR FOR SELECT name,id FROM m_table4; I might be missing something here, but where do you see the bug? The cursor is indeed already defined. > 2- Preprocessor throws this error; > > *ERROR: syntax error at or near "-"* > ... Fixed in CVS. Thanks for the report. Michael -- Michael Meskes Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org) Michael at BorussiaFan dot De, Meskes at (Debian|Postgresql) dot Org ICQ: 179140304, AIM/Yahoo: michaelmeskes, Jabber: meskes@jabber.org Go VfL Borussia! Go SF 49ers! Use Debian GNU/Linux! Use PostgreSQL!
>I might be missing something here, but where do you see the bug? The cursor is >indeed already defined. What i understand here is,we should be able to DECLARE cursor again with the same name if that is CLOSE already. --- On Fri, 12/12/08, Michael Meskes <meskes@postgresql.org> wrote: From: Michael Meskes <meskes@postgresql.org> Subject: Re: [BUGS] ECPG Preprocessor throws Syntax Error [Devel Repository] To: "Ahmed Shinwari" <ahmed.shibwari@gmail.com> Cc: pgsql-bugs@postgresql.org Date: Friday, December 12, 2008, 4:26 AM On Thu, Dec 11, 2008 at 10:09:40PM +0500, Ahmed Shinwari wrote: > through ECPG preprocessor which I think are potential bugs; > > 1- I get this error message from preprocessor, > > *ERROR: cursor "m_name_cursor" already defined * > > Below is the code snippet, error message is thrown on the last line of this > snippet; > > EXEC SQL DECLARE m_name_cursor CURSOR FOR SELECT name,id FROM m_table3; > EXEC SQL OPEN m_name_cursor; > EXEC SQL CLOSE m_name_cursor; > > /* Declaring cursor with the same name */ > EXEC SQL DECLARE m_name_cursor CURSOR FOR SELECT name,id FROM m_table4; I might be missing something here, but where do you see the bug? The cursor is indeed already defined. > 2- Preprocessor throws this error; > > *ERROR: syntax error at or near "-"* > ... Fixed in CVS. Thanks for the report. Michael -- Michael Meskes Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org) Michael at BorussiaFan dot De, Meskes at (Debian|Postgresql) dot Org ICQ: 179140304, AIM/Yahoo: michaelmeskes, Jabber: meskes@jabber.org Go VfL Borussia! Go SF 49ers! Use Debian GNU/Linux! Use PostgreSQL! -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs
Zahid Khan <khanzahid235@yahoo.com> writes: >> I might be missing something here, but where do you see the bug? The cursor is >> indeed already defined. > What i understand here is,we should be able to DECLARE cursor again > with the same name if that is CLOSE already. No, CLOSE reverses the effect of OPEN, not of DECLARE. regards, tom lane