Merge v1.4-andium into v1.5-variegata by carlopi · Pull Request #23171 · duckdb/duckdb · GitHub
Skip to content

Merge v1.4-andium into v1.5-variegata - #23171

Merged
Mytherin merged 18 commits into
duckdb:v1.5-variegatafrom
carlopi:andium
Jun 10, 2026
Merged

Mytherin merged 18 commits into
duckdb:v1.5-variegatafrom
carlopi:andium

Conversation

@carlopi

@carlopi carlopi commented Jun 9, 2026

Copy link
Copy Markdown
Member

No description provided.

carlopi and others added 17 commits June 5, 2026 09:34
The previous range-based for loop called connections.erase(it.first) on
the current element and then continued iterating - undefined behavior,
because erase invalidates the iterator the range-based for is holding.
Switch to a manual iterator loop that uses erase's return value to
advance past the removed element. Update connection_count once at the
end instead of on every erase.
The INT64 case in ColumnArrowToDuckDBRunEndEncoded incorrectly
dispatched to FlattenRunEndsSwitch<int32_t> instead of
FlattenRunEndsSwitch<int64_t>, a copy-paste error from the INT32 case.
This caused corrupted data when scanning Arrow REE columns with int64
run_ends, as the int64 buffer was reinterpreted with int32 stride.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…orruption

Apply GetEffectiveOffset() to the union type_ids buffer read, matching
the pattern used by every other Arrow type in ColumnArrowToDuckDB.

Without this fix, when scanning Arrow chunks larger than
STANDARD_VECTOR_SIZE (2048 rows), subsequent scan passes re-read
type_ids from offset 0 instead of advancing by chunk_offset, pairing
wrong type tags with correct child data — silent data corruption.

Also fixes Arrow union appender OOB write when `from > 0` and adds
comprehensive UNION type roundtrip tests to arrow_roundtrip.cpp.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
See duckdb#21983 for original PR. This
also required to backport duckdb#20333
first.
@carlopi
carlopi marked this pull request as draft June 9, 2026 14:56
@carlopi
carlopi marked this pull request as ready for review June 9, 2026 15:00
@carlopi
carlopi marked this pull request as draft June 9, 2026 15:09
@carlopi
carlopi marked this pull request as ready for review June 9, 2026 15:14
@carlopi
carlopi marked this pull request as draft June 10, 2026 06:59
@carlopi
carlopi marked this pull request as ready for review June 10, 2026 06:59
@carlopi
carlopi marked this pull request as draft June 10, 2026 07:36
@carlopi
carlopi marked this pull request as ready for review June 10, 2026 07:37
@Mytherin
Mytherin merged commit 877f9a0 into duckdb:v1.5-variegata Jun 10, 2026
108 checks passed
@Mytherin

Copy link
Copy Markdown
Member

@carlopi
carlopi deleted the andium branch June 10, 2026 13:18
krlmlr pushed a commit to krlmlr/duckdb that referenced this pull request Jun 21, 2026
Conflict-free merge of the clean commits between resolutions:
  - Merge v1.4-andium into v1.5-variegata (duckdb#23171)
krlmlr pushed a commit to krlmlr/duckdb that referenced this pull request Jun 21, 2026
krlmlr pushed a commit to krlmlr/duckdb that referenced this pull request Jun 21, 2026
Conflict-free merge of the clean commits between resolutions:
  - Merge v1.4-andium into v1.5-variegata (duckdb#23171)
krlmlr pushed a commit to krlmlr/duckdb that referenced this pull request Jun 21, 2026
Brings these v1.5-variegata commits; they do not overlap with the main/v2.0
line, so they merge with no conflicts:

- Merge v1.4-andium into v1.5-variegata (duckdb#23171)
krlmlr pushed a commit to krlmlr/duckdb that referenced this pull request Jun 21, 2026
Brings these v1.5-variegata commits; they do not overlap with the main/v2.0
line, so they merge with no conflicts:

- Merge v1.4-andium into v1.5-variegata (duckdb#23171)
kaka11chen pushed a commit to kaka11chen/astrovela_vane that referenced this pull request Aug 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants