Automatic Schema Evolution(continued)
- The description of these ''atomic'' actions is stored into the file together with data. It is not the description of written classes; it is the description of streamers, the description of how the objects were written.
When the output format is formalized in such a way, we can compare the streamer descriptions of old and new data.
Reading:
- Read the streamer descriptions of old classes;
- Got an old object. If class is known, create it. If not, skip object;
- Got an old ''atom''. If we have the new ''atom'' of the same kind, type and name, fill it. If not, skip it.
Some members of the new object could not be filled. It is the responsibility of the class designer to provide default filling of them.
After conversion, an application should deal, with not filled members. But this is a problem of application schema evolution. I/O schema evolution is solved.