Skip to content

Preserve JDBC setter semantics when replaying prepared statement parameters#39161

Open
somiljain2006 wants to merge 2 commits into
apache:masterfrom
somiljain2006:Blob-bug
Open

Preserve JDBC setter semantics when replaying prepared statement parameters#39161
somiljain2006 wants to merge 2 commits into
apache:masterfrom
somiljain2006:Blob-bug

Conversation

@somiljain2006

@somiljain2006 somiljain2006 commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Fixes #37504

Preserve the original JDBC setter semantics during prepared statement replay by tracking the parameter-binding method independently of the logical parameter values. This fixes cases where stream and LOB-based parameters, such as Oracle BLOB values bound via setBlob(InputStream), were previously replayed using setObject(), resulting in driver-specific failures (for example, ORA-17004: invalid column type). Add regression tests covering replay of BLOB, stream, CLOB, typed object, null, and shifted parameter scenarios to ensure the original binding method is preserved during execution.


Before committing this PR, I'm sure that I have checked the following options:

  • My code follows the code of conduct of this project.
  • I have self-reviewed the commit code.
  • I have (or in the comment I request) added corresponding labels for the pull request.
  • I have passed Maven check locally: ./mvnw clean install -B -T1C -Dmaven.javadoc.skip -Dmaven.jacoco.skip -e.
  • I have made corresponding changes to the documentation.
  • I have added corresponding unit tests for my changes.
  • I have updated the Release Notes of the current development version. For more details, see Update Release Note

@somiljain2006

Copy link
Copy Markdown
Contributor Author

@terrymanu Can you review this pr?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Insertion Failure with BLOB Columns

1 participant