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
execute procedure text blob result read via ResultSet.getString() returns null [JDBC381] #423
Comments
Modified by: @mrotteveel |
Commented by: @mrotteveel This is probably caused by the changes for JDBC350. Could you add a reproduction example (stored procedure + java code), so I can easily track it down and fix it? Note that from a strict interpretation of JDBC, for an executable stored procedures you shouldn't use the ResultSet, but the getters on the CallableStatement instead. For Jaybird 2.2.x this should continue to work as it did in 2.2.5 and earlier, but there is no guarantee that this compatibility will be maintained in future Jaybird releases. |
Commented by: Attila Molnár (e_pluribus_unum) I use CallableStatement.getString(), I reported wrong in the first place. Test DB attached. BasicDataSource ds = new BasicDataSource(); |
Modified by: Attila Molnár (e_pluribus_unum)Attachment: TEST.ZIP [ 12667 ] |
Commented by: @mrotteveel Thanks, I will check and hopefully fix asap (probably this weekend). |
Modified by: @mrotteveelFix Version: Jaybird 2.2.7 [ 10660 ] |
Commented by: @mrotteveel In JDBC350 I created a 'copy' of the result set for use with the getters of the CallableStatement, however creating such a copy will result in cached blobs (where the blob data is already loaded), however in this case the cached data is actually the blob id, and not the blob data. |
Commented by: @mrotteveel Added option to FBCachedFetcher and FBResultSet to retrieve blobs when populated from an existing list of rows. This solves the problem. I am considering releasing 2.2.7 with only this fix as it is a rather annoying breaking bug. I will make a final decision tomorrow (Sunday). |
Modified by: @mrotteveelComponent: JDBC driver [ 10053 ] |
Modified by: @mrotteveelstatus: Resolved [ 5 ] => Closed [ 6 ] |
Commented by: @mrotteveel 2.2.7 has been released (only this fix): https://sourceforge.net/projects/firebird/files/firebird-jca-jdbc-driver/2.2.7-release/ |
Submitted by: Attila Molnár (e_pluribus_unum)
Is related to JDBC350
Attachments:
TEST.ZIP
Hi!
#1 : run non selectable procedure via CallableStatement which returns a text blob
#2 : read result via ResultSet.getString(1) -> empty string returned instead of the expected string
(PS : Jaybird 2.2.5 works fine)
Thank You!
Commits: bf90fad 6fb7a50 FirebirdSQL/fbt-repository@f0e543a FirebirdSQL/fbt-repository@96196bc
The text was updated successfully, but these errors were encountered: