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.



Reply via email to