When testing out Dimtry's recent fix for scrollable cursors (adding
support for the remote protocol), I ran the full IBX test suite on the
current "master" branch. This flagged up a backwards compatibility issue
with "Update...Returning".
When the statement:
'Update Employee Set Hire_Date = ? Where EMP_NO = ? Returning LAST_NAME'
was prepared, the SQL type was returned as isc_info_sql_stmt_select. The
previous behaviour was to return isc_info_sql_stmt_exec_procedure. This
caused an error message to be generated because only a singleton row was
expected and not a cursor.
The file doc/sql.extensions/README.returning has been updated and a
quick diff with 4.0.0 returned, amongst other changes:
45,46c45,47
< isc_info_sql_stmt_exec_procedure by the API (instead of
isc_info_sql_stmt_insert),
< so the existing connectivity drivers should support this
feature automagically.
---
> isc_info_sql_stmt_exec_procedure by the API (for INSERT INTO
... VALUES and statements
> with WHERE CURRENT OF) and isc_info_sql_stmt_select for the
others statements, so the
> existing connectivity drivers should support this feature
automagically.
Well, all I can say is that "existing connectivity drivers do not
support this feature automagically". Is it really then intended
behaviour for Update...Returning to now return an SQL Type of
isc_info_sql_stmt_select?
Tony Whyman
MWA
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel