Sidebar

"A result set was generated for update" error when starting QIE

0 votes
946 views
asked May 18, 2022 by jon-t-7005 (7,990 points)
In the logs, I'm seeing "A result set was generated for update" errors, and QIE will not start.  What's causing this?

1 Answer

0 votes

The solution is to turn off 'No Count' in the MS SQL server properties:

  1. Go into the SQL Server management console
  2. Right-click on the server and select “properties”.
  3. Select “Connections”
  4. Under “Default Connection Options”, turn off “No count”.

 

Note: We are evaluating a fix for this issue to avoid the above steps

answered May 18, 2022 by jon-t-7005 (7,990 points)
commented Aug 12, 2022 by rich-c-2789 (17,430 points)
edited Aug 22, 2022 by rich-c-2789
QIE expects the default for the "no count" connection setting in the instance properties.  The default is off or unchecked.  When possible host the QIE database on a Microsoft SQL instance where this is off.

If that is not possible then add this VM option:

-Dhibernate.session_factory.statement_inspector=com.qvera.qie.persistence.SQLServerCountSafeStatementInspector

This will cause QIE to pass SET NOCOUNT OFF with each query to the QIE database.

NOTE: There is one known exception where this currently does not work.  Trying to execute a stored procedure where there is a need to consume the return value.  Example:  
  
    {:returnValue = CALL myStoredProcedure(:id)}    

In this case the stored procedure does not use SET NOCOUNT ON at the top of the procedure.  But is set via the instance.  So the count is not returned.  

Check the custom code in your channels to make this exception is not used before trying this.

This will be available in .51
...