Thread: BUG #1469: ECPG : Can't delete an item pointed by a cursor
The following bug has been logged online: Bug reference: 1469 Logged by: Anthony COMMUNIER Email address: anthony.communier@capgemini.fr PostgreSQL version: 8.0.1 Operating system: Aix 5.2,UnixWare 7.1.3,Win32 Description: ECPG : Can't delete an item pointed by a cursor Details: The statement : EXEC SQL DELETE FROM <table> WHERE CURRENT OF <cursor name> (describe in SQL 99) isn't recognize by ecpg Ecpg returns ERROR: syntax error at or near "CURRENT" for the following program : EXEC SQL DECLARE C3_NTF CURSOR FOR SELECT NUM_NOTIF, TYPE_NOTIF, NOTIFIE, ACTION, NB_NVX_MSG FROM DISPNTEL FOR UPDATE; EXEC OPEN C3_NTF; ... for(;;) { ... EXEC SQL FETCH C3_NTF INTO :SAPnum_notif, :SAPtype_notif, :SAPnotifie:INDnotifie, :SAPaction:INDaction, :SAPnb_nvx_msg:INDnb_nvx_msg; ... EXEC SQL DELETE FROM DISPNTEL WHERE CURRENT OF C3_NTF; ... } The yacc grammar do not authorize the keywords CURRENT OF
Anthony COMMUNIER wrote: > The statement : EXEC SQL DELETE FROM <table> WHERE CURRENT OF > <cursor name> (describe in SQL 99) isn't recognize by ecpg PostgreSQL does not implement the entire SQL standard by any means. Please refer to the documentation about what you can expect to work and how.
On Mon, Feb 07, 2005 at 11:48:48PM +0000, Anthony COMMUNIER wrote: > The statement : EXEC SQL DELETE FROM <table> WHERE CURRENT OF <cursor name> > (describe in SQL 99) isn't recognize by ecpg This holds for the backend as well, doesn't it? The feature is not implemented and thus it makes no sense to allow it in ecpg. But there are some patches that implement the feature on gborg afaik. 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!