-
Notifications
You must be signed in to change notification settings - Fork 1.4k
[do not merge] RFile Prototype #19151
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
base: master
Are you sure you want to change the base?
Conversation
Test Results 20 files 20 suites 3d 14h 11m 41s ⏱️ For more details on these failures, see this check. Results for commit d48773a. ♻️ This comment has been updated with latest results. |
Just to put this on the table https://its.cern.ch/jira/browse/ROOT-7400 |
|
||
TEST(RFile, WrongExtension) | ||
{ | ||
FileRaii fileGuard("test_rfile_wrong.xml"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Until now we have not enforced the convention for the extension.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But if I'm not mistaken TFile will try to open a TXMLFile if it detects this extension (at least with TFile::Open) and I wanted to avoid that
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That is a slightly different interface per say. TFile::Open
(as oppose to the TFile constructor) is supposed to find the right plugin and it indeed bases that search on pattern matching (protocol
... filename .extension
) but if some code is creating the pluging class directly then there is less checks (in part because they are redundant, in part because new TXMLFile(filename)
is an explicit request to open that file as xml)
} | ||
} | ||
|
||
TEST(RFile, IterateKeysRecursive) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What does 'recursing' over the directories look like for 'complex' operation? For example creating a graph representation of the file's content (text or in TBrowser nodes); Another example could be create Canvas and subCanvas display the histo of each directory (in an organization mimicking the directory organization).
This gets rid of the deprecation warning about operator ""
With this change, querying for object "a/b/c" will only try to fetch object "c" from directory "b" from directory "a", and not any combination thereof (like object "b/c" from directory "a" or object "a/b/c").
This Pull request:
Draft PR for the new RFile prototype, using a non-RDirectory-based approach (an alternative PR using a RDirectory-based approach will follow soon).
Introduces
ROOT::Experimental::RFile
which presents a new, minimal interface for reading and writing data to a ROOT file.NOTE: the commit history is a bit messy at the moment, but it's not meant to be "review-ready"; it's more to showcase the current progress of the prototype.