I'm hoping to get some feedback on how often updatable cursors are being used in DBI apps ?
FYI: I'm nearing completion of the first release of SQL::Preproc, but having problems determining how (or if) to handle positioned updates. A quick scan of DBDs indicates many (most?) don't really support them, and the whole area of named cursors seems to have a wide range of DBD implementations (where supported).
My understanding is that "standard" embedded SQL uses a syntax like
DECLARE CURSOR cursor-name AS select-stmt FOR UPDATE;
OPEN cursor-name;
FETCH cursor_name INTO ...;
UPDATE table SET ... WHERE CURRENT OF cursor-name; (or DELETE FROM table WHERE CURRENT OF cursor-name)
Readonly cursors using this syntax are easily processed by SQL::Preproc, but updatables are proving a challenge due to inconsistent DBD implementations. So I may punt on updatables, and rely on driver-specific syntax modules to hook into the parsing process to generate their own code (SQL::Preproc already supports driver-specific syntax extension modules).
Any feedback much appreciated, Dean Arnold Presicient Corp.
