Skip to content

[ntuple] add support for automatic schema evolution of SoA fields - #23064

Open
jblomer wants to merge 5 commits into
root-project:masterfrom
jblomer:ntuple-soa-evolution
Open

[ntuple] add support for automatic schema evolution of SoA fields#23064
jblomer wants to merge 5 commits into
root-project:masterfrom
jblomer:ntuple-soa-evolution

Conversation

@jblomer

@jblomer jblomer commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Part of #19230

@jblomer
jblomer requested review from enirolf, hahnjo and pcanal August 11, 2026 16:45
@jblomer jblomer self-assigned this Aug 11, 2026
Comment on lines +987 to +992
// Other artificial fields simply don't read at all. This does not work here because then
// the vector elements of trivial types would be left uninitialized (complex types explicitly call
// the constructor on vector resize). Thus we explicitly default-initialize trivial types.
// Note that this causes a subtle difference in behavior: if the added member is default-initialized to
// a non-zero value, this will be forgotten in the SoA layout.
if (memberField->GetTraits() & kTraitTriviallyConstructible) {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Does this need to be part of some user level documentation?

int fInt1;
int fInt2;
int fInt3;
ClassDefNV(RemovedMemberRecord, 2)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Maybe

Suggested change
ClassDefNV(RemovedMemberRecord, 2)
ClassDefInlineNV(RemovedMemberRecord, 2)

@github-actions

Copy link
Copy Markdown

Test Results

    23 files      23 suites   5d 1h 54m 4s ⏱️
 3 858 tests  3 851 ✅ 0 💤  7 ❌
78 581 runs  78 484 ✅ 0 💤 97 ❌

For more details on these failures, see this check.

Results for commit 6e665d8.

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.

2 participants