see http://ncdf16.fnal.gov/DataFileDB/doc/DFC_main.html
Progress Report, Nov 11, 1999 Here is what I have so far: 1) Re-wrote Oracle template library to handle Oracle errors without throwing C++ exceptions. 2) Written DBObject/DbOTL class, and in DataFileDB, skeletons of FilesetOTL.cc, TapeOTL.cc, DatasetOTL.cc,RunSectionOTL.cc,TapePoolOTL.cc, FileOTL.cc, and TapeAllocOTL.cc 3) The following IO classes generated from Julies ER diagrams, as well as oracle tables which these classes successfully read from and write to: DatasetStruct.hh RunSectionStruct.hh Dataset_StatusStruct.hh Runsection_LifetimeStruct.hh FileStruct.hh Runsection_RangeStruct.hh FilesetStruct.hh TapePoolStruct.hh Parent_DatasetStruct.hh TapeStatusStruct.hh Prod_Version_DescStruct.hh TapeStruct.hh 4) I have re-written arch_spec_oci.mk to correctly link static oracle libraries on Sun, Linux, and SGI. I have spoken recently with Art Kramer who wanted me to hold off until Monday or so checking these in as I am somewhat afraid of breaking the nightly build and he wants to get it to build successfully with EDM first. What remains to be done, as I understand it: 1) The database schema needs to solidify, and an oracle instance made out of the results. 2) I need to modify the above 'Struct.hh' IO classes to reflect the schema. This step is quick and easy as the code is all generated. 3) The 'Struct' IO classes talk to the 'OTL' classes mentioned above. This is where simple tables are to be joined into more complex objects. Jim K. has checked in comments, I plan to use these to manually assemble complex objects here. This process has just started. To date, I have the 'DFCTestLoader' program writing to one oracle table. 4) What remains is chiefly integration, between my low level database IO ojects, Jim's high level business objects, and Julie's database definitions. Much of this will take place at the currently skeleton 'OTL' layer described in point 2) of the 'What I have so far' section of this note. It would be good to have specified, in writing, what functionality is required for the MDC, i.e. what tables are to be filled, and how, and which ones are to be specified later. I have preliminary notes on this.The previous task list