Skip to content

[2/7] Add native batching configuration and parameter model - #1621

Open
sreekanth-db wants to merge 2 commits into
mainfrom
sreekanth-db/stack/native-batch-foundation
Open

[2/7] Add native batching configuration and parameter model#1621
sreekanth-db wants to merge 2 commits into
mainfrom
sreekanth-db/stack/native-batch-foundation

Conversation

@sreekanth-db

@sreekanth-db sreekanth-db commented Aug 10, 2026

Copy link
Copy Markdown
Collaborator

🥞 Stacked PR

Use this link to review incremental changes.


Description

Add the dormant foundation for native parameter batching.

  • Introduce EnableNativeBatching, disabled by default.
  • Add an immutable, ordered parameter-set model with zero-based wire ordinals.
  • Snapshot mutable parameter values when creating a parameter set.
  • Preserve empty, sparse, and incomplete sets for backend validation.

This PR does not change batch execution or send native requests.

Testing

  • Added tests for connection-property behavior.
  • Added tests for ordering, ordinals, sparse/empty sets, nulls, and mutable-value snapshots.
  • PreparedStatement batch regression suites passed.
  • Full jdbc-core suite: 3,611 passed, 88 skipped.

Additional Notes to the Reviewer

No telemetry field is included because that requires the corresponding backend telemetry proto change.

NO_CHANGELOG=true

Keep existing batching behavior behind a dedicated executor so native routing can be added without changing the compatibility fallback.

Signed-off-by: Sreekanth Vadigi <sreekanth.vadigi@databricks.com>
Introduce a dormant opt-in and deterministic parameter snapshots so both native transports can share the same ordered payload without changing execution behavior.

Signed-off-by: Sreekanth Vadigi <sreekanth.vadigi@databricks.com>

@peco-review-bot peco-review-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verdict: 1 Low

Looks good — clean, well-tested dormant foundation (config flag + immutable ordered parameter-set model with defensive value snapshotting). One low-severity note: the model uses zero-based wire ordinals while the current SEA path is one-based, worth verifying before the execution path is wired up.

Scope: reviewed as a stacked increment (520eb7f..head); the parent's changes are reviewed on the parent PR.

Comment thread src/main/java/com/databricks/jdbc/api/impl/BatchParameterSet.java
@github-actions

Copy link
Copy Markdown

JDBC integration tests triggered (replay, thrift + sea). View workflow runs.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant