Skip to content

Prepared request gets stuck in error state #1712

@chdh

Description

@chdh

When an SQL error occurs after calling connection.execute() with a prepared request, the error state remains active and connection.unprepare() or further connection.execute() calls result in the previous error.

Test case: testPrepare.zip

Workaround: Reset the error state explicitly by executing request.error = undefined.
This is done when the doResetError flag is set in the test case.

Console output of the test case with doResetError = false:

openConnection()
prepareRequest()
Request prepared.
executeNextRequest() 1
Request 1 completed.
executeNextRequest() 2
Request 2 failed: Error: Divide by zero error encountered.
executeNextRequest() 3
Request 3 failed: Error: Divide by zero error encountered.
unprepareRequest()
unprepare failed: Error: Divide by zero error encountered.
closeConnection()
Connection ended.

Console output of the test case with doResetError = true:
(This is the expected behavior)

openConnection()
prepareRequest()
Request prepared.
executeNextRequest() 1
Request 1 completed.
executeNextRequest() 2
Request 2 failed: Error: Divide by zero error encountered.
executeNextRequest() 3
Request 3 completed.
unprepareRequest()
unprepare completed.
closeConnection()
Connection ended.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions