Skip to content

Migrate to ColumnVector mergeAndSetValidity API for substring - #15425

Open
rishic3 wants to merge 1 commit into
NVIDIA:mainfrom
rishic3:codex/migrate-merge-validity-column-vector
Open

Migrate to ColumnVector mergeAndSetValidity API for substring#15425
rishic3 wants to merge 1 commit into
NVIDIA:mainfrom
rishic3:codex/migrate-merge-validity-column-vector

Conversation

@rishic3

@rishic3 rishic3 commented Jul 29, 2026

Copy link
Copy Markdown
Collaborator

Contributes to rapidsai/cudf#23249. This depends on propagation of rapidsai/cudf#23030.

Description

This prepares cudf-spark for rapidsai/cudf#23030, which adds the ColumnVector.mergeAndSetValidity API and deprecates the ColumnView API to enforce zero-copy semantics on no-op merges.

substringColumn currently declares its string input as a ColumnView even though every caller supplies a ColumnVector. So this just changes the parameter type to ColumnVector to go through the new API. There is no change in runtime behavior. The existing test_substring and test_substring_column integration tests cover this path.

Checklists

Documentation

  • Updated for new or modified user-facing features or behaviors
  • No user-facing change

Testing

  • Added or modified tests to cover new code paths
  • Covered by existing tests
    (Please provide the names of the existing tests in the PR description.)
  • Not required

Performance

  • Tests ran and results are added in the PR description
  • Issue filed with a link in the PR description
  • Not required

Signed-off-by: Rishi Chandra <rishic@nvidia.com>
@rishic3
rishic3 marked this pull request as ready for review July 31, 2026 20:37
@rishic3

rishic3 commented Jul 31, 2026

Copy link
Copy Markdown
Collaborator Author

build

@greptile-apps

greptile-apps Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

Updates the private GPU substring helper to accept a ColumnVector for its string input, selecting the new cuDF ColumnVector.mergeAndSetValidity API while leaving substring behavior and call structure unchanged.

Confidence Score: 5/5

The PR appears safe to merge with no actionable defects identified.

The changed private parameter matches every existing call site, and the change does not alter the substring inputs, validity-mask construction, result ownership, or resource lifecycle.

Important Files Changed

Filename Overview
sql-plugin/src/main/scala/org/apache/spark/sql/rapids/stringFunctions.scala Narrows the private helper’s string parameter to ColumnVector; all existing callers already supply that type, with no identified behavioral or lifecycle regression.

Reviews (1): Last reviewed commit: "Use ColumnVector mergeAndSetValidity for..." | Re-trigger Greptile

@rishic3
rishic3 requested a review from ttnghia July 31, 2026 22:28

@ttnghia ttnghia left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Approve, but we have to wait for the cudf changes to get in tomorrow before we can build this.

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.

3 participants