Skip to content

tp: introduce TreeColumns and refactor TreeTransformer to use it#5262

Merged
LalitMaganti merged 28 commits intomainfrom
dev/lalitm/tree-columns-refactor
Mar 30, 2026
Merged

tp: introduce TreeColumns and refactor TreeTransformer to use it#5262
LalitMaganti merged 28 commits intomainfrom
dev/lalitm/tree-columns-refactor

Conversation

@LalitMaganti
Copy link
Copy Markdown
Member

@LalitMaganti LalitMaganti commented Mar 24, 2026

Summary

  • Add TreeColumns, a simple columnar storage type for tree data with normalized parent array and dense null bitvectors
  • Add TreeColumnsBuilder which wraps RuntimeDataframeBuilder for type inference/null tracking, then converts via a new BuildRaw() short-circuit that skips sort analysis, type downcasting, and Dataframe creation
  • TreeTransformer now takes TreeColumns instead of Dataframe

Stack

Test plan

  • Existing tree filter diff tests pass (10 tests)

Add TreeColumns, a simple columnar storage type for tree data with
a normalized parent array and dense null bitvectors. Add
TreeColumnsBuilder which wraps RuntimeDataframeBuilder for type
inference and null tracking, then converts the result to TreeColumns
via a new BuildRaw() short-circuit on AdhocDataframeBuilder that
returns raw FlexVectors + BitVectors without sort analysis, type
downcasting, or Dataframe creation.

TreeTransformer now takes TreeColumns instead of Dataframe, and
TreeFromTable builds TreeColumns directly. This eliminates the need
to destructure a Dataframe in the TreeTransformer constructor and
provides a cleaner, tree-specific data representation.
@LalitMaganti LalitMaganti force-pushed the dev/lalitm/tree-columns-refactor branch from 9dd318b to 1566928 Compare March 24, 2026 21:56
@LalitMaganti
Copy link
Copy Markdown
Member Author

Done PTAL.

@LalitMaganti LalitMaganti merged commit e13af7d into main Mar 30, 2026
23 checks passed
@LalitMaganti LalitMaganti deleted the dev/lalitm/tree-columns-refactor branch March 30, 2026 22:12
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.

2 participants