Prepared statement enhancements#199
Merged
staticlibs merged 1 commit intoduckdb:mainfrom Apr 22, 2025
Merged
Conversation
This change implements a number of setter methods on `PreparedStatement` that were previously throwing `SQLFeatureNotSupportedException`. `set*Stream` group of methods is implemented only for compatibility with existing tools, no actual streaming is used on DB level - full input is read to string/bytes before passing it to DB. `execute`/`executeUpdate` methods for generated keys are implemented only for cases when generated keys are not requested. `setTime/Date/Timestamp` methods with `Calendar` (time zone) support are implemented fully following the same approach used before in duckdb#166. Also the logic for `setTime` method without `Calendar` is fixed to correctly NOT use default JVM time zone. Testing: new tests added to cover implemented methods; timestamp tests are moved to separate file and time zone-specific tests are added. Fixes: duckdb#195
65f88f3 to
db28019
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This change implements a number of setter methods on
PreparedStatementthat were previously throwingSQLFeatureNotSupportedException.set*Streamgroup of methods is implemented only for compatibility with existing tools, no actual streaming is used on DB level - full input is read to string/bytes before passing it to DB.execute/executeUpdatemethods for generated keys are implemented only for cases when generated keys are not requested.setTime/Date/Timestampmethods withCalendar(time zone) support are implemented fully following the same approach used before in #166. Also the logic forsetTimemethod withoutCalendaris fixed to correctly NOT use default JVM time zone.Testing: new tests added to cover implemented methods; timestamp tests are moved to separate file and time zone-specific tests are added.
Fixes: #195