Skip to content

Reuse the common native scan builder for ordinary columns in the Delta deletion-vector path #5945

Description

@dwsmith1983

What is the problem the feature request solves?

The deletion-vector shape in CometDeltaNativeScan.scala builds ordinary columns with its own implementation of filter binding, output types, schemas and projection assembly, while CometNativeScan.buildNativeScanCommon does the same for the plain shape. Configuration flags and collision-free metadata-name allocation are already shared; the serialization rules are not, so a later serializer fix reaches only one path.

Describe the potential solution

Build a view without the generated columns, reuse the common builder, then append the generated slots and restore output order by attribute identity. Keep the suffix requirement, defaults fallback and DML and liveness checks. Tests compare ordinary-column construction across both paths and keep the predicate-presence, projection-order and synthetic-name collision coverage.

Additional context

Raised in the #5365 review (item 3); filed as a follow-up.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions