Survey: Do you use positioned updates from DBI ?

From: Dean Arnold (darnold_at_presicient.com)
Date: 01/17/05


Date: Sun, 16 Jan 2005 16:18:26 -0800
To: DBI-users <dbi-users@perl.org>

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.