Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ntuple] Add test for reading an unknown column type #16516

Merged
merged 2 commits into from
Oct 1, 2024

Conversation

silverweed
Copy link
Contributor

@silverweed silverweed commented Sep 24, 2024

This Pull request:

avoids throwing an exception when creating the descriptor for an RNTuple containing an unknown column type. We want to support this case for forward compatibility. Also adds a unit test testing this specific case.
Some dedicated code needs to be added to the internals of RNTuple to support this kind of test case, but it's not exposed to the user.

Remarks

Currently the test just checks that we can read back the descriptor. A future PR will add a "fwd compatibility mode" to the read options that'll allow a user to reconstruct the model skipping over fields containing unknown column types.

Checklist:

  • tested changes locally
  • updated the docs (if necessary)

@silverweed silverweed self-assigned this Sep 24, 2024
@silverweed silverweed force-pushed the ntuple_fwd_unknown_col branch 4 times, most recently from fe595f6 to e7363e4 Compare September 24, 2024 11:46
Copy link

github-actions bot commented Sep 24, 2024

Test Results

    14 files      14 suites   3d 3h 57m 5s ⏱️
 2 699 tests  2 699 ✅ 0 💤 0 ❌
35 532 runs  35 532 ✅ 0 💤 0 ❌

Results for commit 2e465a4.

♻️ This comment has been updated with latest results.

@@ -267,6 +267,10 @@ namespace {
using ROOT::Experimental::EColumnType;
using ROOT::Experimental::Internal::RColumnElementBase;

// testing value for an unknown future column type
inline constexpr EColumnType kTestFutureType =
Copy link
Member

Choose a reason for hiding this comment

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

It is in a public header and thus part of the public interface. If we can not move it to a private header, can we put it into the Internal namespace?

Copy link
Contributor Author

@silverweed silverweed Oct 1, 2024

Choose a reason for hiding this comment

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

This header is not public, it's in the src directory and only included by our cxx files (see comment on top of the file)

@silverweed silverweed merged commit 432c428 into root-project:master Oct 1, 2024
19 checks passed
@silverweed silverweed deleted the ntuple_fwd_unknown_col branch October 1, 2024 11:20
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.

3 participants