New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
isc_dsql_exec_immed2() loses input parameter value with RETURNING clause [CORE3730] #4076
Comments
Commented by: @jasonwharton This is a simple app that will cause the error to manifest. |
Modified by: @jasonwhartonAttachment: ExecuteImmed2_InsertWithReturningClause.zip [ 12085 ] |
Commented by: @jasonwharton I neglected to mention, I have one of the later daily builds of 2.5.2 installed on a 64 bit Win7 machine. |
Commented by: @jasonwharton I would like to BUMP this issue a bit as it is really holding back a lot of customers and creating problems because this is the most efficient way to perform operations my component set needs. I have had others download the sample app and confirm there is indeed a problem in Firebird. |
Modified by: @dyemanovassignee: Dmitry Yemanov [ dimitr ] |
Modified by: @dyemanovComponent: Engine [ 10000 ] |
Modified by: @dyemanovstatus: Open [ 1 ] => In Progress [ 3 ] |
Commented by: @dyemanov It has nothing to do with the RETURNING clause per se, it should affect any statement that has both input and output parameters and being executed via isc_dsql_exec_immed2(). And this bug seems to be pretty old (inherited from InterBase). The embedded server should work correctly, BTW, as the bug resides inside the remote server code. |
Commented by: @jasonwharton Interesting. I have had a history of problems with this API call. Hopefully now with your attention drawn to it you can get things tidied up. I have been waiting a LONG time to be able to rely on this API call. |
Modified by: @dyemanovVersion: 2.5.1 [ 10333 ] Version: 2.1.4 [ 10361 ] Version: 2.5.0 [ 10221 ] Version: 2.0.6 [ 10303 ] Version: 3.0 Initial [ 10301 ] Version: 2.1.3 [ 10302 ] Version: 2.1.2 [ 10270 ] Version: 2.0.5 [ 10222 ] Version: 2.1.1 [ 10223 ] Version: 2.1.0 [ 10041 ] |
Commented by: @dyemanov I have committed a fix into v2.5.2, so please test the next (tomorrow's) snapshot build and report back. Your test case now works without errors, but I'm pretty sure you have other interesting examples to try as well. |
Modified by: @dyemanovstatus: In Progress [ 3 ] => Open [ 1 ] |
Commented by: @jasonwharton Will do! Thank you. |
Commented by: @jasonwharton I tested this and it indeed appears to be resolved. THANK YOU! |
Modified by: @dyemanovstatus: Open [ 1 ] => Resolved [ 5 ] resolution: Fixed [ 1 ] Fix Version: 2.0.7 [ 10390 ] Fix Version: 3.0 Alpha 1 [ 10331 ] Fix Version: 2.1.5 [ 10420 ] Fix Version: 2.5.2 [ 10450 ] |
Modified by: @pcisarstatus: Resolved [ 5 ] => Closed [ 6 ] |
Submitted by: @jasonwharton
Attachments:
ExecuteImmed2_InsertWithReturningClause.zip
A value passed in to insert a record is lost when the RETURNING clause is used via the EXECUTE IMMEDIATE api call isc_dsql_exec_immed2().
Commits: 9c035fe fd4bdc7 04401c2 dc4e08a
The text was updated successfully, but these errors were encountered: