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

Reply via email to