-
Notifications
You must be signed in to change notification settings - Fork 60
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
Add schema evolution hooks to Frame #413
Conversation
42a55cf
to
213430c
Compare
a9d2a3f
to
5439699
Compare
Easier this way to get the current version information into the whole system
Remove two step registration again
5439699
to
2afde17
Compare
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.
Besides a rename of SchemaEvolution into SchemaEvolutionRegistry I am fine with this. thanks!
* that the registration still happens on a single thread. After this | ||
* initialization evolutions can be done from multiple threads. | ||
*/ | ||
class SchemaEvolution { |
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.
not sure why you talk about SchemaEvolution and SchemaEvolutionRegistry interchangeably. Maybe one should just make a global (and stupid) rename?
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.
Removed the registry bits again. They were leftovers from when it was not yet entirely clear to me what the name should be.
BEGINRELEASENOTES
podio::SchemaEvolution
that can hold schema evolution functions and that offers anevolveBuffers
method that does the schema evolution on these buffers before collections are created.podio::Frame
to call this when collections are read from the FrameData.ENDRELEASENOTES
This introduces a
podio::SchemaEvolution
registry that holds schema evolution functions and that offers anevolveBuffers
method that takespodio::CollectionReadBuffers
, a schema version and the type of the collection that will be constructed from these buffers and evolves them to the current schema version (potentially by doing nothing at all). This will not yet introduce any machinery to actually also populate this registry, that will be another PR.TODO: