Skip to content

Antalya 26.6: Support Nullable(Tuple) for Arrow, ArrowStream, ORC, legacy Parquet formats - #2176

Open
zvonand wants to merge 4 commits into
antalya-26.6from
feature/antalya-26.6/pr-1802-1
Open

Antalya 26.6: Support Nullable(Tuple) for Arrow, ArrowStream, ORC, legacy Parquet formats#2176
zvonand wants to merge 4 commits into
antalya-26.6from
feature/antalya-26.6/pr-1802-1

Conversation

@zvonand

@zvonand zvonand commented Aug 6, 2026

Copy link
Copy Markdown
Member

Changelog category (leave one):

  • Improvement

Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):

Support Nullable(Tuple) for Arrow, ArrowStream, ORC, legacy Parquet formats (ClickHouse#101272 by @nihalzp) (#1802 by @zvonand).

CI/CD Options

Exclude tests:

  • Fast test
  • Integration Tests
  • Stateless tests
  • Stateful tests
  • Performance tests
  • All with ASAN
  • All with TSAN
  • All with MSAN
  • All with UBSAN
  • All with Coverage
  • All with Aarch64
  • All Regression
  • Disable CI Cache

Regression jobs to run:

  • Fast suites (mostly <1h)
  • Aggregate Functions (2h)
  • Alter (1.5h)
  • Benchmark (30m)
  • ClickHouse Keeper (1h)
  • Iceberg (2h)
  • LDAP (1h)
  • Parquet (1.5h)
  • RBAC (1.5h)
  • SSL Server (1h)
  • S3 (2h)
  • S3 Export (2h)
  • Swarms (30m)
  • Tiered Storage (2h)

Cherry-picked from #1802.

zvonand added 2 commits August 6, 2026 12:56
…next commit)

---
Original cherry-pick message follows:

Merge pull request #1802 from Altinity/feature/antalya-26.3/ClickHouse-ClickHouse-pr-101272

Antalya 26.3: Support Nullable(Tuple) for Arrow, ArrowStream, ORC, legacy Parquet formats
# Conflicts:
#	src/Processors/Formats/Impl/ArrowColumnToCHColumn.cpp
#	src/Processors/Formats/Impl/CHColumnToArrowColumn.cpp
#	src/Processors/Formats/Impl/MsgPackRowInputFormat.cpp
#	tests/queries/0_stateless/04064_tuple_inside_nullable_arrow_orc_roundtrip.reference
#	tests/queries/0_stateless/04064_tuple_inside_nullable_arrow_orc_roundtrip.sql
#	tests/queries/0_stateless/04065_tuple_inside_nullable_parquet_roundtrip.reference
#	tests/queries/0_stateless/04065_tuple_inside_nullable_parquet_roundtrip.sql
All conflicted hunks resolved in favour of antalya-26.6 ("ours"): the
source PR's changes are already present on the base branch in an evolved
form (upstream ClickHouse#101272 plus its 26.6 follow-ups), so no source-PR line is
lost:

* ArrowColumnToCHColumn.cpp: `unwrapNullableTuple` list/Nested handling and
  the null-value zeroing in `readColumnWithNumericData` are already on
  antalya-26.6; kept the base branch's extra last-offset validation and the
  `schema_inference_allow_nullable_tuple_type`-gated STRUCT condition
  (backport of ClickHouse#109185), which supersedes the PR's unconditional removal of
  the STRUCT check.
* CHColumnToArrowColumn.cpp: struct-level null handling already exists on
  antalya-26.6 via `nullBytemapToArrowBitmap` + `arrow::StructArray::Make`
  (the builder-based Append/AppendNull shape from the PR no longer applies).
* MsgPackRowInputFormat.cpp: identical Nullable(Tuple) unwrapping already on
  antalya-26.6, only placed after the tuple size check.
* 04064/04065 tests: base-branch versions already cover the PR's cases;
  04065 was adapted on antalya-26.6 to the V3-reader-only world where
  `input_format_parquet_use_native_reader_v3` no longer exists.

Also dropped the cherry-pick's misplaced copy of the "zero out values at
null positions" block: git applied it to `readColumnWithDurationData`,
a function the source PR does not touch, while the PR's actual target
(`readColumnWithNumericData`) already carries it on antalya-26.6.
@zvonand zvonand added releasy Created/managed by RelEasy antalya-26.6 forwardport This is a frontport of code that existed in previous Antalya versions ai-resolved Port conflict auto-resolved by Claude labels Aug 6, 2026
@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown

Workflow [PR], commit [2e61b6e]

@zvonand zvonand mentioned this pull request Aug 7, 2026
60 tasks
@mkmkme

mkmkme commented Aug 8, 2026

Copy link
Copy Markdown
Collaborator

I'm not sure what happened here. Either the script bugged or everything is just plain here.

For a second I thought my github webui got broken, but the cli also shows this PR to be completely empty:

❯ git diff origin/feature/antalya-26.6/pr-1802-1
❯

@mkmkme

mkmkme commented Aug 8, 2026

Copy link
Copy Markdown
Collaborator

ClickHouse#101272 is understandable to be noop, it's been merged in 26.4.1.

#1802 is also just a backport of the first one. So I think this PR is useless and can be dropped. IIUC the script picked this one up because it contained port-antalya and it should've been antalya-obsolete

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

Labels

ai-resolved Port conflict auto-resolved by Claude antalya-26.6 forwardport This is a frontport of code that existed in previous Antalya versions releasy Created/managed by RelEasy

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants