On 26/11/2021 14:16, Dimitry Sibiryakov wrote:
Tony Whyman wrote 26.11.2021 15:10:
This caused an error message to be generated because only a singleton row was expected and not a cursor.

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?

  Yes. What exactly call produces the error message and what exactly is the error?

1. IAttachment.prepare is used to parse 'Update Employee Set Hire_Date = ? Where EMP_NO = ? Returning LAST_NAME'

2. IStatement.getType is then used to determine the statement type.

3. Prior to calling IStatement.Execute, the statement type is checked. The current (IBX) code raises an exception if the sql statement type is  isc_info_sql_stmt_select in order to stop the wrong IStatement method being called.

Note that the exception is called by IBX and not Firebird. However, the exception is consequential on Firebird returning the statement type isc_info_sql_stmt_select when all previous versions of Firebird had returned isc_info_sql_stmt_exec_procedure for an Update...Returning statement.



Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to