Skip to content

[3/7] Add native batch capture and routing boundary - #1623

Open
sreekanth-db wants to merge 4 commits into
mainfrom
sreekanth-db/stack/native-batch-routing
Open

[3/7] Add native batch capture and routing boundary#1623
sreekanth-db wants to merge 4 commits into
mainfrom
sreekanth-db/stack/native-batch-routing

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 left-side capture and routing boundary for native prepared-statement batching.

  • Snapshot ordered parameter sets when addBatch() is called.
  • Preserve one-based JDBC indexes in the shared model; transport adapters will convert wire ordinals.
  • Use the same parameter-set model for existing legacy execution.
  • Add an injectable NativeBatchExecutor capability boundary.
  • Route native-enabled parameterized INSERTs to that boundary when supported.

Production still supplies an unsupported native executor, so customer execution remains on the existing legacy path.

Testing

  • Focused batch capture, routing, and PreparedStatement tests: 69 passed.
  • Live serverless warehouse validation passed for individual, parameterized rewrite, and interpolated rewrite flows.
  • Isaac review completed with zero final findings.

Additional Notes to the Reviewer

This PR does not add a Thrift/SEA native transport implementation, result extraction, fallback, telemetry, or customer-visible behavior changes.

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>
Snapshot prepared parameter sets at addBatch time and route eligible batches through an injectable native executor while preserving the legacy production path.

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.

✅ No issues identified by the review bot.

@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.

✅ No issues identified by the review bot.

@github-actions

Copy link
Copy Markdown

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

Accept the immutable parameter map produced by the shared batch model instead of requiring a concrete HashMap.

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

Copy link
Copy Markdown

Integration test approval reset.

New commits were pushed to this PR. Label(s) integration-test were removed for security.

A maintainer must re-review and re-add a label to preview tests again. (The real gate runs in the merge queue.)

Latest commit: 7d19fed

@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.

✅ No issues identified by the review bot.

@sreekanth-db sreekanth-db changed the title Add native batch capture and routing boundary [3/7] Add native batch capture and routing boundary Aug 11, 2026
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.

1 participant