====================================================== A proposal to refactor/migrate CDB Framework Modules to technology-neutral model ====================================================== Igor Gaponenko February 9, 2007 ______________________________ 1. Reasons for the refactoring The on-going CDB migration from Objectivity/DB to ROOT & MySQL creates a number of difficulties for developers and users of Framework applications. Some of them relate to a fact that both technologies are going to co-exist in our releases (and in actual use of applications) for a substantial period of time. Therefore: a) each application (except those which have been made technology-specific on a purpose) should be built in a form of two binaries each linked against one or another persistent technology. A technology choice should not change a functionality of the application. In particular, it means that those services provided to applications via CDB specific Framework modules should be available to both flavors of the binaries. b) secondly, changes in a CDB specific part of the application's interface should be as small as possible, just to a level where it's simply unavoidable (for example, when we need to specify a location of a CDB database installation to be used). Here we're mostly talking about interfaces of CDB specific modules in TCL application configuration scripts. Right now, most applications use CDB Framework modules via the following Objectivity-specific "sequence": BdbCondModules/BdbCondInitSequence.(hh,cc,tcl) There is also a 'branch' version of this sequnce for ROOT I/O technology: CdbRooModules/CdbRooInitSequence.(hh,cc,tcl) which was developed in a context of migrating BetaMiniUer analysis application. Besides, the ROOT version of BetaMini has its own collection of other CDB related modules (both technology-neutral and technology-specific). Having the same functionality duplicated in two sets of sequences/modules is exactly a reason for a concern mentioned in (a) and (b) above. Hence, a goal of this prposal is to come up with a unified solution which would be transparent at both (a) and (b) for end users and application developers. ______________________________________________ 1.1 Notes on known limitations of the proposal The original version of the proposal is only aiming at read-only clients of CDB. We also have many so called "loader" modules which are used to populate the database with new constants/calibrations/etc. Right now, due to a limited support from the core CDB API these modules can't be made technology-neutral. For that one would need to extend the API with the "transient-to-persistent" translation path. This extension will be made to the API in the future. _________________________ 2. What is being proposed The first step to unify an application build process has already been made in this HN thread: http://babar-hn.slac.stanford.edu:5090/HyperNews/get/db_alternatives/207.html In particular, the proposal makes the build procedure of technology specific binaries trasnparent to end-users. However, it still implies a presence of two flavors of CDB Framework modules and sequences. Obviously, this contradicts with a requirement outlined in (1.b). Besides, as it's been realised after publishing that document (see URL above), the unified build process would make non-Framework applications linked with Framework, TCL and related libraries. The main idea behind the current document is to merge both sequences and both sets of CDB modules into a single technology-neutral set. That way we'll come up with the unified TCL interface to CDB modules from TCL, and we'll also solve a problem of unwanbted dependencies onto Framework (TCL, etc.) libraries from non-Framework applications. The later will become possible bacause there won't be any need to generate an installation (C++) code for technology-specific CDB Framework modules. _____________________ 2.1 Sequences/modules Right now, the previously mentioned sequence 'BdbCondModules/BdbCondInitSequence' installs three CDB modules: CdbEvtModules/CdbEvtLoadStateId BdbTclParmP/BdbTclManagerModule BdbCondInitModules/CdbBdbInit Among these three modules, the first one ('CdbEvtLoadStateId') is already technology neutral one, it's there just for historical reasons. The second one ('BdbTclManagerModule') already has a technology-neutral implementation made in a context of the BetaMini migration to ROOT: BdbTclParmProxy/BdbTclProxyRegister Though, no DDL-to-transient translator exists for this module yet. The third module ('CdbBdbInit') is presently Objectivity specific. This module needs to be migrated to technolog-neutral CDB API. ________________________________ 3. What exactly needs to be done _____________________________________ 3.1 Create new package: CdbFwkModules First we need to create a new CDB package for technology neutral modules and seqeunces: CdbFwkModules/ That package is going to be a host for the following sequence: CdbFwkModules/CdbApiInitSequence.(hh,cc,tcl) which would replace the technology-specific sequences: BdbCondModules/BdbCondInitSequence CdbRooModules/CdbRooInitSequence for all kinds of Framework applications. The package will also host the technology-neutral merge of two modules: 'CdbBdbInit' and 'CdbRooInit': CdbApiInitModule ________________________________________________________________________ 3.2 Merge modules: 'CdbBdbInit' and 'CdbRooInit' into 'CdbApiInitModule' Two approaches to interact with the new technology-neutral module have been considered: a) let the module to know about all possible parameters and their correct syntax for all CDB API implementations. Validate parameters and pass them down to CDB API implementations via tech-neutral CdbEnvironment facility (which is a technology-neutral dictionary of CDB API parameters used by all API implementations). b) or implement the "path through" logic, in which the module doesn't check a correctness of a parameter, and simply passed it down to CdbEnvironment facility as a plain pair of key/value strings. Since we have just a few of parameters, and that numbers is very unlikelly to grow in the future, then (a) seems to be the simplest and more reliable solution. It also has another benefits - it's backward compatible with already existing modules. __________________________________________________________ NOTE: It's obvious disadvantage is a possible maintenance. This shouldn't be a problem if the number of paramaters won't be growing too fast. What we have so far (~6 parameters) is a result of 3.5 years of using CDB. The following changes are expected to be done in the new module's implementation compared to 'CdbRooInit': _____________________________________________________________________ 1. migrate the transcation management logic to the technology-neutral one (see class: CdbBase/CdbTransaction). _____________________________________________________________________ 2. don't interact with BDB API to set up the maximum cache size. Pass a user specified (or the default) value to CdbEnviroment's "any type' dictionary of extended parameters using the following key name: "Bdb/*/OO_CACHE_MAX" That would also require to reimplement the following function at both CDB API implementation for "Bdb" technologies to look at the dictionary and set the desired parameter: // File: CdbBdbShared/CdbBdbShared.cc // File: CdbBdbWrapper/CdbBdbWrapper.cc namespace { const CdbBdbSCdb* instantiate_Cdb( ) { .. check if "Bdb/*/OO_CACHE_MAX" is found in CdbEnvironment and .. set up the corresponding parameter through BDB API } ___________________________________________________________________________ 3. make a choice of known CDB API implementations depending on a particular CDB "technology" an application is linked with. That means this part of the module's constructor: _implementation.addItem( "", CdbBdbInit::AUTODETECTION ); if( CdbApiTechnology() == "Bdb" ) { _implementation.addItem( "Wrapper", CdbBdbInit::BDB_WRAPPER ); _implementation.addItem( "Shared", CdbBdbInit::BDB_SHARED ); } else { _implementation.addItem( "Readonly", CdbBdbInit::ROO_READONLY ); _implementation.addItem( "Database", CdbBdbInit::ROO_DATABASE ); } That also requires to autogenerate the following global function: std:string CdbApiTechnology() { return "Bdb"; // or "Roo" } _____________________________________________________ 3.3 Finish migrating BdbTclParm to tech-neutral model In the current implementatio of this facility the code is spread in between two packages: BdbTclParm : transient types BdbTclParmP : proxy and framework module The module in question is located here: BdbTclParmP/BdbTclManagerModule.(hh,cc) There is also an implementation of this facility migrated to the technology-neutral model of proxies. It's found in these package/module: BdbTclParmProxy/BdbTclProxyRegister.(hh.cc) This module instantiates a proxy for a manager of parameter lists. The coresponding transient class to be obtained from persistent-to-transient translation service is: BdbTclParm/BdbTclParmList.hh There is also an RDL implementation for the translator instantiated from this module: BdbTclParmCdbR/BdbTclParmCdbRRegister.(hh,cc) There must be a similar translator created for DDL files. This must be trivial since the corresponding DDL class already has the 'transient()' method. _________________________________________________ 3.4 Make adjustments in users' code and TCL files The code analysis has been made based on release 20.1.0 & nightly-20060613. _____________________________ 3.4.1 C++ code to be modified The following 5 applications instantiating 'BdbCondInitSequence' should be migrated to instantiate the technonoly-neutral 'CdbFwkModules/CdbApiInitSequence': BdbSequences/BdbBasicSequence.cc Bear/BearInitAppSequence.cc BetaMiniEnvSequences/BetaMiniEnvSequence.cc BgsApp/BgsInitSequence.cc SimApp/CommonInitAppSequence.cc TruthTools/AppUserBuild.cc There are 4 applications directly using the Objectivity specific module 'BdbTclParmP/BdbTclManagerModule' from its present location: BdbCondModules/BdbCondInitSequence.cc EmcOep/EmcOepWFdump.cc EmcOepMon/EmcMyReadXtc.cc EmcReco/AppUserBuild.cc And finally, direct clients of 'CdbBdbInit' which need to be migrated are: Bear/BearInitAppSequence.cc BetaSequences/BtaAppBuild.icc DchCondModules/DchMinEnvSequence.cc DchOepSequences/DchOepEnvSequence.cc DchProxy/DchCondLoadSequence.cc DchSimGeomP/AppUserBuild.cc DetectorModel/DetMaterialTester.cc DrcEnvP/AppUserBuild.cc DrcOepCalib/DrcOepModules.cc EmcAlign/EmcAlignFromXtc.cc EmcCalBhabha/AUB-ReadBhabhaConstants.cc EmcCalBhabha/AppUserBuild.cc EmcCalRadBb/bhabhaXtc.cc EmcCalRoot/bhabhaXtc.cc EmcCalibTooP/AppUserBuild.cc EmcDigiCalibP/AppUserBuild.cc EmcEnvP/AppUserBuild.cc EmcLayoutP/AppUserBuild.cc EmcOep/EmcOepWFdump.cc EmcOepMon/EmcEmtReadXtc.cc EmcOepMon/EmcMyReadXtc.cc EmcOepMon/EmcOepReadXtc.cc EmcOepSequences/EmcOepDisplayData.cc EmcOepSequences/EmcOepPlayCosmics.cc EmcProxy/BdbCondLoadEmc.cc EmcProxy/ReadEScaleChans.cc EmcSimGeomP/AppUserBuild.cc FastMonStreams/AUB-FmcAllFastMonApp.cc GenEnv/testGenEnv.cc GeneratorsApp/AppUserBuild.cc GeneratorsQA/AppUserBuild.cc GeneratorsQA/History HepRepServer/HesOepAppUserBuild.cc HepRepServer/HesXtcTcpAppUserBuildCommon.cc IfrDetector/AppUserBuild.cc IfrFastMon/IfrFMonPlayback.cc IfrOpr/testIfrOpr.cc IfrProxy/IfrCondLoadSequence.cc Kanga/KanConditions.cc L1DctEnv/testMapStoreRead.cc L1TFMon/L1TFMonRemoteApp.cc L1TFMon/L1TFMonXtcApp.cc L1TPlayback/L1TPlaybackApp.cc L3TLumi/L3TPcaServerApp.cc L3TLumi/L3TRunInfoApp.cc L3Trigger/L3TInitSequence.cc MatEnvP/AppUserBuild.cc MatReco/AppUserBuild.cc OepFrameworkApps/AUB-OepAllFastMonApp.cc PepCond/AppUserBuild.cc PepFastMon/AppUserBuild.cc PepSimGeomP/AppUserBuild.cc RecoBGFilter/RecoDigiFilterApp.cc SvtCondModules/AppUserBuild.cc SvtEnv/AppUserBuild.cc SvtOep/AppUserBuildF.cc SvtOep/AppUserBuildTC.cc SvtOepApps/AppUserBuildL.cc SvtOepApps/AppUserBuildXtc.cc SvtOepApps/SvtFastMonDb.cc SvtOepApps/SvtFastMonSim.cc SvtOepApps/SvtFastMonXtc.cc SvtOepApps/SvtOepBrowseXtc.cc SvtOepApps/SvtOepDisplay.cc SvtOepApps/SvtOepROMFileDb.cc SvtSimGeomP/AppUserBuild.cc TrgTags/TrgTagsDbApp.cc TrkEnvModules/AppUserBuild.cc ______________________________ 3.4.2 TCL files to be modified Note, that TCL files should be modified at the same time the C++ code of the corresponding packages will be. These TCL files are directly using the Objectivity specific module 'BdbTclManagerModule' instead of the technology-neutral one 'BdbTclProxyRegister': BdbCondModules/BdbCondInitSequence.tcl EmcOep/EmcOepWFdump.tcl EmcOepMon/EmcMyReadXtc.tcl EmcReco/emcreco.tcl And here is a list of TCL files which need to be migrated from using CdbBdbInit module to CdbApiInitModule: BetaPid/setupPid.tcl BetaSequences/kangaCondSetup.tcl DchOepSequences/DchOepEnvSequence.tcl DchProxy/DchInitLoadSequence.tcl Elf/ElfProductionSetup.tcl EmcCalBhabha/EmcDoBhabhaCalibration.tcl EmcCalBhabha/EmcReadBhabhas.tcl EmcOep/EmcOepWFdump.tcl EmcOepMon/EmcMyReadXtc.tcl EmcOepMon/EmcOepReadXtc.tcl FastMonStreams/FmcFastMonRemoteApp.tcl L1TFMon/L1TFMonRemoteApp.tcl L3TLumi/L3TPcaServerApp.tcl L3TLumi/L3TRunInfoApp.tcl L3Trigger/L3TDisplayApp.tcl L3Trigger/L3TriggerApp.tcl PepFastMon/PepFastMon.tcl RecoBGFilter/RecoDigiFilterApp.tcl ______________________________ 3.4.3 Worklog of the migration _____________________________________________________________________ 3.4.3.1 Migration from 'BdbTclManagerModule' to 'BdbTclProxyRegister' NOTE: The 'before' tags are based on the Tuesday June 13-th nightly (the one to where the tags mentioned in sections 4.3 & 4.4 mentioned below have been submitted). ----------------+--------------+------------+--------------+---------------------------- package | tag before | migrated | tag after | comments ----------------+--------------+------------+--------------+---------------------------- BdbCondModules | V01-00-01 | 2006-06-14 | V01-01-00 | ----------------+--------------+------------+--------------+---------------------------- EmcOep | V00-04-03 | 2006-06-14 | V00-04-04 | dirty HEAD; use 'cvs -n update -A; ignore HEAD EmcOepMon | V00-05-05 | 2006-06-14 | V00-05-07 | EmcReco | V00-13-13 | 2006-06-14 | V00-13-14 | dirty HEAD; use 'cvs -n update -A; ignore HEAD ----------------+--------------+------------+--------------+---------------------------- ____________________________________________________ 3.4.3.2 Tags published for the nightly June 14, 2006 BdbCondModules V01-01-00 EmcOep V00-04-04 EmcOepMon V00-05-07 EmcReco V00-13-14 _________________________________________________________ 3.4.3.3 Migration from 'CdbBdbInit' to 'CdbApiInitModule' NOTE: The 'before' tags are based on the Tuesday June 13-th nightly (the one to where the tags mentioned in sections 4.3 & 4.4 mentioned below have been submitted). ------------------+--------------+------------+--------------+---------------------------- package | tag before | migrated | tag after | comments ------------------+--------------+------------+--------------+---------------------------- BdbSequences | V01-03-01 | 2006-06-07 | V01-04-00 | Bear | V01-05-05 | 2006-06-14 | V01-05-06 | BgsApp | V00-05-08 | 2006-06-14 | V00-05-08-01 | there is a new tag 'V00-05-09' related to translators (Akbar) | | | | do _NOT_ include them into the new tag 'V00-05-08-01' for now SimApp | V00-10-02 | 2006-06-14 | V00-10-03 | TruthTools | V00-13-01 | 2006-06-14 | V00-13-02 | dirty HEAD; use 'cvs -n update -A; ignore HEAD BetaSequences | V00-14-00 | 2006-06-14 | V00-14-01 | DchCondModules | V01-06-00 | 2006-06-14 | V01-06-01 | DchOepSequences | V00-03-00 | 2006-06-14 | V00-03-01 | there is a newer tag V00-04-00; user 'kelsey' has suggested | | | | to create new tags: V00-03-01 and V00-04-01 | | | | publish V00-03-01 for the nightly; do not create V00-04-01 for it's not needed DchProxy | V01-08-00 | 2006-06-14 | V01-08-01 | DchSimGeomP | V00-05-01 | 2006-06-14 | V00-05-01-01 | there is a new tag 'V00-05-02' related to translators (Akbar) | | | | do _NOT_ include them into the new tag 'V00-05-01-01' for now DetectorModel | V01-04-01 | 2006-06-14 | V01-04-02 | DrcEnvP | V00-00-02 | 2006-06-14 | V00-00-03 | DrcOepCalib | V00-06-04 | 2006-06-14 | V00-06-05 | EmcAlign | V00-04-03 | 2006-06-14 | V00-04-04 | EmcCalBhabha | V00-08-04 | 2006-06-14 | V00-08-05 | EmcCalRadBb | V00-05-02 | 2006-06-14 | V00-05-03 | EmcCalRoot | V00-05-04 | 2006-06-14 | V00-05-05 | EmcCalibTooP | V00-00-02 | 2006-06-14 | V00-00-05 | there is a newer tag V00-00-03 which isn't in nightly and 20.1.x | | | | ignore that tag and make V00-00-05 EmcDigiCalibP | V00-00-03 | 2006-06-14 | V00-00-04 | EmcEnvP | V00-01-00 | 2006-06-14 | V00-01-01 | EmcLayoutP | V00-01-00 | 2006-06-15 | V00-01-00-01 | there is a new tag 'V00-01-01' with translators (Akbar) | | | | do _NOT_ include them into the new tag 'V00-01-00-01' for now | | | | EmcOep | V00-04-04 | 2006-06-15 | V00-04-05 | dirty HEAD; use 'cvs -n update -A; ignore HEAD EmcOepMon | V00-05-07 | 2006-06-15 | V00-05-08 | EmcOepSequences | V00-05-07 | 2006-06-15 | V00-05-08 | EmcProxy | V00-02-04 | 2006-06-15 | V00-02-05 | dirty HEAD; use 'cvs -n update -A; ignore HEAD | | | | EmcSimGeomP | V00-04-02 | 2006-06-15 | V00-04-02-01 | there is a new tag 'V00-04-03' with translators (Akbar) | | | | do _NOT_ include them into the new tag 'V00-04-02-01' for now | | | | FastMonStreams | V00-02-10 | 2006-06-15 | V00-02-11 | not in a release; do not publish in WebSRT GenEnv | V00-05-01 | 2006-06-15 | V00-05-02 | GeneratorsApp | V00-02-00 | 2006-06-15 | V00-02-01 | dirty HEAD; use 'cvs -n update -A; ignore HEAD; private tag exists | | | | GeneratorsQA | V00-03-18-01 | 2006-06-15 | V00-03-18-02 | there is tag V00-03-20 which isn't in the nightly ` | | | V00-03-21 | make 'branch' tag V00-03-18-02 and mainstream one V00-03-21 | | | | publish V00-03-18-02 for the nightly; inform 'abi' HepRepServer | V00-08-05 | 2006-06-15 | V00-08-06 | IfrDetector | V00-13-08 | 2006-06-15 | V00-13-09 | IfrFastMon | V00-08-01 | 2006-06-15 | V00-08-01-01 | there is tag V00-08-02 which isn't in the nightly; HEAD is clean | | | V00-08-03 | make 'branch' tag V00-08-01-01 and mainstream one V00-08-03 | | | | publish V00-08-01-01 for the nightly | | | | IfrOpr | V00-06-01 | 2006-06-15 | V00-06-01-01 | dirty HEAD; use 'cvs -n update -A; changes on the HEAD are relevant | | | V00-06-04 | there is a newer tag V00-06-03 which isn't in nightly and 20.1.x | | | | make 'branch' tag V00-06-01-01 and mainstream one V00-06-04 | | | | publish V00-06-01-01 for the nightly | | | | IfrProxy | V01-02-03 | 2006-06-15 | V01-02-04 | dirty HEAD; use 'cvs -n update -A; ignore HEAD | | | | Kanga | V01-05-09 | 2006-06-15 | V01-05-10 | ATTENTION: a data member of 'CdbBdbInit*' found in KanConditions.rdl L1DctEnv | V00-06-05 | 2006-06-15 | V00-06-06 | L1TFMon | V00-06-05 | 2006-06-15 | V00-06-06 | L1TPlayback | V00-05-02 | 2006-06-15 | V00-05-03 | L3TLumi | V00-19-05 | 2006-06-15 | V00-19-06 | L3Trigger | V00-13-04 | 2006-06-15 | V00-13-05 | MatEnvP | V00-00-01 | 2006-06-15 | V00-00-03 | dirty HEAD; use 'cvs -n update -A | | | | there is a new tag 'V00-00-02' with translators (Akbar) | | | | do _NOT_ include them into the new tag 'V00-00-03' for now | | | | MatReco | V00-04-02 | 2006-06-15 | V00-04-02-01 | dirty HEAD; use 'cvs -n update -A | | | | there is a new tag 'V00-04-03' with translators (Akbar) | | | | do _NOT_ include them into the new tag 'V00-04-02-01' for now | | | | OepFrameworkApps | V00-07-00 | 2006-06-15 | V00-07-01 | ..symbols not found.. during linking, might be a tag missmatch | | | | in the nightly | | | | PepCond | V00-05-01 | 2006-06-16 | V00-05-01-01 | there is a new tag 'V00-05-02' with translators (Akbar) | | | | do _NOT_ include them into the new tag 'V00-05-01-01' for now | | | | PepFastMon | V01-01-01 | 2006-06-16 | V01-01-01-01 | there is a new tag V01-03-02 which is not in the nightly or 20.x | | | V01-03-03 | the previous tag V01-03-00 is used in 18.6.4 release | | | | skip newer tags and create 'branch' tag V01-01-01-01 for the nightly | | | | create 'mainstream' tag V01-03-03 as well | | | | PepSimGeomP | V00-03-00 | 2006-06-16 | V00-03-00-01 | there is a new tag 'V00-03-01' with translators (Akbar) | | | | do _NOT_ include them into the new tag 'V00-03-00-01' for now | | | | RecoBGFilter | V00-13-01 | 2006-06-16 | V00-13-01-01 | dirty HEAD; use 'cvs -n update -A; there are two (one private) above | | |gapon-20060616| skip newer tags and create 'branch' tag V00-13-01-01 for the nightly | | | | create 'mainstream' tag 'gapon-20060616' as well | | | | inform 'bartoldu' SvtCondModules | V00-08-07 | 2006-06-16 | V00-08-08 | SvtEnv | V00-08-02 | 2006-06-16 | V00-08-03 | SvtOep | V00-04-02 | 2006-06-16 | V00-04-03 | SvtOepApps | V00-03-02 | 2006-06-16 | V00-03-03 | SvtSimGeomP | V00-06-01 | 2006-06-16 | V00-06-01-01 | there is a new tag 'V00-06-02' with translators (Akbar) | | | | do _NOT_ include them into the new tag 'V00-06-01-01' for now TrgTags | V00-06-03 | 2006-06-16 | V00-06-04 | TrkEnvModules | V00-08-01 | 2006-06-16 | V00-08-02 | ------------------+--------------+------------+--------------+---------------------------- ____________________________________________________ 3.4.3.4 Tags published for the nightly June 16, 2006 BdbSequences V01-04-00 Bear V01-05-06 BgsApp V00-05-08-01 SimApp V00-10-03 TruthTools V00-13-02 BetaSequences V00-14-01 DchCondModules V01-06-01 DchOepSequences V00-03-01 DchProxy V01-08-01 DchSimGeomP V00-05-01-01 DetectorModel V01-04-02 DrcEnvP V00-00-03 DrcOepCalib V00-06-05 EmcAlign V00-04-04 EmcCalBhabha V00-08-05 EmcCalRadBb V00-05-03 EmcCalRoot V00-05-05 EmcCalibTooP V00-00-05 EmcDigiCalibP V00-00-04 EmcEnvP V00-01-01 EmcLayoutP V00-01-00-01 EmcOep V00-04-05 EmcOepMon V00-05-08 EmcOepSequences V00-05-08 EmcProxy V00-02-05 EmcSimGeomP V00-04-02-01 FastMonStreams V00-02-11 GenEnv V00-05-02 GeneratorsApp V00-02-01 GeneratorsQA V00-03-18-02 HepRepServer V00-08-06 IfrDetector V00-13-09 IfrFastMon V00-08-01-01 IfrOpr V00-06-01-01 IfrProxy V01-02-04 Kanga V01-05-10 L1DctEnv V00-06-06 L1TFMon V00-06-06 L1TPlayback V00-05-03 L3TLumi V00-19-06 L3Trigger V00-13-05 MatEnvP V00-00-03 MatReco V00-04-02-01 OepFrameworkApps V00-07-01 PepCond V00-05-01-01 PepFastMon V01-01-01-01 PepSimGeomP V00-03-00-01 RecoBGFilter V00-13-01-01 SvtCondModules V00-08-08 SvtEnv V00-08-03 SvtOep V00-04-03 SvtOepApps V00-03-03 SvtSimGeomP V00-06-01-01 TrgTags V00-06-04 TrkEnvModules V00-08-02 ____________________________________________ 4. Other core CDB API modules to be migrated The changes mentioned in this section can be commited at any time because they don't require neither 'lazy' initialization of CDB API not a presense of the CdbFwkModules package. The analyss of the code mentioned below has been made based on release 20.1.0 and nightly from June 8. _________________________ 4.1 BdbModules/BdbSetTime That module is by definition a technology-neutral one. It just needs to be moved into CdbFwkModules. The corresponding client code will have to be adjusted accordingly. This would include these C++ files: BdbCopyJob/AppUserBuild.cc BdbModules/BdbSetTime.cc Bear/AppUserBuild.cc DchData/AppUserBuild.cc DchEnv/testDchEnv.cc DchGeom/AppUserBuild.cc DchOep/testConfigDB.cc DchPid/AppUserBuild.cc DrcEnvP/AppUserBuild.cc DrcSequence/AppUserBuild.cc EmcAlign/AppUserBuild.cc EmcAlign/EmcAlignFromXtc.cc EmcCalBhabha/AUB-EmcBhabhaMCExtr.cc EmcCalBhabha/AUB-EmcOepSimL3Calib.cc EmcCalMinI/AppUserBuild.cc EmcCalPi0/AppUserBuild.cc EmcCalRadBb/AppUserBuild.cc EmcCalRadBb/bhabhaXtc.cc EmcCalRoot/bhabhaXdr.cc EmcCalRoot/bhabhaXtc.cc EmcOepSequences/EmcOepDisplayData.cc EmcOepSequences/EmcOepPlayCosmics.cc EmcPid/AppUserBuild.cc EmcReco/AppUserBuild.cc GeneratorsQA/AppUserBuild.cc HepRepServer/HesBearAppUserBuild.cc HepRepServer/HesXtcTcpAppUserBuildCommon.cc L1TNtuple/L1TNtupleMooseApp.cc MatReco/AppUserBuild.cc Moose/AppUserBuild.cc OprExamples/AppUserProxy.cc PepBkgMon/PepBkgMCApp.cc PepCond/AppUserBuild.cc PepCond/AppUserBuild.cc QaSimAppHists/AppUserBuild.cc SimUtils/SmuBkgCollShuffleApp.cc SvtCondModules/AppUserBuild.cc SvtEnv/AppUserBuild.cc SvtOep/AppUserBuildF.cc SvtOep/AppUserBuildTC.cc SvtOepApps/SvtFastMonSim.cc SvtOepApps/SvtOepDisplay.cc SvtSim/AppUserBuild.cc SvtSimGeomP/AppUserBuild.cc SvtSurvey/AppUserBuild.cc SwimTracks/AppUserBuild.cc.save TrkCombo/TrkComboSetup.cc TrkEnvModules/AppUserBuild.cc No changes in TCL files are needed as we're not changing the module name and also because AppUserBuild-s are instantiating the module directly, not hthrough an intermediate C++ 'sequence'. _____________________________ 4.2 BdbModules/BdbSetRevision That module is related to an aobsolete implementation of the original Condition/DB of BaBar (BdbCond package). It has to be removed from releases. The following C++ files need to be modified: Bear/BearInitAppSequence.cc BgsApp/BgsInitSequence.cc DrcEnvP/AppUserBuild.cc SimApp/CommonInitAppSequence.cc SvtEnv/AppUserBuild.cc SvtQC/AppUserBuild.cc TruthTools/AppUserBuild.cc The following TCL files have to be modified as well: Bear/BearInitAppSequence.tcl BgsApp/BgsInitSequence.tcl DrcEnvP/DrcEnvTest.tcl SimApp/CommonInitAppSequence.tcl ____________________________ 4.3 Worklog of the migration ----------------+--------------+------------+--------------+---------------------------- package | tag before | migrated | tag after | comments ----------------+--------------+------------+--------------+---------------------------- BdbModules | V02-03-01 | 2006-06-08 | V02-04-00 | CdbEvtModules | V00-02-02 | 2006-06-08 | V00-04-00 | ----------------+--------------+------------+--------------+---------------------------- BdbCopyJob | V00-04-00 | 2006-06-08 | V00-04-01 | Bear | V01-05-04 | 2006-06-08 | V01-05-05 | BgsApp | V00-05-07 | 2006-06-09 | V00-05-08 | DchData | V01-06-03 | 2006-06-08 | V01-06-04 | DchEnv | V00-08-01 | 2006-06-08 | V00-08-02 | DchGeom | V01-04-06 | 2006-06-08 | V01-04-07 | 'dirty' HEAD: 'cvs -n update -A'; ignore HEAD DchOep | V00-12-01 | 2006-06-08 | V00-12-02 | DchPid | V01-04-00 | 2006-06-08 | V01-04-01 | DrcEnvP | V00-00-01 | 2006-06-08 | V00-00-02 | DrcSequence | V00-08-01 | 2006-06-09 | V00-08-02 | EmcAlign | V00-04-02 | 2006-06-09 | V00-04-03 | EmcCalBhabha | V00-08-03 | 2006-06-09 | V00-08-04 | 'before' tag from the nightly June 8 | | | | 20.1.0 has V00-08-02; HEAD is clean EmcCalMinI | V00-05-01 | 2006-06-09 | V00-05-02 | EmcCalPi0 | V00-08-00 | 2006-06-09 | V00-08-01 | EmcCalRadBb | V00-05-01 | 2006-06-09 | V00-05-02 | EmcCalRoot | V00-05-03 | 2006-06-09 | V00-05-04 | EmcOepSequences | V00-05-06 | 2006-06-09 | V00-05-07 | EmcPid | V00-07-02 | 2006-06-09 | V00-07-03 | EmcReco | V00-13-12 | 2006-06-09 | V00-13-13 | 'before' tag from the nightly June 8; 20.1.0 has V00-13-09 | | | | 'dirty' HEAD: 'cvs -n update -A'; ignore HEAD | | | | GeneratorsQA | V00-03-18 | 2006-06-09 | V00-03-18-01 | there is tag V00-03-19 which isn't in the nightly | | | V00-03-20 | make 'branch' tag V00-03-18-01 and mainstream one V00-03-20 | | | | publish V00-03-18-01 for the nightly; inform 'abi' HepRepServer | V00-08-04 | 2006-06-09 | V00-08-05 | L1TNtuple | V00-11-01 | 2006-06-09 | V00-11-02 | MatReco | V00-04-01 | 2006-06-09 | V00-04-02 | Akbar will also do this package when refactoring it Moose | V01-01-01 | 2006-06-09 | V01-01-02 | OprExamples | V00-04-01 | 2006-06-09 | V00-04-02 | PepBkgMon | V00-03-01 | 2006-06-13 | V00-03-01-01 | 'dirty' HEAD: 'cvs -n update -A' | | | | there is a private tag above the 'before' one: wsl-2006Mar06 | | | | make 'branch' tag V00-03-01-01; publish it for the nightly; inform 'lockman' | | | | PepCond | V00-05-00 | 2006-06-09 | V00-05-01 | Akbar will also do this package when refactoring it QaSimAppHists | V00-03-02 | 2006-06-09 | V00-03-03 | SimApp | V00-10-01 | 2006-06-09 | V00-10-02 | SimUtils | V00-09-06-01 | 2006-06-09 | V00-09-06-02 |'before' tag from the nightly June 8; 20.1.0 has V00-09-06 | | | V00-09-09 | the newest tag is V00-09-08 | | | | no actual differences in relevant files in between V00-09-08 and V00-09-06-01 | | | | make 'branch' tag V00-09-06-02 and 'mainstream' one V00-09-09 | | | | publish V00-09-06-02 for the nightly; inform 'lockman' SvtCondModules | V00-08-06 | 2006-06-09 | V00-08-07 | SvtEnv | V00-08-01 | 2006-06-09 | V00-08-02 | SvtOep | V00-04-01 | 2006-06-09 | V00-04-02 | SvtOepApps | V00-03-01 | 2006-06-09 | V00-03-02 | SvtQC | V00-07-04 | 2006-06-09 | V00-07-05 | SvtSim | V00-08-02 | 2006-06-09 | V00-08-03 | SvtSimGeomP | V00-06-00 | 2006-06-09 | V00-06-01 | SvtSurvey | V00-03-03 | 2006-06-09 | V00-03-04 | SwimTracks | V00-04-02 | 2006-06-09 | V00-04-03 | TrkCombo | V00-08-03 | 2006-06-09 | V00-08-04 | 'dirty' HEAD: 'cvs -n update -A'; ignore HEAD TrkEnvModules | V00-08-00 | 2006-06-09 | V00-08-01 | TruthTools | V00-13-00 | 2006-06-09 | V00-13-01 | 'dirty' HEAD: 'cvs -n update -A'; ignore HEAD; private tag exists ----------------+--------------+------------+--------------+------------------------------------------------------------------------------ ________________________________________________ 4.4 Tags published for the nightly June 13, 2006 BdbModules V02-04-00 CdbEvtModules V00-04-00 BdbCopyJob V00-04-01 Bear V01-05-05 BgsApp V00-05-08 DchData V01-06-04 DchEnv V00-08-02 DchGeom V01-04-07 DchOep V00-12-02 DchPid V01-04-01 DrcEnvP V00-00-02 DrcSequence V00-08-02 EmcAlign V00-04-03 EmcCalBhabha V00-08-04 EmcCalMinI V00-05-02 EmcCalPi0 V00-08-01 EmcCalRadBb V00-05-02 EmcCalRoot V00-05-04 EmcOepSequences V00-05-07 EmcPid V00-07-03 EmcReco V00-13-13 GeneratorsQA V00-03-18-01 HepRepServer V00-08-05 L1TNtuple V00-11-02 MatReco V00-04-02 Moose V01-01-02 OprExamples V00-04-02 PepBkgMon V00-03-01-01 PepCond V00-05-01 QaSimAppHists V00-03-03 SimApp V00-10-02 SimUtils V00-09-06-02 SvtCondModules V00-08-07 SvtEnv V00-08-02 SvtOep V00-04-02 SvtOepApps V00-03-02 SvtQC V00-07-05 SvtSim V00-08-03 SvtSimGeomP V00-06-01 SvtSurvey V00-03-04 SwimTracks V00-04-03 TrkCombo V00-08-04 TrkEnvModules V00-08-01 TruthTools V00-13-01 ______________________________________________________ 5. Migrating 'payload' packages and Framework modules ___________________________________________ 5.1 Modules migrated by Akbar by June 16-th These modules have been refactored based on the 20.1.0 release. The 'before' tag is the one produced and tested by Akbar. This is a working section for validating and adjusting the tags. ------------------+--------------+------------+--------------+---------------------------- package | tag before | migrated | tag after | comments/actions ------------------+--------------+------------+--------------+---------------------------- BgsApp | V00-05-09 | 2006-06-16 | V00-05-10 | - still depends on (directly) persistent: DrcEnvP, EmcEnvP ------------------+--------------+------------+--------------+---------------------------- DchSimGeom | V01-00-03 | 2006-06-16 | V01-00-04 | - added CDBIMPORT list; cleared dependencies DchSimGeomP | V00-05-02 | 2006-06-16 | V00-05-03 | - merged with V00-05-01-01 ------------------+--------------+------------+--------------+---------------------------- DrcGeom | V00-10-04 | 2006-06-19 | V00-10-05 | - nightly, 20.1.0 and 18.6.4 are using V00-10-02; there was V00-10-03 | | | | - discard Akbar's changes because the CDBIMPORT list should be added | | | | to the actual consumer package: DrcSimGeom; create tag: V00-10-05 | | | V00-10-06 | DON'T PUBLISH IT FOR THE NIGHTLY!!! | | | | - create tag V00-10-06 excluding David Aston's modifications brough | | | | into V00-10-04 & V00-10-05. That would make V00-10-06 equal to the one | | | | found in the nightlies V00-10-02, and V00-10-05 equal to V00-10-03 DrcGeomP | V00-09-03 | 2006-06-17 | - | - no changes DrcSimGeom | V00-02-00 | 2006-06-16 | V00-02-01 | - added CDBIMPORT list; cleared dependencies ------------------+--------------+------------+--------------+---------------------------- EmcLayout | V01-01-01 | 2006-06-17 | V01-01-02 | - updated History EmcLayoutP | V00-01-01 | 2006-06-17 | V00-01-02 | - updated History; corrected dependencies EmcSimGeom | V00-04-02 | 2006-06-17 | V00-04-03 | - updated History EmcSimGeomP | V00-04-03 | 2006-06-17 | V00-04-04 | - updated History; corrected dependencies ------------------+--------------+------------+--------------+---------------------------- IfrGeom | V01-01-07 | 2006-06-18 | V01-01-08 | - discard Akbar's changes because the CDBIMPORT list should be added | | | | to the actual consumer package: IfrSimGeom; create tag: V01-01-08 | | | | DON'T PUBLISH IT FOR THE NIGHTLY!!! IfrGeomP | V01-01-05 | 2006-06-18 | V01-01-06 | - extended CDBEXPORT list for all persistent classes except: | | | | IfrIronRectPlateP.ddl: IfrIronRectPlate* transient(int) const; | | | | which is used only internally in package's DDL classes to implement | | | | some P::transient() methods. We also don't provide translators for | | | | the abstract base classes: IfrAbs*.ddl. IfrSimGeom | V00-04-02 | 2006-06-18 | V00-04-03 | - updated History; extended CDBIMPORT list IfrSimGeomP | V00-03-02 | 2006-06-18 | - | - no changes ------------------+--------------+------------+--------------+---------------------------- MatEnvP | V00-00-02 | 2006-06-19 | V00-00-06 | - merged with tag V00-00-03; fixed AppUserBuildTest.cc | | | | corrected dependencies | | | | - moved in the TCL file: MatReco/BdbCondUpdateMatTo11.3.0.tcl MatReco | V00-04-03 | 2006-06-19 | V00-05-00 | - cleaned the code after refactoring; corrected dependencies | | | | moved/corrected TCL files MatCoreEnv | V00-00-00 | 2006-06-19 | V00-00-01 | - moved the module MatEnvPrint back into "neutralized" MatReco ------------------+--------------+------------+--------------+---------------------------- PackageList | V00-13-20 | 2006-06-19 | V00-13-21 | - split PepCond into PepCond and PepCondP packages ------------------+--------------+------------+--------------+---------------------------- PepCond | V00-05-02 | 2006-06-20 | V01-00-00 | - Cleaned the code after refactoring. Updated README and History files. | | | | Merged with tag V00-05-01-01. | | | | NOTE: the new tag! PepCondP | V00-00-00 | 2006-06-19 | V00-00-01 | - cleaned the package after refactoring; set up correct dependencies PepSimGeom | V00-02-01 | 2006-06-18 | - | - no changes PepSimGeomP | V00-03-01 | 2006-06-18 | V00-03-02 | - updated History; cleaned code PepBdbEnv | V00-00-02 | 2006-06-19 | V00-00-03 | - (Akbar) adjusted because of moving DDL files from PepCond/ into PepCondP/ | | | V00-00-04 | - cleaned dependencies; publish V00-00-04 for the nightly PepOprCalib | V00-04-00 | 2006-06-19 | V00-04-01 | - (Akbar) adjusted because of moving DDL files from PepCond/ into PepCondP/ | | | V00-04-02 | - cleaned dependencies; publish V00-04-02 for the nightly PepCdbRConverters | V00-00-01 | 2006-06-19 | V00-00-02 | - (Akbar) adjusted because of moving DDL files from PepCond/ into PepCondP/ | | | V00-00-03 | - cleaned dependencies; publish V00-00-03 for the nightly DchGlobalAlign | V01-04-01 | 2006-06-19 | V01-04-02 | - (Akbar) adjusted because of moving DDL files from PepCond/ into PepCondP/ OdcPlunger | V01-01-00 | 2006-06-19 | V01-01-01 | - (Akbar) adjusted because of moving DDL files from PepCond/ into PepCondP/ | | | V01-01-02 | - cleaned dependencies; publish V01-01-02 for the nightly OdcProcessor | V02-00-00 | 2006-06-19 | V02-00-01 | - (Akbar) adjusted because of moving DDL files from PepCond/ into PepCondP/ | | | V02-00-03 | - cleaned dependencies; publish V02-00-02 for the nightly ------------------+--------------+------------+--------------+---------------------------- SvtSimGeom | V00-07-01 | 2006-06-18 | V00-07-02 | - discard Akbar's changes except the one done to 'link_SvtSimGeom.mk' | | | | because they bring three changes from the HEAD of CVS. Make a new | | | | tag based on V00-07-01 + CDBIMPORT list from Akbar's 'link_SvtSimGeom.mk' SvtSimGeomP | V00-06-02 | 2006-06-19 | V00-06-03 | - merged with tag V00-06-01-01 (core modules migration) ------------------+--------------+------------+--------------+---------------------------- Merge them with the recently published (for the June 16-th nightly, see sections 3.4.3.2 and 3.4.3.4), test with Elf and BgsApp and publish for the nightly. Get rid of XxxBdbEnv packages from the nightly. Send a request to David Lange. __________________________________________________ 5.1.1 Tags published for the nightly June 20, 2006 BgsApp V00-05-10 - still depends on (directly) persistent: DrcEnvP, EmcEnvP DchSimGeom V01-00-04 - added CDBIMPORT list; cleared dependencies DchSimGeomP V00-05-03 - merged with V00-05-01-01 DrcGeomP V00-09-03 - no changes DrcSimGeom V00-02-01 - added CDBIMPORT list; cleared dependencies EmcLayout V01-01-02 - updated History EmcLayoutP V00-01-02 - updated History; corrected dependencies EmcSimGeom V00-04-03 - updated History EmcSimGeomP V00-04-04 - updated History; corrected dependencies IfrGeomP V01-01-06 - extended CDBEXPORT list for all persistent classes except: IfrIronRectPlateP.ddl: IfrIronRectPlate* transient(int) const; which is used only internally in package's DDL classes to implement some P::transient() methods. We also don't provide translators for the abstract base classes: IfrAbs*.ddl. IfrSimGeom V00-04-03 - updated History; extended CDBIMPORT list IfrSimGeomP V00-03-02 - no changes MatEnvP V00-00-06 - merged with tag V00-00-03; fixed AppUserBuildTest.cc corrected dependencies - moved in the TCL file: MatReco/BdbCondUpdateMatTo11.3.0.tcl MatReco V00-05-00 - cleaned the code after refactoring; corrected dependencies moved/corrected TCL files MatCoreEnv V00-00-01 - moved the module MatEnvPrint back into "neutralized" MatReco PackageList V00-13-21 - split PepCond into PepCond and PepCondP packages PepCond V01-00-00 - Cleaned the code after refactoring. Updated README and History files. Merged with tag V00-05-01-01. NOTE: the new tag! PepCondP V00-00-01 - cleaned the package after refactoring; set up correct dependencies PepSimGeom V00-02-01 - no changes PepSimGeomP V00-03-02 - updated History; cleaned code PepBdbEnv - (Akbar) adjusted because of moving DDL files from PepCond/ into PepCondP/ V00-00-04 - cleaned dependencies; publish V00-00-04 for the nightly PepOprCalib - (Akbar) adjusted because of moving DDL files from PepCond/ into PepCondP/ V00-04-02 - cleaned dependencies; publish V00-04-02 for the nightly PepCdbRConverters - (Akbar) adjusted because of moving DDL files from PepCond/ into PepCondP/ V00-00-03 - cleaned dependencies; publish V00-00-03 for the nightly DchGlobalAlign V01-04-02 - (Akbar) adjusted because of moving DDL files from PepCond/ into PepCondP/ OdcPlunger - (Akbar) adjusted because of moving DDL files from PepCond/ into PepCondP/ V01-01-02 - cleaned dependencies; publish V01-01-02 for the nightly OdcProcessor - (Akbar) adjusted because of moving DDL files from PepCond/ into PepCondP/ V02-00-03 - cleaned dependencies; publish V02-00-02 for the nightly SvtSimGeom V00-07-02 - discard Akbar's changes except the one done to 'link_SvtSimGeom.mk' because they bring three changes from the HEAD of CVS. Make a new tag based on V00-07-01 + CDBIMPORT list from Akbar's 'link_SvtSimGeom.mk' SvtSimGeomP V00-06-03 - merged with tag V00-06-01-01 (core modules migration) ___________________________________________________ 5.1.2 Fixes following th epreviously published tags BdbCondLoaders V00-04-03 (by Matthias Steinke) - fixed because of PepCond/PepEnvLoad.hh moved into PepCondP / ___________________________________________ 5.2 Modules migrated by Akbar by June 23-rd These modules have been refactored based on the 'nightly-20060622' release. The 'before' tag is the one produced and tested by Akbar. This is a working section for validating and adjusting the tags. ------------------+--------------+------------+--------------+---------------------------- package | tag before | migrated | tag after | comments/actions ------------------+--------------+------------+--------------+---------------------------- DchGeomP | V01-00-04 | 2006-06-23 | V01-00-05 | - cleaned the code; updated History DrcGeomP | V00-09-04 | 2006-06-23 | V00-09-05 | - cleaned the code EmcGeomP | V00-01-08 | 2006-06-23 | V00-01-09 | - cleaned the code; updated History ------------------+--------------+------------+--------------+---------------------------- __________________________________________________ 5.2.1 Tags published for the nightly June 23, 2006 MatEnvP V00-00-06 - resubmitted this tag missing in the nightlies DchGeomP V01-00-05 DrcGeomP V00-09-05 EmcGeomP V00-01-09 _________________________________ 5.3 Refactoring of TRK and BField This efforts includes: - complete refactoring of BField - complete refactoring of TrkEnv* packages. Split persistent loader code into new package TrkEnvLoadersP - moved three proxies from TrkCdbProxies back into (now) technology-neutralized package TrkEnvModules These modules have been refactored based on the 'nightly-20060710' release. The 'before' tag is the one from that release. ------------------+--------------+------------+--------------+---------------------------- package | tag before | migrated | tag after | comments/actions ------------------+--------------+------------+--------------+---------------------------- CdbBase | V01-14-02 | 2006-07-07 | V01-14-03 | - extended API of persistent-to-transient translators ------------------+--------------+------------+--------------+---------------------------- CdbTools | V01-02-02 | 2006-07-10 | V01-03-02 | - extended 'CdbManager status' (not directly related to the refactoring) | | | | - split CdbManager's commands into a separate class | | | | - added an extended manager tool: CdbManagerExt.cc ------------------+--------------+------------+--------------+---------------------------- BFieldP | V00-05-02-01 | 2006-07-06 | V00-06-01 | - moved the proxy class BfpFieldProxyDB into TrkEnvModules | | | | - refactored as CDB 'provider' ------------------+--------------+------------+--------------+---------------------------- BdbCondLoaders | V00-04-03 | 2006-07-06 | V00-04-06 | - migration of TrkCondLoadSequence from TrkEnvModules to TrkEnvLoadersP TrkEnvModules | V00-08-02 | 2006-07-11 | V00-09-02 | - refactored, split loader code into the new package TrkEnvLoadersP TrkGeomP | V00-03-02 | 2006-07-11 | V00-04-00 | - refactored as CDB 'provider' TrkEnvLoadersP | N/A | 2006-07-11 | V00-00-00 | - new host for the Trk loading stuff TrkCdbProxies | V00-00-00 | 2006-07-11 | V00-01-00 | - moved Trk* proxies back into TrkEnvModules TrkCoreEnv | V00-00-00 | 2006-07-11 | V00-00-01 | - due to moved Trk* proxies from TrkCdbProxies into TrkEnvModules PackageList | V00-13-22 | 2006-07-13 | V00-13-24 | | | | | ------------------+--------------+------------+--------------+---------------------------- Results have been tested using the following test: % gmake TrkEnvLoadersP.all % addpkg workdir % gmake workdir.setup % cd workdir % cond18boot % setenv BDBDEBUG1 cout % TrkEnvLoadersPApp ../TrkEnvModules/TrkEnvTest.tcl __________________________________________________ 5.3.1 Tags published for the nightly July 14, 2006 CdbBase V01-14-03 - extended API of persistent-to-transient translators CdbTools V01-03-02 - extended 'CdbManager status' (not directly related to the refactoring) - split CdbManager's commands into a separate class - added an extended manager tool: CdbManagerExt.cc BFieldP V00-06-01 - moved the proxy class BfpFieldProxyDB into TrkEnvModules - refactored as CDB 'provider' BdbCondLoaders V00-04-06 - migration of TrkCondLoadSequence from TrkEnvModules to TrkEnvLoadersP TrkEnvModules V00-09-02 - refactored, split loader code into the new package TrkEnvLoadersP TrkGeomP V00-04-00 - refactored as CDB 'provider' TrkEnvLoadersP V00-00-00 - new host for the Trk loading stuff TrkCdbProxies V00-01-00 - moved Trk* proxies back into TrkEnvModules TrkCoreEnv V00-00-01 - due to moved Trk* proxies from TrkCdbProxies into TrkEnvModules PackageList V00-13-24 __________________________________________________ 5.3.2 Tags published for the nightly July 17, 2006 The tags listed below is a follow up to the list published earlier. The updated tags are meant to fix bugs introduced during the refactoring: TrkEnvModules V00-09-03 Fixed the non-standard file 'link_TrkBuildMicroEnv.mk' by adding an expicit dependency onto 'BFieldImpl'. That non-standard file is included by 'BetaSequences/BetaKanga.mk', which itself is conditionally included from 'BetaSequences/BetaExecutable.mk', which itself is included by the standard 'BetaSequences/link_BetaSequences.mk', and which is required to build 'BetaApp' from the 'BetaUser' package. The refactoring bug (in between tags: V00-08-02 and V00-09-02) was to remove an exlicit dependency onto 'BFieldP' which was depending onto 'BFieldImpl'. The bug was causing a non-found symbol complain at a link time of the 'BetaApp' from the 'BetaUser' package: .. libTrkEnvModules.a(TrkBuildMicroEnv.o)(.text+0x1327): In function `TrkBuildMicroEnv::beginJob(AbsEvent*)': undefined reference to `BfpFieldProxyFixed::BfpFieldProxyFixed(Hep3Vector const&, char const*, double)' .. CdbTools V01-03-03 Fixed a compilation problem for SunOS WS6 caused by an incomplete STL implementation on that platform (std::reverse_iterator doesn't respect default template arguments). ____________________________________________________________________________________________________ 5.4 Refactoring of FiltEnv* packages, new version of 'make-linkfiles', core CDB API x-tensions, etc. This efforts includes: - complete refactoring of FiltEnv* packages. Move the environment "building" module and th etechnology-neutral proxy from FiltEnvP into FiltEnv. - make adjustments to clients code (two below shown packages affected) - make adjustments to the previously refactored "client" packages to move all definitions of the CDBIMPORT variable from 'link_.mk' files into 'link_.mk+' files; rerun Mike's script 'make-linkfiles', commit and publish updated packages. - extend CDB API to allow storing new objects through the technology-neutral CDB API (the idea of object factory providers). - provide backward compatible "fake" package CdbFwkModules for 18.x series releases requested in this thread: http://babar-hn.slac.stanford.edu:5090/HyperNews/get/pkannounce/41180/1.html These modules have been refactored based on the 'nightly-20060718' release. The 'before' tag is the one from that release. ------------------+--------------+------------+--------------+---------------------------- package | tag before | migrated | tag after | comments/actions ------------------+--------------+------------+--------------+---------------------------- FiltEnv | V01-00-00 | 2006-07-19 | V01-01-01 | - migrated to the technology-neutral model of proxies/modules | | | | - added 'link_.mk+', regenerated 'link_.mk' ------------------+--------------+------------+--------------+---------------------------- BdbTclParmProxy | V00-01-01 | 2006-07-19 | V00-01-03 | - added 'link_.mk+', regenerated 'link_.mk' DchSimGeom | V01-00-04 | 2006-07-19 | V01-00-06 | - added 'link_.mk+', regenerated 'link_.mk' DrcSimGeom | V00-02-01 | 2006-07-19 | V00-02-03 | - added 'link_.mk+', regenerated 'link_.mk' EmcLayout | V01-01-02 | 2006-07-19 | V01-01-04 | - added 'link_.mk+', regenerated 'link_.mk' EmcSimGeom | V00-04-03 | 2006-07-19 | V00-04-05 | - added 'link_.mk+', regenerated 'link_.mk' IfrSimGeom | V00-04-03 | 2006-07-19 | V00-04-05 | - added 'link_.mk+', regenerated 'link_.mk' MatReco | V00-05-00 | 2006-07-19 | V00-05-02 | - added 'link_.mk+', regenerated 'link_.mk' PepCond | V01-00-00 | 2006-07-24 | V01-00-02 | - added 'link_.mk+', regenerated 'link_.mk' PepSimGeom | V00-02-01 | 2006-07-19 | V00-02-02 | - added 'link_.mk+', regenerated 'link_.mk' SvtSimGeom | V00-07-02 | 2006-07-19 | V00-07-03 | - added 'link_.mk+', regenerated 'link_.mk' TrkEnvModules | V00-09-02 | 2006-07-19 | V00-09-04 | - added 'link_.mk+', regenerated 'link_.mk' ------------------+--------------+------------+--------------+---------------------------- FiltEnvP | V00-00-00 | 2006-07-24 | V00-01-02 | - migrated to the technology-neutral model of proxies/modules Bear | V01-05-06 | 2006-07-24 | V01-05-08 | - follow up the refactoring of FiltEnv* ------------------+--------------+------------+--------------+---------------------------- RecoBGFilter | V00-13-01-01 | 2006-07-19 | V00-13-01-02 | - follow up the refactoring of FiltEnv*; make the "branch" tag | | | | based on V00-13-01-01; make the private tag based on the HEAD: | | | | gapon-20060719 ------------------+--------------+------------+--------------+---------------------------- CdbBase | V01-14-03 | 2006-07-20 | V01-15-00 | - technology-neutral API for transient-to-persistent translation of | | | | user defined 'payload' objects. CdbTests | N/A | 2006-07-20 | V00-00-00 | - the initial version of the package CdbBdbTests | V00-07-06 | 2006-07-20 | V00-07-07 | - turned into a provider of translators/factories; needed by CdbTests PackageList | V00-13-24 | 2006-07-20 | V00-13-25 | - added new package CdbTests with technology-neutral CDB API test applications CdbFwkModules | N/A | 2006-07-20 | V00-00-00-01 | - fake version of the package for 18.x releases; tested with refactored BgsApp in 18.7.0 | | | | NOTE: Do NOT publish this tag for the nightly! ------------------+--------------+------------+--------------+---------------------------- CdbRooReadonly | V02-00-07 | 2006-05-11 | V02-00-09 | - improved version of CdbRooBootMgr | | | | - fixed translation of 'boot' file names | | | | - NOTE: The tag is pretty old, mentioning it in here in a preparation | | | | for an official release build. ------------------+--------------+------------+--------------+---------------------------- __________________________________________________ 5.4.1 Tags published for the nightly July 24, 2006 FiltEnv V01-01-01 - migrated to the technology-neutral model of proxies/modules - added 'link_.mk+', regenerated 'link_.mk' BdbTclParmProxy V00-01-03 - added 'link_.mk+', regenerated 'link_.mk' DchSimGeom V01-00-06 - added 'link_.mk+', regenerated 'link_.mk' DrcSimGeom V00-02-03 - added 'link_.mk+', regenerated 'link_.mk' EmcLayout V01-01-04 - added 'link_.mk+', regenerated 'link_.mk' EmcSimGeom V00-04-05 - added 'link_.mk+', regenerated 'link_.mk' IfrSimGeom V00-04-05 - added 'link_.mk+', regenerated 'link_.mk' MatReco V00-05-02 - added 'link_.mk+', regenerated 'link_.mk' PepCond V01-00-02 - added 'link_.mk+', regenerated 'link_.mk' PepSimGeom V00-02-02 - added 'link_.mk+', regenerated 'link_.mk' SvtSimGeom V00-07-03 - added 'link_.mk+', regenerated 'link_.mk' TrkEnvModules V00-09-04 - added 'link_.mk+', regenerated 'link_.mk' FiltEnvP V00-01-02 - migrated to the technology-neutral model of proxies/modules Bear V01-05-08 - follow up the refactoring of FiltEnv* RecoBGFilter V00-13-01-02 - follow up the refactoring of FiltEnv*; make the "branch" tag based on V00-13-01-01; make the private tag based on the HEAD: gapon-20060719 CdbBase V01-15-00 - technology-neutral API for transient-to-persistent translation of user defined 'payload' objects. CdbTests V00-00-00 - the initial version of the package CdbBdbTests V00-07-07 - turned into a provider of translators/factories; needed by CdbTests PackageList V00-13-25 - added new package CdbTests with technology-neutral CDB API test applications CdbRooReadonly V02-00-09 - improved version of CdbRooBootMgr - fixed translation of 'boot' file names - NOTE: The tag is pretty old, mentioning it in here in a preparation for an official release build. __________________________________________________ 5.4.2 Tags published for the nightly July 28, 2006 CdbBase V01-15-02 - fixed bugs in an implementation of a function template (CdbPayloadUtils namespace) ___________________________________________________ 5.4.3 Tags published for the nightly August 7, 2006 CdbRooReadonly V02-00-10 - Created 'binlist' with the only entry: CdbRooBootMgr. Needed to manage production databases. ___________________________________________________ 5.4.4 Tags published for the nightly August 8, 2006 CdbRooReadonly V02-00-11 - Updated dependency files to ensure that package's applications are always built against the right technology ("Roo"). ________________________________ 5.5 Refactoring of Fct* packages This efforts includes: - complete refactoring of Fct* packages. This also includs the first use (in users' code) of the technology-nutral API for writing into CDB. The documentation is available in here: http://www.slac.stanford.edu/~gapon/CDB/Objy2Root/Doc/Workbook/Fct.txt ------------------+--------------+------------+--------------+---------------------------- package | tag before | migrated | tag after | comments/actions ------------------+--------------+------------+--------------+---------------------------- FctCondP | N/A | 2006-08-08 | V00-00-00 | - new package for DDL classes FctCond | V01-00-00 | 2006-08-08 | V01-01-00 | - move DDL classes into the dedicated package FctCondP Fctproxy | V01-00-03 | 2006-08-09 | V02-00-00 | - refactored to the technology-neutral CDB API for reading and writing | | | | NOTE: nightly tag was V01-00-02. However the package's PC | | | | suggested to merge our modifications with the newer tag. PackageList | V00-13-25 | 2006-08-09 | V00-13-26 | - add new package FctCondP ------------------+--------------+------------+--------------+---------------------------- ___________________________________________________ 5.5.1 Tags published for the nightly August 9, 2006 CdbBdb V01-07-02 - Added two out-of-box factories to be used in the technology-neutral transient-to-persistent CDB API objects storing scheme. ____________________________________________________ 5.5.1 Tags published for the nightly August 10, 2006 FctCondP V00-00-00 - new package for DDL classes FctCond V01-01-00 - move DDL classes into the dedicated package FctCondP FctProxy V02-00-00 - refactored to the technology-neutral CDB API for reading and writing NOTE: nightly tag was V01-00-02. However the package's PC suggested to merge our modifications with the newer tag. PackageList V00-13-26 - add new package FctCondP _______________________________ 5.6 Extend tech-neutral CDB API This efforts includes: - Added a technology-neutral way of storyng lists of objects through the new facility: CdbBase/CdbLoadList. It's based on the Objectivity-specific class: CdbBdb/CdbBdbLoadList. Also added a test for the extended interface. ------------------+--------------+------------+--------------+---------------------------- package | tag before | migrated | tag after | comments/actions ------------------+--------------+------------+--------------+---------------------------- CdbBase | V01-15-02 | 2006-08-14 | V01-15-03 | - extended CDB API with CdbLoadList to store lists of objects in tech-neutral way CdbTests | V00-00-00 | 2006-08-14 | V00-00-01 | - added the test for CdbBase/CdbLoadList ------------------+--------------+------------+--------------+---------------------------- ____________________________________________________ 5.6.1 Tags published for the nightly August 15, 2006 CdbBase V01-15-03 - extended CDB API with CdbLoadList to store lists of objects in tech-neutral way CdbTests V00-00-01 - added the test for CdbBase/CdbLoadList _________________________________________________________________________________ 5.7 Refactoring of: Elf, TrkGeom* and partial refactoring for IfrMuMuEff* classes This efforts includes: - migrated Elf from CdbBdbIit to CdbApiInitModule. This package missed the bulk migration being conducted ~2 months ago. - the final refactoring of TrkGeom* packages to allow storing tracking geometry using tech-neutral CDB API. The actual work has been perfrmed by Andy Salnikov. Modifications are based on the 'nightly-20060814' release. - refactored IfrMuMuEffP to become a CDB 'provider' of bi-directional persistent-transient translators; None of the other IfrMuMuEff code has been touched. he actual work has been perfrmed by Andy Salnikov. Modifications are based on the 'nightly-20060814' release. ------------------+--------------+------------+--------------+---------------------------- package | tag before | migrated | tag after | comments/actions ------------------+--------------+------------+--------------+---------------------------- Elf | V01-08-01 | 2006-08-15 | V01-08-02 | - this migration was left over from the bulk one CdbBase | V01-15-02 | 2006-08-16 | V01-16-02 | - redesigned CdbLoadList to allow user defined functions returning arbitrary types CdbTests | V00-00-00 | 2006-08-16 | V00-00-03 | - added a test for the recently extended CdbBase/CdbLoadList ------------------+--------------+------------+--------------+---------------------------- TrkGeom | V00-04-02 | 2006-08-15 | V00-04-03 | - migrated to the tech-neutral CDB API for storing objects (Andy) TrkGeomP | V00-04-00 | 2006-08-15 | V00-04-01 | - extended as a provider of CDB API factories for storing (Andy) IfrMuMuEffP | V00-01-02 | 2006-08-15 | V00-01-03 | - refactored IfrMuMuEffP to become a CDB 'provider' of translators (Andy) ------------------+--------------+------------+--------------+---------------------------- ____________________________________________________ 5.7.1 Tags published for the nightly August 16, 2006 Elf V01-08-02 - this migration was left over from the bulk one CdbBase V01-16-02 - redesigned CdbLoadList to allow user defined functions returning arbitrary types CdbTests V00-00-03 - added a test for the recently extended CdbBase/CdbLoadList ---- Published by Andy Salnikov ------------------------------------------------------------------- TrkGeom V00-04-03 - migrated to the tech-neutral CDB API for storing objects TrkGeomP V00-04-01 - extended as a provider of CDB API factories for storing IfrMuMuEffP V00-01-03 - refactored IfrMuMuEffP to become a CDB 'provider' of translators --------------------------------------------------------------------------------------------------- _________________________________ 5.8 Final refactoring of EmcGeomP This efforts includes: - added factories to EmcGeomP to turn it into a complete CDB 'provider' of bi-directional persistent-transient translators; None of the other EmcGeom* code has been touched. The actual work has been perfrmed by Andy Salnikov. Modifications are based on the 'nightly-20060815' release. ------------------+--------------+------------+--------------+---------------------------- package | tag before | migrated | tag after | comments/actions ------------------+--------------+------------+--------------+---------------------------- EmcGeomP | V00-01-09 | 2006-08-16 | V00-01-10 | - extended as a provider of CDB API factories for storing (Andy) ------------------+--------------+------------+--------------+---------------------------- ____________________________________________________ 5.8.1 Tags published for the nightly August 18, 2006 ---- Published by Andy Salnikov ------------------------------------------------------------------- EmcGeomP V00-01-10 - extended as a provider of CDB API factories for storing --------------------------------------------------------------------------------------------------- ________________________________________________________________________ 5.9 Partial refactoring of some Svt* packages; Dependency analysis tools This efforts includes: - turned two SVT packages into CDB 'providers'. The actual work has been perfrmed by Andy Salnikov. Modifications are based on the 'nightly-20060817' release. - added three dependency analysis tools to CdbAdmin: CdbDynDepPkgScanner.pl, CdbDynDepAppScanner.pl and CdbDynDepAnalyzer.pl. ------------------+--------------+------------+--------------+---------------------------- package | tag before | migrated | tag after | comments/actions ------------------+--------------+------------+--------------+---------------------------- CdbAdmin | V02-02-00 | 2006-08-16 | V02-02-05 | - Added three dependency analysis tools: CdbDynDep*.pl ------------------+--------------+------------+--------------+---------------------------- SvtElectronicsP | V00-05-00 | 2006-08-18 | V00-05-01 | - turned into a CDB 'provider' SvtGeomP | V00-03-05 | 2006-08-18 | V00-03-06 | - turned into a CDB 'provider' ------------------+--------------+------------+--------------+---------------------------- ____________________________________________________ 5.9.1 Tags published for the nightly August 18, 2006 CdbAdmin V02-02-05 - Added three dependency analysis tools: CdbDynDep*.pl ---- Published by Andy Salnikov ------------------------------------------------------------------- SvtElectronicsP V00-05-01 - turned into a CDB 'provider' SvtGeomP V00-03-06 - turned into a CDB 'provider' --------------------------------------------------------------------------------------------------- __________________________________________________ 5.10 Final refactoring of IFR rolling calibrations This efforts includes: - finished refactoring of IfrMuMuEff* related code. The 'IfrMuMuEffP' was initially refactored by Andy Salnikov. Some other packages were mostly refactored by Akbar Mokhtarani. The rest finished by myself. See the migration plan in here: http://www.slac.stanford.edu/~gapon/CDB/Objy2Root/Doc/Workbook/IfrMuMu.txt - migrated IfrCalibEfficiencies* code. Here is a list of packages touched/tagged with this effort: ------------------+--------------+------------+--------------+---------------------------- package | tag before | migrated | tag after | comments/actions ------------------+--------------+------------+--------------+---------------------------- IfrMuMuEffP | V00-01-03 | 2006-08-16 | V00-02-00 | - Refactored as CDB provider; move one constructor into a transient class ------------------+--------------+------------+--------------+---------------------------- IfrOffCondDataP | V00-05-02 | 2006-08-21 | V00-06-01 | - Partial refactoring as a CDB 'provider' of translators for | | | | the IfrCalibEfficienciesData_001 and IfrCalibEfficiencies_001 | | | | classes (the first class is used in the c-tor of the corresponding | | | | persistent one, and the second - in its "transient()" method). | | | | | | | | - Got rid of the out-dated persistent class IfrCalibDeadNoisyP. This class | | | | corresponds to a calibration which doesn't exist in BaBar CDB. | | | | | | | | - Moved a type definition for IfrCalibVector and the transient class | | | | IfrFecT0Corr into the transient packag IfrOffCondData. ------------------+--------------+------------+--------------+---------------------------- IfrOffCondData | V00-01-01 | 2006-08-21 | V00-02-01 | - Added the new class IfrCalibEfficienciesData_001 to serve as a transient | | | | input for the cporresponidng persistent class. This class also acomodates | | | | loading from an input file. The loading code has moved in from the persistent | | | | class. | | | | | | | | - Moved in the transient class IfrFecT0Corr which used to be in a persistent | | | | package. The change made to reverse package dependencies - now a persistent | | | | package would depend on th etransient (not vce versa, as it used to be | | | | in the older code). | | | | | | | | - Got rid of the class IfrCalibDeadNoisy as a part of a cleanup procedure for | | | | this out-of-dated calibration code which is no more in use in BaBar CDB. | | | | | | | | NOTE: This package didn't have link_.mk file! | | | | NOTE: The HEAD of CVS was 'dirty' and not tagged. Tagged it using | | | | the following private tag: 'gapon-20060816' before making any modifications | | | | to the package. Then put tag 'V00-05-02' back to the head of CVS and retagged | | | | as 'gapon-20060818'. ------------------+--------------+------------+--------------+---------------------------- IfrMuMuEff | V00-04-00 | 2006-08-16 | V00-05-01 | - refactored to the technology-neutral CDB API | | | | - added a special constructor to the IfrMuMuEff class to load objects | | | | of this class from an input file. | | | | - some minor code cleanup | | | | | | | | NOTE: The package also had the tag 'V00-04-01' pending for the nightly. | | | | the new tag produced here _excludes_ changes made in between | | | | 'V00-04-00' and 'V00-04-01'. See relevant discussion with IFR | | | | folks in a private e-mail thread. ------------------+--------------+------------+--------------+---------------------------- IfrOpr | V00-06-01-01 | 2006-08-21 | V00-07-01 | - Almost (except one client of the CalDatabase) migrated the code to | | | | the technology-neutral CDB API for storing calibrations. | | | | | | | | - Got rid of the out-dated and non-existing in BaBar CDB "dead-noise" | | | | calibration and relevant code (though some minor cleanup in | | | | the IfrOprCalibModule is still needed). ------------------+--------------+------------+--------------+---------------------------- IfrEnv | V00-15-04 | 2006-08-21 | V00-16-00 | - Got rid of a part of the environment's class interface which delivers | | | | a status of the "dead-noisy" channels. This coded corresponded to | | | | the out-dated calibration not existing in BaBar CDB. ------------------+--------------+------------+--------------+---------------------------- IfrSim | V00-13-05 | 2006-08-21 | V00-13-05-01 | - cleaned up the code because of a removal of the "dead and noisy" | | | | calibration code. Worked around modifications made in between | | | | 'V00-13-05' and 'V00-13-06'. | | | | | | | | NOTE: The package also had the tag 'V00-13-06' which has never been | | | | published for the nightly. We're going to work-around this tag | | | | and make a branch tag: V00-13-05-01 ------------------+--------------+------------+--------------+---------------------------- IfrProxy | V01-02-04 | 2006-08-21 | V01-03-03 | - Partial refactoring to the technology-neutral CDB API (only for | | | | the IfrMuMuEff calibratuion). | | | | | | | | - Refactored to the tech-neutral interface for the IfrCalibEfficiencies | | | | calibration. | | | | | | | | - Got rid of the "dead noise" calibration code since it's an out-dated | | | | calibration not existing in BaBar CDB. Related modifications have been made | | | | to TCL files. | | | | | | | | - Added a technology-neutral loader class IfrLdrT which is supposed to replace | | | | the Objectivity specific class IfrLdr as soon as the corresponding persistent | | | | classes will be migated. ------------------+--------------+------------+--------------+---------------------------- ___________________________________________ 5.11 Finished refactoring of IFR conditions This efforts includes: - final refactoring effort for the below listed packages to the tech-neutral CDB API model of serving conditions for both read and update modes. NOTE: Input tags for some packages (where it's mentioned below) are based not on the nightly, but rather on the previous refactoring efforts described at the section 5.10 above. Here is a list of packages touched/tagged with this effort: ------------------+--------------+------------+--------------+---------------------------- package | tag before | migrated | tag after | comments/actions ------------------+--------------+------------+--------------+---------------------------- IfrCabling | V00-01-04 | 2006-08-22 | V00-02-00 | - Added a transient class to be used for loading persistent objects | | | | using the technology-neutral CDB API | | | | - Moved in a parser of input files from the persistent package: IfrCablingP ------------------+--------------+------------+--------------+---------------------------- IfrCablingP | V00-02-03-01 | 2006-08-22 | V00-03-00 | - Refactored as a CDB 'provider' of translators and factories | | | | - Cleaned up code (got rid of unused code of the v-tables loaders). | | | | - Moved out a parser of input files into the transent package: IfrCabling | | | | | | | | NOTE: The package also has a series of "mainstream" tags after the one | | | | the nightly's branch one started (V00-02-03). The most recent one was 'V00-02-07'. | | | | None of them has ever been published for the nightly. So we're going | | | | to work-around this tag and make the new tag 'V00-03-00' based on | | | | the branch one. ------------------+--------------+------------+--------------+---------------------------- IfrOffCondData | V00-01-01 | 2006-08-29 | V00-02-02 | - Added the translation service from IfrAlignmentP into IfrGeom/IfrAlignT. | | | | - Moved in transient classes and data files from the persistent package | | | | IfrOffCondDataP. These entities are going to be shared between various | | | | persistent 'technologies' of CDB. This was also needed to make | | | | a clean transient/persistent refactoring of the higher IFR code. | | | | - Moved file parsers from some persistent classed into their local | | | | transient counterparts (IfrFecT0Corr, IfrStrMult, IfrT0Corr). | | | | - Updated package dependencies | | | | - Cleaned up the code of some classes to make them more readable. ------------------+--------------+------------+--------------+---------------------------- IfrOffCondDataP | V00-06-01 | 2006-08-22 | V00-06-02 | - Added the translation service from IfrAlignmentP into IfrGeom/IfrAlignT. | | | | | | 2006-08-29 | V00-06-03 | - Finished refactoring the package as a CDB 'provider' of bi-directional | | | | translation services for persistent-transient transformation. | | | | - Moved shared (among various CDB 'persistencies') transient classes and | | | | data into more appropriate packages. This was also needed to implement | | | | clean transient/persistent refactoring of the higher level IFR code. | | | | The files moved into IfrProxy and IfrOffCondData packages. | | | | - Moved text file parsers from persistent (DDL) classes into their | | | | transient counterparts. This would allow to avoid code duplication | | | | for multiple CDB persistencies. | | | | - Got rid of the obsolete forward declaration header file IfrStructure.hh. | | | | The only client of this declaration was IfrOpr, which has already been | | | | refactored. | | | | - Got rid of the obsolete application file AppUserBuild.cc as its | | | | functionality is fully duplicated by IfrOffTestApp.cc (which itself | | | | moved into the IfrProxy package) | | | | - Got rid of the obsolete virtual table initializer class | | | | IfrOffCondDataPVTblInit since its role moved into the translators/factories | | | | installer function: IfrOffCondDataPTranslators. | | | | - Updated package dependencies. | | | | Minor code clean up in some classes to make them more readable. ------------------+--------------+------------+--------------+---------------------------- IfrProxy | V01-03-03 | 2006-08-23 | V01-03-05 | - refactored IfrDetectorProxy to the tech-neutral CDB API | | | | | | 2006-08-29 | V01-03-06 | - Finished refactoring to the technology-neutral CDB API. The package has | | | | no more direct or indirect dependencies onto Objectivity/C++ API. ------------------+--------------+------------+--------------+---------------------------- IfrCorrections | V00-01-00 | 2006-08-22 | V00-02-00 | - Finished refactoring due to migration to the technology-neutral CDB API. | | | | - Minor code clean up. ------------------+--------------+------------+--------------+---------------------------- IfrCorrectionsP | V00-02-01 | 2006-08-22 | V00-03-00 | - refactored IfrDetectorProxy to the tech-neutral CDB API | | | | | | | | - moved module 'IfrBetaBuildEnv' into the transient package 'IfrProxy'. This step | | | | will eliminate doepemdemcies of this persistent package onto Framework | | | | related classes. It will also eliminate couplings between Ifr* classes | | | | and packages resulting in more "orthogonal" code. ------------------+--------------+------------+--------------+---------------------------- IfrGeom | V01-01-06 | 2006-08-23 | V01-02-00 | - accomodate input file parsers moved in from the persistent package | | | | IfrGeomP. Added new and modified existing transent classes to be | | | | created by the parsers. Objects of these classes will be used in normal | | | | constructors of the corresponding persistent classes from package IfrGeomP. | | | | | | 2006-08-29 | V01-02-01 | - minor code clean up in some classes to make it more readable. | | | | | | 2006-08-30 | V01-02-02 | - Fixed a compilation warning caused by the missing 'const' qualifier | | | | at a parameter of the method IfrLayerType::name(..). The qualifier | | | | is present in subclasses. ------------------+--------------+------------+--------------+---------------------------- IfrGeomP | V01-01-06 | 2006-08-23 | V01-02-00 | - added transient-to-persistent translation for three persistent | | | | classes: IfrRpcGeometryP, IfrRpcGeometryP and IfrStripDataP_001. | | | | Moved file parsers from these (and child) classes into the transient | | | | package IfrGeom. ------------------+--------------+------------+--------------+---------------------------- IfrPidUtils | V00-03-06 | 2006-08-25 | V00-04-00 | - refactored as a CDB 'consumer' of persistent/transient translation services | | | | | | 2006-08-29 | V00-04-01 | - simplified a design of class IfrDetectorConfigurationKey | | | | - updated package dependencies | | | | - minor code clean up in some classes to make it more readable. ------------------+--------------+------------+--------------+---------------------------- IfrPidP | V00-16-05 | 2006-08-25 | V00-17-00 | - refactored as a CDB 'provider' of persistent/transient translation services | | | | - moved IfrPidP/IfrPidObjyLoader and its relevant classes into the transient | | | | package IfrSequence for further refactoring to the tech-neutral CDB API | | | | - minor code clean up to get rid of compilation warnings | | | | - updated package dependencies ------------------+--------------+------------+--------------+---------------------------- IfrSequence | V00-15-02 | 2006-08-28 | V00-16-00 | - moved in a technology-neutral version of the IfrPidP/IfrPidObjyLoader | | | | and its relevant classes. | | | | - refactored as a CDB 'cobsumer' of the persistent-to-transient translation services | | | | for transient class IfrSampleSummary. | | | | - updated package dependencies ------------------+--------------+------------+--------------+---------------------------- BetaSequences | V00-14-01 | 2006-08-22 | V00-14-02 | - modifications due to a move of module 'IfrBetaBuildEnv' into a new home | | | | | | 2006-08-28 | V00-14-03 | - follow up a move of the IfrPidObjyLoader module from 'IfrPidP' to 'IfrSequence' ------------------+--------------+------------+--------------+---------------------------- IfrSimGeom | V00-04-05 | 2006-08-28 | V00-05-00 | - finished refactoring (Akbar) IfrSimGeomP | V00-03-02 | 2006-08-28 | V00-04-00 | - finished refactoring (Akbar) ------------------+--------------+------------+--------------+---------------------------- IfrOpr | V00-06-01-01 | 2006-08-29 | V00-07-02 | - A trivial fix in an implementation file of the module IfrOprCalibModule ------------------+--------------+------------+--------------+---------------------------- CdbBase | V01-16-02 | 2006-08-28 | V01-16-04 | - added one more constructor for CdbEnvProxy which is needed for | | | | for the NTuple's proxy ------------------+--------------+------------+--------------+---------------------------- CdbTable | V00-04-00 | 2006-08-28 | V00-04-01 | - added transient proxy template for tables ------------------+--------------+------------+--------------+---------------------------- CdbBdbTable | V00-03-02 | 2006-08-29 | V00-03-03 | - added a factory and a translator classes which are suitable for use in | | | | 'provider' packages. ------------------+--------------+------------+--------------+---------------------------- _____________________________________________________ 5.11.1 Tags published for the nightly August 31, 2006 [ The tags accumulate changes made at steps 5.10 and 5.11. ] CdbBase V01-16-04 - added one more constructor for CdbEnvProxy which is needed for for the NTuple's proxy CdbTable V00-04-01 - added transient proxy template for tables CdbBdbTable V00-03-03 - added a factory and a translator classes which are suitable for use in 'provider' packages. IfrMuMuEff V00-05-01 - refactored to the technology-neutral CDB API - added a special constructor to the IfrMuMuEff class to load objects of this class from an input file. - some minor code cleanup NOTE: The package also had the tag 'V00-04-01' pending for the nightly. the new tag produced here _excludes_ changes made in between 'V00-04-00' and 'V00-04-01'. See relevant discussion with IFR folks in a private e-mail thread. IfrMuMuEffP V00-02-00 - Refactored as CDB provider; move one constructor into a transient class IfrCabling V00-02-00 - Added a transient class to be used for loading persistent objects using the technology-neutral CDB API - Moved in a parser of input files from the persistent package: IfrCablingP IfrCablingP V00-03-00 - Refactored as a CDB 'provider' of translators and factories - Cleaned up code (got rid of unused code of the v-tables loaders). - Moved out a parser of input files into the transent package: IfrCabling NOTE: The package also has a series of "mainstream" tags after the one the nightly's branch one started (V00-02-03). The most recent one was 'V00-02-07'. None of them has ever been published for the nightly. So we're going to work-around this tag and make the new tag 'V00-03-00' based on the branch one. IfrOffCondData V00-02-02 - Added the translation service from IfrAlignmentP into IfrGeom/IfrAlignT. - Moved in transient classes and data files from the persistent package IfrOffCondDataP. These entities are going to be shared between various persistent 'technologies' of CDB. This was also needed to make a clean transient/persistent refactoring of the higher IFR code. - Moved file parsers from some persistent classed into their local transient counterparts (IfrFecT0Corr, IfrStrMult, IfrT0Corr). - Got rid of the class IfrCalibDeadNoisy as a part of a cleanup procedure for this out-of-dated calibration code which is no more in use in BaBar CDB. - Updated package dependencies - Cleaned up the code of some classes to make them more readable. NOTES: - The input nightly tag of the package didn't have link_.mk file! - The HEAD of CVS was 'dirty' and not tagged. Tagged it using the following private tag: 'gapon-20060816' before making any modifications to the package. Then put tag 'V00-05-02' back to the head of CVS and retagged as 'gapon-20060818'. IfrOffCondDataP V00-06-03 - Refactored the package as a CDB 'provider' of bi-directional translation services for persistent-transient transformation. - Moved shared (among various CDB 'persistencies') transient classes and data into more appropriate packages. This was also needed to implement clean transient/persistent refactoring of the higher level IFR code. The files moved into IfrProxy and IfrOffCondData packages. - Moved text file parsers from persistent (DDL) classes into their transient counterparts. This would allow to avoid code duplication for multiple CDB persistencies. - Got rid of the obsolete forward declaration header file IfrStructure.hh. The only client of this declaration was IfrOpr, which has already been refactored. - Got rid of the obsolete application file AppUserBuild.cc as its functionality is fully duplicated by IfrOffTestApp.cc (which itself moved into the IfrProxy package) - Got rid of the obsolete virtual table initializer class IfrOffCondDataPVTblInit since its role moved into the translators/factories installer function: IfrOffCondDataPTranslators. - Updated package dependencies. - Got rid of the out-dated persistent class IfrCalibDeadNoisyP. This class corresponds to a calibration which doesn't exist in BaBar CDB. - Minor code clean up in some classes to make them more readable. IfrCorrections V00-02-00 - Finished refactoring due to migration to the technology-neutral CDB API. - Minor code clean up. IfrCorrectionsP V00-03-00 - refactored IfrDetectorProxy to the tech-neutral CDB API - moved module 'IfrBetaBuildEnv' into the transient package 'IfrProxy'. This step will eliminate doepemdemcies of this persistent package onto Framework related classes. It will also eliminate couplings between Ifr* classes and packages resulting in more "orthogonal" code. IfrGeom V01-02-02 - accomodate input file parsers moved in from the persistent package IfrGeomP. Added new and modified existing transent classes to be created by the parsers. Objects of these classes will be used in normal constructors of the corresponding persistent classes from package IfrGeomP. - Fixed a compilation warning caused by the missing 'const' qualifier at a parameter of the method IfrLayerType::name(..). The qualifier is present in subclasses. - minor code clean up in some classes to make it more readable. IfrGeomP V01-02-00 - added transient-to-persistent translation for three persistent classes: IfrRpcGeometryP, IfrRpcGeometryP and IfrStripDataP_001. Moved file parsers from these (and child) classes into the transient package IfrGeom. IfrPidUtils V00-04-01 - refactored as a CDB 'consumer' of persistent/transient translation services - simplified a design of class IfrDetectorConfigurationKey - updated package dependencies - minor code clean up in some classes to make it more readable. IfrPidP V00-17-00 - refactored as a CDB 'provider' of persistent/transient translation services - moved IfrPidP/IfrPidObjyLoader and its relevant classes into the transient package IfrSequence for further refactoring to the tech-neutral CDB API - minor code clean up to get rid of compilation warnings - updated package dependencies IfrSimGeom V00-05-00 - finished refactoring by adding factories IfrSimGeomP V00-04-00 - finished refactoring by adding factories IfrProxy V01-03-06 - Refactored to the technology-neutral CDB API. The package has no more direct or indirect dependencies onto Objectivity/C++ API. - Got rid of the "dead noise" calibration code since it's an out-dated calibration not existing in BaBar CDB. Related modifications have been made to TCL files. IfrSequence V00-16-00 - moved in a technology-neutral version of the IfrPidP/IfrPidObjyLoader and its relevant classes. - refactored as a CDB 'cobsumer' of the persistent-to-transient translation services for transient class IfrSampleSummary. - updated package dependencies BetaSequences V00-14-03 - modifications due to a move of module 'IfrBetaBuildEnv' into a new home - follow up a move of the IfrPidObjyLoader module from 'IfrPidP' to 'IfrSequence' IfrSim V00-13-05-01 - cleaned up the code because of a removal of the "dead and noisy" calibration code. Worked around modifications made in between 'V00-13-05' and 'V00-13-06'. NOTE: The package also had the tag 'V00-13-06' which has never been published for the nightly. We're going to work-around this tag and make a branch tag: V00-13-05-01 ########################################################################################################### # There is another tag produced by Andy Salnkov, which already includes the modifications mentioned # below. # # IfrOpr V00-07-02 # - Almost (except one client of the CalDatabase) migrated the code to # the technology-neutral CDB API for storing calibrations. # - Got rid of the out-dated and non-existing in BaBar CDB "dead-noise" # calibration and relevant code (though some minor cleanup in # the IfrOprCalibModule is still needed). ########################################################################################################### IfrEnv V00-16-00 - Got rid of a part of the environment's class interface which delivers a status of the "dead-noisy" channels. This coded corresponded to the out-dated calibration not existing in BaBar CDB. _________________________________________________ 5.12 Finished refactoring of *SimGeom* conditions This efforts includes: - final refactoring effort for the *SimGeom* to allow technology-neutral writing into these conditions. NOTE: Input tags for some packages (where it's mentioned below) are based not on the nightly, but rather on the previous refactoring efforts described at the sections 5.10 and 5.11 above. Here is a list of packages touched/tagged with this effort: ------------------+--------------+------------+--------------+---------------------------- package | tag before | migrated | tag after | comments/actions ------------------+--------------+------------+--------------+---------------------------- SvtSimGeom | V00-07-03 | 2006-08-31 | V00-08-00 | - Finished refactoring to the technology-neutral CDB API. | | | | - Moved in loader module, a TCL file and a loading application from the persistent | | | | package SvtSimGeomP. Refactored the new code to the technology-neutral | | | | CDB API for writing into the database. | | | | - synchronized HEAD with the nightly tag (removed traces of the old | | | | development: new class SvtSimZFanout and relevant changes in svtginert_273.dat). | | | | The removed stuff is still available via tag: gapon-2006-04-02. | | | | - updated package dependencies | | | | - legacy to standard migration | | | | - fixed compilation warnings in constructors (members initialization order) ------------------+--------------+------------+--------------+---------------------------- SvtSimGeomP | V00-06-03 | 2006-08-31 | V00-07-00 | - Finished refactoring to the technology-neutral CDB API. | | | | - Moved loader module, a TCL file and a loading application into the transient | | | | package SvtSimGeom. | | | | - updated package dependencies ------------------+--------------+------------+--------------+---------------------------- EmcSimGeom | V00-04-05 | 2006-08-31 | V00-05-00 | - Finished refactoring to the technology-neutral CDB API. | | | | - Moved in loader module, a TCL file and a loading application from the persistent | | | | package EmcSimGeomP. Refactored the new code to the technology-neutral | | | | CDB API for writing into the database. | | | | - got rid of several compilation warnings | | | | - updated package dependencies ------------------+--------------+------------+--------------+---------------------------- EmcSimGeomP | V00-04-04 | 2006-08-31 | V00-05-00 | - Finished refactoring to the technology-neutral CDB API. | | | | - Moved loader module, a TCL file and a loading application into the transient | | | | package EmcSimGeom. | | | | - removed link_EmcSimGeomP.mk+ added into the package by a misstake. | | | | - updated package dependencies ------------------+--------------+------------+--------------+---------------------------- DchSimGeom | V01-00-06 | 2006-09-05 | V01-01-00 | - Added technology-neutral loading of objects into the database | | | | - Minor code clean up ------------------+--------------+------------+--------------+---------------------------- DchSimGeomP | V00-05-03 | 2006-09-05 | V00-06-00 | - Moved object loaders into the technology-neutral package DchSimGeom | | | | - Minor code clean up | | | | - Updated package dependencies ------------------+--------------+------------+--------------+---------------------------- PepSimGeom | V00-02-02 | 2006-09-05 | V00-03-00 | - Finished refactoring to the technology-neutral CDB API | | | | - Moved in loaders of conditions | | | | - Updated package dependencies | | | | - Minor code clean up ------------------+--------------+------------+--------------+---------------------------- PepSimGeomP | V00-03-02 | 2006-09-05 | V00-04-00 | - Finished refactoring to the technology-neutral CDB API | | | | - Moved loaders of conditions an drelevant files into the transient | | | | package PepSimGeom. | | | | - Updated package dependencies | | | | - Minor code clean up ------------------+--------------+------------+--------------+---------------------------- _______________________________________________________ 5.12.1 Tags published for the nightly September 1, 2006 SvtSimGeom V00-08-00 - Finished refactoring to the technology-neutral CDB API. - Moved in loader module, a TCL file and a loading application from the persistent package SvtSimGeomP. Refactored the new code to the technology-neutral CDB API for writing into the database. - synchronized HEAD with the nightly tag (removed traces of the old development: new class SvtSimZFanout and relevant changes in svtginert_273.dat). The removed stuff is still available via tag: gapon-2006-04-02. - updated package dependencies - legacy to standard migration - fixed compilation warnings in constructors (members initialization order) SvtSimGeomP V00-07-00 - Finished refactoring to the technology-neutral CDB API. - Moved loader module, a TCL file and a loading application into the transient package SvtSimGeom. - updated package dependencies EmcSimGeom V00-05-00 - Finished refactoring to the technology-neutral CDB API. - Moved in loader module, a TCL file and a loading application from the persistent package EmcSimGeomP. Refactored the new code to the technology-neutral CDB API for writing into the database. - got rid of several compilation warnings - updated package dependencies EmcSimGeomP V00-05-00 - Finished refactoring to the technology-neutral CDB API. - Moved loader module, a TCL file and a loading application into the transient package EmcSimGeom. - removed link_EmcSimGeomP.mk+ added into the package by a misstake. - updated package dependencies _______________________________________________________ 5.12.2 Tags published for the nightly September 6, 2006 DchSimGeom V01-01-00 - Added technology-neutral loading of objects into the database - Minor code clean up DchSimGeomP V00-06-00 - Moved object loaders into the technology-neutral package DchSimGeom - Minor code clean up - Updated package dependencies PepSimGeom V00-03-00 - Finished refactoring to the technology-neutral CDB API - Moved in loaders of conditions - Updated package dependencies - Minor code clean up PepSimGeomP V00-04-00 - Finished refactoring to the technology-neutral CDB API - Moved loaders of conditions an drelevant files into the transient package PepSimGeom. - Updated package dependencies - Minor code clean up __________________________________________________________________________________ 5.13 Extended CDB API to prevent "dead-locks", added CdbTransaction::abort(), etc. This efforts includes: - extending the API to allow underlying implementations to implement the "dead-locks"-free access to conditions. - extended API to allow 'aborting' transactions. Only CdbBdbShard got an actual maning to this operation. The MySQL one still needs to be completed. - left over migration from BdbCondInitSequence to CdbApiInitSequence - partial migration by Andy Salnikov NOTE: Input tags for some packages (where it's mentioned below) are based not on the nightly, but rather on the previous refactoring efforts described at the sections 5.10 and 5.11 above. Here is a list of packages touched/tagged with this effort: ---------------------+--------------+------------+--------------+---------------------------- package | tag before | migrated | tag after | comments/actions ---------------------+--------------+------------+--------------+---------------------------- CdbBase | V01-16-04 | 2006-08-31 | V01-17-01 | - Extended the method(s) CdbCondition::findObject() with the additional (optional) | | | | parameter "exclusiveAccess" to allow locking (whatever it means in an underlying | | | | persistent technology) conditions for update when reading a first object from | | | | theem. That measure is meant to help to cope with deadlocks when multiple | | | | parallel processes are attempting to update the same condition. | | | | - Bug fix in CdbLoadListTypes.hh | | | | | | 2006-09-01 | V01-18-00 | - added CdbTransaction::abort() ---------------------+--------------+------------+--------------+---------------------------- CdbBdb | V01-07-02 | 2006-09-01 | V01-08-00 | - implemented CdbTransaction::abort() for the "Bdb" technology ---------------------+--------------+------------+--------------+---------------------------- CdbBdbWrapper | V01-03-03 | 2006-08-31 | V01-04-00 | - Follow up the changed/extended CDB API. No changes in the behavior. ---------------------+--------------+------------+--------------+---------------------------- CdbBdbShared | V01-03-04 | 2006-08-31 | V01-04-00 | - Follow up the changed/extended CDB API. Actual implementation of | | | | the "exclusive access" feature. ---------------------+--------------+------------+--------------+---------------------------- CdbBdbTests | V00-07-07 | 2006-08-31 | V00-08-00 | - Added a test for the recently extended CDB API ("exclusive access"). | | | | | | 2006-09-01 | V00-08-01 | - Added a test for transactions in CdbSimplestWriteTest | | | | - Minor code refcatoring of CdbSimplestWriteTest ---------------------+--------------+------------+--------------+---------------------------- CdbSQL | V00-00-04 | 2006-08-31 | V00-01-00 | - Follow up the changed/extended CDB API. No changes in the behavior (yet). ---------------------+--------------+------------+--------------+---------------------------- CdbRooReadonly | V02-00-11 | 2006-08-31 | V02-01-00 | - Follow up the changed/extended CDB API. No changes in the behavior. | | | | | | 2006-09-01 | V02-01-01 | - implemented CdbTransaction::abort() for the API implementation ---------------------+--------------+------------+--------------+---------------------------- CdbRooDatabase | V00-00-06 | 2006-09-01 | V00-00-07 | - implemented CdbTransaction::abort() for the API implementation ---------------------+--------------+------------+--------------+---------------------------- BetaMiniEnvSequences | V00-02-02 | 2006-09-03 | V00-02-04 | - Migration from Objectivity-specific BdbCondModules/BdbCondInitSequence to | | | | technology-neutral CdbFwkModules/CdbApiInitSequence. | | | | - Fixed the package dependency file. ---------------------+--------------+------------+--------------+---------------------------- QaSimHists | V00-04-04 | 2006-09-03 | V00-04-05 | - Migration from Objectivity-specific BdbCondModules/BdbCondInitSequence to | | | | technology-neutral CdbFwkModules/CdbApiInitSequence. ---------------------+--------------+------------+--------------+---------------------------- SimUtils | V00-09-06-02 | 2006-09-03 | V00-09-06-03 | - Migration from Objectivity-specific BdbCondModules/BdbCondInitSequence to | | | | technology-neutral CdbFwkModules/CdbApiInitSequence. | | | | | | | | NOTE: The package has unpublished (though tagged) code on CVS. | | | | Create new tag based on the one from the nightly. ---------------------+--------------+------------+--------------+---------------------------- TrgUser | V00-00-01 | 2006-09-03 | V00-00-02 | - Migration from Objectivity-specific BdbCondModules/BdbCondInitSequence to | | | | technology-neutral CdbFwkModules/CdbApiInitSequence. ---------------------+--------------+------------+--------------+---------------------------- DchGlobalAlign | V01-04-02 | 2006-09-03 | V01-05-00 | - (Andy Salnikov) DrcAlign | V00-05-05 | 2006-09-03 | V00-06-00 | - (Andy Salnikov) OrcTools | V00-07-00 | 2006-09-03 | V00-08-00 | - (Andy Salnikov) PepOprCalib | V00-04-02 | 2006-09-03 | V00-05-00 | - (Andy Salnikov) ---------------------+--------------+------------+--------------+---------------------------- SvtPidCalib | V00-01-03 | 2006-09-04 | V00-02-01 | - (Andy Salnikov) SvtPidCalibP | V00-01-01 | 2006-09-04 | V00-02-01 | - (Andy Salnikov) SvtCondModules | V00-09-00 | 2006-09-04 | V00-10-01 | - (Andy Salnikov) ---------------------+--------------+------------+--------------+---------------------------- _______________________________________________________ 5.13.1 Tags published for the nightly September 1, 2006 CdbBase V01-17-01 - Extended the method(s) CdbCondition::findObject() with the additional (optional) parameter "exclusiveAccess" to allow locking (whatever it means in an underlying persistent technology) conditions for update when reading a first object from theem. That measure is meant to help to cope with deadlocks when multiple parallel processes are attempting to update the same condition. - Bug fix in CdbLoadListTypes.hh CdbBdbWrapper V01-04-00 - Follow up the changed/extended CDB API. No changes in the behavior. CdbBdbShared V01-04-00 - Follow up the changed/extended CDB API. Actual implementation of the "exclusive access" feature. CdbBdbTests V00-08-00 - Added a test for the recently extended CDB API ("exclusive access"). CdbSQL V00-01-00 - Follow up the changed/extended CDB API. No changes in the behavior (yet). CdbRooReadonly V02-01-00 - Follow up the changed/extended CDB API. No changes in the behavior. _______________________________________________________ 5.13.2 Tags published for the nightly September 2, 2006 CdbBase V01-18-00 - added CdbTransaction::abort() CdbBdb V01-08-00 - implemented CdbTransaction::abort() for the "Bdb" technology CdbBdbTests V00-08-01 - Added a test for transactions in CdbSimplestWriteTest - A bug fix in CdbSimplestWriteTest - Minor code refcatoring of CdbSimplestWriteTest CdbRooReadonly V02-01-01 - implemented CdbTransaction::abort() for the API implementation CdbRooDatabase V00-00-07 - implemented CdbTransaction::abort() for the API implementation _______________________________________________________ 5.13.3 Tags published for the nightly September 3, 2006 BetaMiniEnvSequences V00-02-04 - Migration from Objectivity-specific BdbCondModules/BdbCondInitSequence to technology-neutral CdbFwkModules/CdbApiInitSequence. - Fixed the package dependency file. QaSimHists V00-04-05 - Migration from Objectivity-specific BdbCondModules/BdbCondInitSequence to technology-neutral CdbFwkModules/CdbApiInitSequence. SimUtils V00-09-06-03 - Migration from Objectivity-specific BdbCondModules/BdbCondInitSequence to technology-neutral CdbFwkModules/CdbApiInitSequence. NOTE: The package has unpublished (though tagged) code on CVS. Create new tag based on the one from the nightly. TrgUser V00-00-02 - Migration from Objectivity-specific BdbCondModules/BdbCondInitSequence to technology-neutral CdbFwkModules/CdbApiInitSequence. ---- Published by Andy Salnikov ------------------------------------------------------------------- DchGlobalAlign V01-05-00 - (Andy Salnikov) DrcAlign V00-06-00 - (Andy Salnikov) OrcTools V00-08-00 - (Andy Salnikov) PepOprCalib V00-05-00 - (Andy Salnikov) _______________________________________________________ 5.13.4 Tags published for the nightly September 5, 2006 ---- Published by Andy Salnikov ------------------------------------------------------------------- SvtPidCalib V00-02-01 - (Andy Salnikov) SvtPidCalibP V00-02-01 - (Andy Salnikov) SvtCondModules V00-10-01 - (Andy Salnikov) __________________________________________________________________________________ 5.14 Finishing refactoring for MatEnv* and PepCond* packages; factories for CdbRoo This efforts includes: - adding factories to allow writing into the database through the technology-neutral CDB API. - added two specialized factories compatible with the technology-neutral model of storing objects - Migrated MatCdbR to the technology-neutral model of storing objects. The new code uses the aboce added factories. Here is a list of packages touched/tagged with this effort: ---------------------+--------------+------------+--------------+---------------------------- package | tag before | migrated | tag after | comments/actions ---------------------+--------------+------------+--------------+---------------------------- MatReco | V00-05-02 | 2006-09-06 | V00-06-00 | - Finished refactoring to the technology-neutral CDB API | | | | - Moved in loaders of conditions from MatEnvP and refactored them | | | | - Updated package dependencies | | | | - Minor code clean up ---------------------+--------------+------------+--------------+---------------------------- MatEnvP | V00-00-06 | 2006-09-06 | V00-01-00 | - Finished refactoring to the technology-neutral CDB API | | | | - Moved loaders of conditions into tech-neutral package MatReco | | | | - Updated package dependencies | | | | - Minor code clean up ---------------------+--------------+------------+--------------+---------------------------- PepCond | V01-00-02 | 2006-09-06 | V01-01-00 | - Migrated code using old string stream class to use the standard one. | | | | - Finished refactoring to the technology-neutral CDB API | | | | - Moved in loaders of conditions from PepCondP and refactored them | | | | - Updated package dependencies | | | | - Minor code clean up ---------------------+--------------+------------+--------------+---------------------------- PepCondP | V00-00-01 | 2006-09-06 | V00-01-00 | - Finished refactoring to the technology-neutral CDB API | | | | - Moved loaders of conditions into tech-neutral package PepCond | | | | - Updated package dependencies | | | | - Minor code clean up ---------------------+--------------+------------+--------------+---------------------------- BdbCondLoaders | V00-04-06 | 2006-09-06 | V00-04-07 | - Migration of loaders from MatEnvP to MatReco. | | | | - Migration of loaders from PepCondP to PepCond ---------------------+--------------+------------+--------------+---------------------------- CdbRoo | V00-02-00 | 2006-09-06 | V00-02-01 | - Added two specialized factories compatible with the technology-neutral | | | | model for storing objects in the database. ---------------------+--------------+------------+--------------+---------------------------- MatCdbR | V00-00-01 | 2006-09-06 | V00-01-00 | - Added support for reading and storing objects through | | | | the technology-neutral CDB API. ---------------------+--------------+------------+--------------+---------------------------- _______________________________________________________ 5.14.1 Tags published for the nightly September 6, 2006 MatReco V00-06-00 - Finished refactoring to the technology-neutral CDB API - Moved in loaders of conditions from MatEnvP and refactored them - Updated package dependencies - Minor code clean up MatEnvP V00-01-00 - Finished refactoring to the technology-neutral CDB API - Moved loaders of conditions into tech-neutral package MatReco - Updated package dependencies - Minor code clean up PepCond V01-01-00 - Migrated code using old string stream class to use the standard one. - Finished refactoring to the technology-neutral CDB API - Moved in loaders of conditions from PepCondP and refactored them - Updated package dependencies - Minor code clean up PepCondP V00-01-00 - Finished refactoring to the technology-neutral CDB API - Moved loaders of conditions into tech-neutral package PepCond - Updated package dependencies - Minor code clean up BdbCondLoaders V00-04-07 - Migration of loaders from MatEnvP to MatReco - Migration of loaders from PepCondP to PepCond CdbRoo V00-02-01 - Added two specialized factories compatible with the technology-neutral model for storing objects in the database. MatCdbR V00-01-00 - Added support for reading and storing objects through the technology-neutral CDB API. ______________________________________________________________________________________________________ 5.15 Redesigned CdbCPtr; tech-neutral CDB API support for CdbNTuple (Roo); refactor IfrOffCondDataCdbR This efforts includes: - The "smart" pointer class CdbCPtr redesigned to allow type conversion between smart pointers of classes in the same hierarchy in the same way it happens with regular C/C++ pointers. - Extended a collections of translators and factories in a domain of CdbRooTable to comply with the technology-neutral CDB API model. - Got rid of the obsolte CdbHistory* stuff. That feature has never materialized in any actual CDB API implementations. - Finished refactoring IfrOffCondDataCdbR by adding factorie(s) and translator(s) for NTuple based persistent classes(s). Here is a list of packages touched/tagged with this effort: ---------------------+--------------+------------+--------------+---------------------------- package | tag before | migrated | tag after | comments/actions ---------------------+--------------+------------+--------------+---------------------------- CdbBase | V01-18-00 | 2006-09-13 | V01-19-00 | - The public contract of the "smart" pointer class CdbCPtr extended to allow | | | | type conversion between smart pointers of classes in the same hierarchy | | | | in the same way it happens with regular C/C++ pointers. The actual | | | | implementation of the pointer has changed as well to move more code | | | | into a non-template base class, thus reducing the amount of code to be | | | | instantiated in a scope of the class template. | | | | - Got rid of the obsolte CdbHistory* stuff. That feature has never | | | | materialized in any actual CDB API implementations. | | 2006-09-15 | V01-20-00 | - Fixed a few bugs in the new implementation of the "smart" pointer. Finished | | | | its implmentation. Modifications in the unit test for the pointer class. ---------------------+--------------+------------+--------------+---------------------------- CdbTable | V00-04-01 | 2006-09-13 | V00-04-02 | - Follow up modifications in a design of the smart pointer class ---------------------+--------------+------------+--------------+---------------------------- CdbRooTable | V00-00-01 | 2006-09-13 | V00-01-01 | - Extended a collections of translators and factories to comply | | | | with the technology-neutral CDB API model. ---------------------+--------------+------------+--------------+---------------------------- CdbRooReadonly | V02-01-01 | 2006-09-13 | V02-02-01 | - Follow up modifications in a design of the smart pointer class | | | | - Follow up the removal of the obsolte CdbHistory* stuff. ---------------------+--------------+------------+--------------+---------------------------- CdbSQL | V00-01-00 | 2006-09-13 | V00-02-00 | - Follow up modifications in a design of the smart pointer class | | | | - Follow up the removal of the obsolte CdbHistory* stuff. ---------------------+--------------+------------+--------------+---------------------------- CdbBdbWrapper | V01-04-00 | 2006-09-13 | V01-05-00 | - Follow up modifications in a design of the smart pointer class | | | | - Follow up the removal of the obsolte CdbHistory* stuff. ---------------------+--------------+------------+--------------+---------------------------- CdbBdbShared | V01-04-00 | 2006-09-13 | V01-05-00 | - Follow up modifications in a design of the smart pointer class | | | | - Follow up the removal of the obsolte CdbHistory* stuff. ---------------------+--------------+------------+--------------+---------------------------- CdbBdbTests | V00-08-01 | 2006-09-13 | V00-08-02 | - Follow up the removal of the obsolte CdbHistory* stuff. ---------------------+--------------+------------+--------------+---------------------------- IfrOffCondDataCdbR | V00-00-01 | 2006-09-13 | V00-00-02 | - Finished refactoring by adding factorie(s) and translator(s) | | | | for NTuple based persistent classes(s). ---------------------+--------------+------------+--------------+---------------------------- ________________________________________________________ 5.15.1 Tags published for the nightly September 13, 2006 CdbBase V01-19-00 - The public contract of the "smart" pointer class CdbCPtr extended to allow type conversion between smart pointers of classes in the same hierarchy in the same way it happens with regular C/C++ pointers. The actual implementation of the pointer has changed as well to move more code into a non-template base class, thus reducing the amount of code to be instantiated in a scope of the class template. - Got rid of the obsolte CdbHistory* stuff. That feature has never materialized in any actual CDB API implementations. CdbTable V00-04-02 - Follow up modifications in a design of the smart pointer class CdbRooTable V00-01-01 - Extended a collections of translators and factories to comply with the technology-neutral CDB API model. CdbRooReadonly V02-02-01 - Follow up modifications in a design of the smart pointer class - Follow up the removal of the obsolte CdbHistory* stuff. CdbSQL V00-02-00 - Follow up modifications in a design of the smart pointer class - Follow up the removal of the obsolte CdbHistory* stuff. CdbBdbWrapper V01-05-00 - Follow up modifications in a design of the smart pointer class - Follow up the removal of the obsolte CdbHistory* stuff. CdbBdbShared V01-05-00 - Follow up modifications in a design of the smart pointer class - Follow up the removal of the obsolte CdbHistory* stuff. CdbBdbTests V00-08-02 - Follow up the removal of the obsolte CdbHistory* stuff. IfrOffCondDataCdbR V00-00-02 - Finished refactoring by adding factorie(s) and translator(s) for NTuple based persistent classes(s). ________________________________________________________ 5.15.2 Tags published for the nightly September 15, 2006 CdbBase V01-20-00 - Fixed a few bugs in the new implementation of the "smart" pointer. Finished its implmentation. Modifications in the unit test for the pointer class. ________________________________ 5.16 Rrefactoring EffTable* code This effort includes: - complete refactoring of EffTable* packages. Here is a list of packages touched/tagged with this effort: ---------------------+--------------+------------+----------------+---------------------------- package | tag before | migrated | tag after | comments/actions ---------------------+--------------+------------+----------------+---------------------------- EffTable | V00-03-05 | 2006-09-19 | V00-04-00 | - refactored to the technology-neutral CDB API for fetching and storing user tables | | | | - renamed the loader application from 'EffTableBdbNtuple' into 'EffTableCdbNtuple' | | | | - fixed compilation warnings due to using old String Stream headers EffTableP | n/a | 2006-09-19 | V00-00-00 | - new package with Objectivity specific translators and factories for EffTable EffTableCdbR | n/a | 2006-09-19 | V00-00-00 | - new package with ROOT specific translators and factories for EffTable ---------------------+--------------+------------+----------------+---------------------------- PackageList | V00-13-32 | 2006-09-18 | V00-13-33 | - added two new packages: EffTableP and EffTableCdbR ---------------------+--------------+------------+----------------+---------------------------- ________________________________________________________ 5.16.1 Tags published for the nightly September 19, 2006 EffTable V00-04-00 - refactored to the technology-neutral CDB API for fetching and storing user tables - renamed the loader application from 'EffTableBdbNtuple' into 'EffTableCdbNtuple' - fixed compilation warnings due to using old String Stream headers EffTableP V00-00-00 - new package with Objectivity specific translators and factories for EffTable EffTableCdbR V00-00-00 - new package with ROOT specific translators and factories for EffTable PackageList V00-13-33 ** DO NOT PUBLISH THIS TAG BECAUSE THERE IS THE ONE WITH THE HIGHER VERSION ** __________________________________________________________________________________________________ 5.17 Finishing refactoring loaders remaining in persistent packages; got rid of XxxBdbEnv packages This effort includes: - finishing refactoring loader applications (Framework modules and stand alone code too, etc.) in persistent packages by migrating that code to the technology-neutral API and moving into more approproiate packages. The work was mostly done by Akbar M. - askd Dave Lange to remove the obsolete packages from the nightly. They were added when performing an initial round of partial refactoring of the Bgs* code to the technology-neutral CDB AP for fetching ojects from the database. This happened a few months ago. Later a more sophisticated scheme for automated generation of 'dynamic' dependencies completelly replaced the same functionality. Here is a list of packages touched/tagged with this effort: ---------------------+--------------+------------+--------------+---------------------------- package | tag before | migrated | tag after | comments/actions ---------------------+--------------+------------+--------------+---------------------------- TrkGeomP | V00-04-01 | 2006-09-18 | V00-04-02 | - completed migration to support the technology-neutral CDB API for storing objects TrkEnvLoadersP | V00-00-00 | 2006-09-18 | V00-01-00 | - completed migration to use the technology-neutral CDB API for storing objects | | 2006-09-20 | V00-01-01 | - fixed a compilation problem on SunOS58 due to FwkString DrcGeomP | V00-10-00 | 2006-09-18 | V00-11-01 | - moved loader applications an drelated data files into the technology-neutral | | | | package: DrcGeomLoaders. DrcGeomLoaders | n/a | 2006-09-18 | V00-00-00 | - accomodate the loaders moved in from DrcGeomP DrcEnv | V01-00-00 | 2006-09-18 | V01-00-01 | - modifications in TCL files due to a move of data files from DrcGeomP into DrcGeomLoaders ---------------------+--------------+------------+--------------+---------------------------- PackageList | V00-13-33 | 2006-09-18 | V00-13-34 | - removed obsolete packages: DchBdbEnv, DrcBdbEnv, EmcBdbEnv, IfrBdbEnv, | | | | PepBdbEnv and SvtBdbEnv. ---------------------+--------------+------------+--------------+---------------------------- ________________________________________________________ 5.17.1 Tags published for the nightly September 18, 2006 TrkGeomP V00-04-02 - completed migration to support the technology-neutral CDB API for storing objects TrkEnvLoadersP V00-01-00 - completed migration to use the technology-neutral CDB API for storing objects DrcGeomP V00-11-01 - moved loader applications an drelated data files into the technology-neutral package: DrcGeomLoaders. DrcGeomLoaders V00-00-00 - accomodate the loaders moved in from DrcGeomP DrcEnv V01-00-01 - modifications in TCL files due to a move of data files from DrcGeomP into DrcGeomLoaders ________________________________________________________ 5.17.2 Tags published for the nightly September 19, 2006 PackageList V00-13-34 - removed obsolete packages: DchBdbEnv, DrcBdbEnv, EmcBdbEnv, IfrBdbEnv, PepBdbEnv and SvtBdbEnv. - (from the previous tag) added two new packages: EffTableP and EffTableCdbR ________________________________________________________ 5.17.3 Tags published for the nightly September 20, 2006 TrkEnvLoadersP V00-01-01 - fixed a compilation problem on SunOS58 due to FwkString _________________________________________________________________________________________ 5.18 Cleaning up cient code from using CdbBdbTransaction and Cdb::forceLoad() This effort includes: - cleaning up the client code from any traces of CdbBdbTransaction or Cdb::forceLoad(). The core CDB packages ar still allowed to use these methods where it seems appropriate. ---------------------+--------------+------------+--------------+---------------------------- package | tag before | migrated | tag after | comments/actions ---------------------+--------------+------------+--------------+---------------------------- DchCondModules | V01-07-00 | 2006-09-19 | V01-07-01 | - removed all uses of CdbBdbWrapper::forceLoad( ) from the commented code ---------------------+--------------+------------+--------------+---------------------------- DhpEndRunApps | V00-05-00 | 2006-09-19 | V00-05-02 | - removed all uses of CdbBdbWrapper::forceLoad( ) from the commented code | | | | - migrated to CdbBase/CdbTransaction | | | | - added bin_.mk+ file with an explicitly set CDBTECH = "Bdb" | | | | to ensure that applications from the package are alwas built | | | | against Objy-based CDB API implementations. | | | | - updated package dependencies ---------------------+--------------+------------+--------------+---------------------------- BdbCondModules | V01-01-00 | 2006-09-19 | V01-01-01 | - (Akbar) migrated to CdbBase/CdbTransaction BdbTclParmP | V00-07-00 | 2006-09-19 | V00-07-01 | - (Akbar) migrated to CdbBase/CdbTransaction CalDatabase | V00-09-00 | 2006-09-19 | V00-09-01 | - (Akbar) migrated to CdbBase/CdbTransaction DchCondP | V00-02-00 | 2006-09-19 | V00-02-01 | - (Akbar) migrated to CdbBase/CdbTransaction EmcCalibTooP | V00-01-00 | 2006-09-19 | V00-01-01 | - (Akbar) migrated to CdbBase/CdbTransaction ---------------------+--------------+------------+--------------+---------------------------- OdcProcessor | V02-00-03 | 2006-09-19 | V02-00-04 | - (Akbar) migrated to CdbBase/CdbTransaction | | | | - removed all uses of CdbBdbWrapper::forceLoad( ) from the commented code | | | | - added bin_.mk+ file with an explicitly set CDBTECH = "Bdb" | | | | to ensure that applications from the package are alwas built | | | | against Objy-based CDB API implementations. | | | | - updated package dependencies ---------------------+--------------+------------+--------------+---------------------------- OrcRunData | V00-04-00 | 2006-09-19 | V00-04-01 | - (Akbar) migrated to CdbBase/CdbTransaction ---------------------+--------------+------------+--------------+---------------------------- OrcRunDataP | V00-08-00 | 2006-09-19 | V00-08-01 | - (Akbar) migrated to CdbBase/CdbTransaction | | | | - removed all uses of CdbBdbWrapper::forceLoad( ) from the commented code | | | | - added bin_.mk+ file with an explicitly set CDBTECH = "Bdb" | | | | to ensure that applications from the package are alwas built | | | | against Objy-based CDB API implementations. | | | | - updated package dependencies ---------------------+--------------+------------+--------------+---------------------------- ________________________________________________________ 5.18.1 Tags published for the nightly September 21, 2006 DchCondModules V01-07-01 - removed all uses of CdbBdbWrapper::forceLoad( ) from the commented code DhpEndRunApps V00-05-02 - removed all uses of CdbBdbWrapper::forceLoad( ) from the commented code - migrated to CdbBase/CdbTransaction - added bin_.mk+ file with an explicitly set CDBTECH = "Bdb" to ensure that applications from the package are alwas built against Objy-based CDB API implementations. - updated package dependencies BdbCondModules V01-01-01 - (Akbar) migrated to CdbBase/CdbTransaction BdbTclParmP V00-07-01 - (Akbar) migrated to CdbBase/CdbTransaction CalDatabase V00-09-01 - (Akbar) migrated to CdbBase/CdbTransaction DchCondP V00-02-01 - (Akbar) migrated to CdbBase/CdbTransaction EmcCalibTooP V00-01-01 - (Akbar) migrated to CdbBase/CdbTransaction OdcProcessor V02-00-04 - (Akbar) migrated to CdbBase/CdbTransaction - removed all uses of CdbBdbWrapper::forceLoad( ) from the commented code - added bin_.mk+ file with an explicitly set CDBTECH = "Bdb" to ensure that applications from the package are alwas built against Objy-based CDB API implementations. - updated package dependencies OrcRunData V00-04-01 - (Akbar) migrated to CdbBase/CdbTransaction OrcRunDataP V00-08-01 - (Akbar) migrated to CdbBase/CdbTransaction - removed all uses of CdbBdbWrapper::forceLoad( ) from the commented code - added bin_.mk+ file with an explicitly set CDBTECH = "Bdb" to ensure that applications from the package are alwas built against Objy-based CDB API implementations. - updated package dependencies ___________________________________________ 5.19 refactoring of loaders in BField* code This effort includes: - refactoring of loaders originally located in the BFieldP package and moving their technology-neutral version into package BFieldImpl. Move the relevant data files too. -----------------+--------------+------------+--------------+---------------------------- package | tag before | migrated | tag after | comments/actions -----------------+--------------+------------+--------------+---------------------------- BField | V00-05-01 | 2006-09-22 | V00-05-02 | - added an accessor method to the transient dictionary -----------------+--------------+------------+--------------+---------------------------- BFieldImpl | V00-03-02-01 | 2006-09-22 | V00-04-00 | - Finished migrating to the as a provider of persistent/transient translation | | | | services for a client code dealing with CDB via the technology-neutral CDB API. | | | | - Moved in loaders and tests from BFieldP. | | | | - Updated package dependencies. | | | | | | | | ATTENTION: The package has unpublished changes on the HEAD OF CVS | | | | tagged with the private tag 'nb30Jan2006'. Any attempts | | | | to get in touch with the package's PC have failed. | | | | Therefore a decision has been made to synchronize the HEAD of CVS | | | | with the nightly tag 'V00-03-02-01' and make a new (refactored) | | | | tag based on the synchronized HEAD. The synchronized HEAD | | | | tagged with the private tag 'gapon-20060919'. -----------------+--------------+------------+--------------+---------------------------- BFieldP | V00-06-01 | 2006-09-22 | V00-07-00 | - Finished refactoring the package to the technology-neutral API for reading/storing from/at CDB. | | | | - Moved loaders and relevant data files into the technology-neutral | | | | package BFieldImpl. | | | | - Updated package dependencies. | | | | | | | | ATTENTION: The package has unpublished changes on the HEAD OF CVS | | | | tagged with the private tag 'gapon-20060706'. | | | | Therefore a decision has been made to synchronize the HEAD of CVS | | | | with the nightly tag 'V00-06-01' and make a new (refactored) | | | | tag based on the synchronized HEAD. The synchronized HEAD | | | | tagged with the private tag 'gapon-20060919-01'. -----------------+--------------+------------+--------------+---------------------------- BdbCondLoaders | V00-04-07 | 2006-09-22 | V00-04-08 | - changes due to a move of the loader module and a seqeunce from BFieldP into BFieldImpl | | | | - Updated package dependencies. -----------------+--------------+------------+--------------+---------------------------- ________________________________________________________ 5.19.1 Tags published for the nightly September 23, 2006 NOTE: The tags may actuall show up in the very first nightly open after release 21.0.0 is built. Keep an eye on them! _______________________________________________________________________ BField V00-05-02 - added an accessor method to the transient dictionary BFieldImpl V00-04-00 - Finished migrating to the as a provider of persistent/transient translation services for a client code dealing with CDB via the technology-neutral CDB API. - Moved in loaders and tests from BFieldP. - Updated package dependencies. BFieldP V00-07-00 - Finished refactoring the package to the technology-neutral API for reading/storing from/at CDB. - Moved loaders and relevant data files into the technology-neutral package BFieldImpl. - Updated package dependencies. BdbCondLoaders V00-04-08 - changes due to a move of the loader module and a seqeunce from BFieldP into BFieldImpl - Updated package dependencies. ____________________________________________________ 5.20 Refactoring of Map* conditions and related code This effort includes: - complete refactoring of Map* packages. Here is a list of packages touched/tagged with this effort: ---------------------+--------------+------------+----------------+---------------------------- package | tag before | migrated | tag after | comments/actions ---------------------+--------------+------------+----------------+---------------------------- CdbBase | V01-20-00 | 2006-09-26 | V01-21-00 | - Extended the API with 'proxies' in order to allow handling non-standard | | | | operations in the technology-aware code on behalf of the technology-neutral one. ---------------------+--------------+------------+----------------+---------------------------- MapDetectorP | V00-04-00 | 2006-10-23 | V00-05-00 | - migrated the package to the new CDB API scheme. The new version of the | | | | package would instantiate bidirectional persistent-transient translation | | | | service for relevant classes which would allow to write the rest of | | | | the client code completelly in terms of transient classes and transient | | | | CDB API. | | | | - moved in 'converter' classes from the MapConverter package. | | | | Renamed them by adding 'P' in their names: MapConverter -> MapPConverter, | | | | MapDetectorConverter -> MapDetectorPConverter, etc. Made MapPConverter | | | | to derive from the abstract MapConverter/MapAbsConverter, and made | | | | MapSlotPConverter to derive from MapConverter/MapAbsSlotConverter. | | 2006-11-06 | V00-05-01 | - includes Al Eisner's comments to my modifications ---------------------+--------------+------------+----------------+---------------------------- MapConverter | V00-04-00 | 2006-10-23 | V00-05-00 | - added abstract base classes/interfaces for converters: | | | | MapAbsConverter, MapAbsSlotConverter. Moved actual converters (all of them) | | | | into Objectivity-specific package MapDetectorP. | | | | - renamed proxy class MapPlatformBrowserBdbProxy to MapPlatformBrowserCdbProxy | | | | - migrated the package's contents (proxies and applications) to | | | | the technology-neutral CDB API | | 2006-11-06 | V00-05-01 | - includes Al Eisner's comments to my modifications ---------------------+--------------+------------+----------------+---------------------------- DrcOepCalib | V00-07-00 | 2006-09-20 | gapon-20060918 | - got rid of a spurious dependency on the following class: | | | | MapConverter/MapDetectorConverter; the refactoring is still not over. | | 2006-10-23 | V00-07-02 | - got rid of a direct v-tables initialization for Map* persistent classes. | | | | It's not needed in the new CDB API initialization scheme. ---------------------+--------------+------------+----------------+---------------------------- SvtCondModules | V00-10-02 | 2006-10-23 | V00-11-00 | - migrated because of renaming 'MapConverter/MapPlatformBrowserBdbProxy' | | | | into 'MapConverter/MapPlatformBrowserCdbProxy'. | | | | - refactored to the technology-neutral interface for storing | | | | objects using: 'MapConverter/MapAbsConverter'. ---------------------+--------------+------------+----------------+---------------------------- L1DctEnv | V00-06-06 | 2006-10-23 | V00-07-00 | - refactored to the technology-neutral interface for storing | | | | objects using: 'MapConverter/MapConverter' ---------------------+--------------+------------+----------------+---------------------------- PackageList | V00-13-34 | 2006-10-23 | gapon-20061027 | - dependency inversion of the packages MapConverter and MapDetectorP because | | | | of refactoring the later to the technology-neutral CDB API | | | | - removal of obsolete packages: BdbBitMap, BdbGridFile and BdbIndexing (not related | | | | to the CDB API migration, just to to clan up the package list). | | 2006-11-06 | V00-15-00 | - official tag for the nightly ---------------------+--------------+------------+----------------+---------------------------- ________________________________________________________ 5.20.1 Tags published for the nightly September 27, 2006 CdbBase V01-21-00 - Extended the API with 'proxies' in order to allow handling non-standard operations in the technology-aware code on behalf of the technology-neutral one. ______________________________________________________ 5.20.2 Tags published for the nightly November 6, 2006 MapDetectorP V00-05-01 - migrated the package to the new CDB API scheme. The new version of the package would instantiate bidirectional persistent-transient translation service for relevant classes which would allow to write the rest of the client code completelly in terms of transient classes and transient CDB API. - moved in 'converter' classes from the MapConverter package. Renamed them by adding 'P' in their names: MapConverter -> MapPConverter, MapDetectorConverter -> MapDetectorPConverter, etc. Made MapPConverter to derive from the abstract MapConverter/MapAbsConverter, and made MapSlotPConverter to derive from MapConverter/MapAbsSlotConverter. MapConverter V00-05-01 - added abstract base classes/interfaces for converters: MapAbsConverter, MapAbsSlotConverter. Moved actual converters (all of them) into Objectivity-specific package MapDetectorP. - renamed proxy class MapPlatformBrowserBdbProxy to MapPlatformBrowserCdbProxy - migrated the package's contents (proxies and applications) to the technology-neutral CDB API DrcOepCalib V00-07-02 - got rid of a spurious dependency on the following class: MapConverter/MapDetectorConverter; the refactoring is still not over. - got rid of a direct v-tables initialization for Map* persistent classes. It's not needed in the new CDB API initialization scheme. SvtCondModules V00-11-00 - migrated because of renaming 'MapConverter/MapPlatformBrowserBdbProxy' into 'MapConverter/MapPlatformBrowserCdbProxy'. - refactored to the technology-neutral interface for storing objects using: 'MapConverter/MapAbsConverter'. L1DctEnv V00-07-00 - refactored to the technology-neutral interface for storing objects using: 'MapConverter/MapConverter' PackageList V00-15-00 - dependency inversion of the packages MapConverter and MapDetectorP because of refactoring the later to the technology-neutral CDB API - removal of obsolete packages: BdbBitMap, BdbGridFile and BdbIndexing (not related to the CDB API migration, just to to clan up the package list). _______________________________________________ 5.21 Finished refactoring of Odc* and Orc* code This effort includes: - complete refactoring of Odc* and Orc* code by refactoring the loaders to the technology-neutral interfaqces. Here is a list of packages touched/tagged with this effort: ---------------------+--------------+------------+----------------+---------------------------- package | tag before | migrated | tag after | comments/actions ---------------------+--------------+------------+----------------+---------------------------- OdcProcessor | V02-00-04 | 2006-09-28 | | - (Akbar is working on the package) OrcRunDataP | V00-08-01 | 2006-09-28 | | - (Akbar is working on the package) ---------------------+--------------+------------+----------------+---------------------------- ________________________________________________________ 5.21.1 Tags published for the nightly September 28, 2006 ______________________________________________________________________________ NOTE: Andy Salnikov has been taken over this refactoring/migration. He's going to publish the tags himself. _____________________________________________ 5.22 Finished refactoring of BdbTclParm* code This effort includes: - refactor (to the technology-neutral interfaqce) and move the only loader application of the facility. Here is a list of packages touched/tagged with this effort: ---------------------+--------------+------------+----------------+---------------------------- package | tag before | migrated | tag after | comments/actions ---------------------+--------------+------------+----------------+---------------------------- BdbTclParmP | V00-07-02 | 2007-01-02 | V00-07-03 | - refactored (to the technology-neutral CDB API) and moved the writer | | | | tool BdbTclWriteTool into the technology-neutral package BdbTclParm. | | | | The change has been made to avoid code duplication accross multiple | | | | persistent technologies. Updated package dependencies. ---------------------+--------------+------------+----------------+---------------------------- BdbTclParm | V00-07-00 | 2007-01-02 | V00-07-01 | - moved in a technology-neutral version of the loader tool BdbTclWriteTool. | | | | The change has been made to avoid code duplication accross multiple | | | | persistent technologies. Updated package dependencies. ---------------------+--------------+------------+----------------+---------------------------- _____________________________________________________ 5.22.1 Tags published for the nightly January 2, 2007 BdbTclParmP V00-07-03 - refactored (to the technology-neutral CDB API) and moved the writer tool BdbTclWriteTool into the technology-neutral package BdbTclParm. The change has been made to avoid code duplication accross multiple persistent technologies. Updated package dependencies. BdbTclParm V00-07-01 - moved in a technology-neutral version of the loader tool BdbTclWriteTool. The change has been made to avoid code duplication accross multiple persistent technologies. Updated package dependencies. _______________________ 6. Release 21.0.0 built __________________________________________________________ 7. Migrating persistent 'payload' packages from DDL to RDL Goals of this phase of the migration are: - Assessing existing code to see how much of RDL code have already been put into the 21.0.0 release. This will include the code from both initial attempt of the BetaMiniRooApp migration, and from the recent migration done my myself and Andy S. - Implementing RDL classes similar to original DDL ones; the RDL classes are put into new (or already existing) Xxx*CdbR packages mirroring the Xxx*P ones for DDL classes. - Implementing CDB 'providers' of translators and factories for RDL classes in the same way it's been done for the DDL classes. - Implementing DDl-to-RDL converters for the new RDL classes; the converters shall be put into a special infrastructure of dual-technology packages (each subsystem has its one package for this purpose). _____________________ 7.1 BField* migration This effort includes: - Fixing a compilation problems in BFieldCdbR - Minor code refactoring in BFieldCdbR - Adding loaders/factories into BFieldCdbR ------------------+--------------+------------+--------------+---------------------------- package | tag before | migrated | tag after | comments/actions ------------------+--------------+------------+--------------+---------------------------- BFieldCdbR | V00-00-02 | 2006-09-26 | V00-00-03 | - Fixed a bug in an implementation file of a persistent dictionary class. | | 2006-09-27 | V00-00-04 | - Minor code refactoring (added std:: prefixes, etc.) | | 2006-09-28 | V00-00-05 | - (Andy) added factories, added an initializing constructor to the dictionary class | | 2006-09-28 | V00-01-00 | - Interface changes and refactoring in the persistent dictionary class | | | | to get rid of a non-reliable accessort to fields based on indexes. | | | | - Further clean up of the dictionary's implementation ------------------+--------------+------------+--------------+---------------------------- BFieldP | V00-07-00 | 2006-09-28 | V00-08-00 | - Interface changes and refactoring in the persistent dictionary class | | | | to get rid of a non-reliable accessort to fields based on indexes. ------------------+--------------+------------+--------------+---------------------------- TrkCdbRConverters | V00-00-00 | 2006-09-28 | V00-00-01 | - follow up changes in an interface of the persistent BFieldP dictionary class ------------------+--------------+------------+--------------+---------------------------- _______________________________________________________ 7.1.1 Tags published for the nightly September 26, 2006 BFieldCdbR V00-00-03 - Fixed a bug in an implementation file of a persistent dictionary class. _______________________________________________________ 7.1.2 Tags published for the nightly September 28, 2006 BFieldCdbR V00-01-00 - Interface changes and refactoring in the persistent dictionary class to get rid of a non-reliable accessort to fields based on indexes. - Further clean up of the dictionary's implementation BFieldP V00-08-00 - Interface changes and refactoring in the persistent dictionary class to get rid of a non-reliable accessort to fields based on indexes. TrkCdbRConverters V00-00-01 - follow up changes in an interface of the persistent BFieldP dictionary class _____________________ 7.2 The IFR migration This effort includes: - adding factories for the remaining persistent classes --------------------+--------------+------------+--------------+---------------------------- package | tag before | migrated | tag after | comments/actions --------------------+--------------+------------+--------------+---------------------------- CdbBdb | V01-08-00 | 2006-10-05 | V01-08-01 | - fixed a bug in the header file of the helper class: CdbBdbTObjectFactoryPtr CdbRoo | V00-02-01 | 2006-10-05 | V00-02-02 | - fixed a bug in the header file of the helper class: CdbRooTObjectFactoryPtr --------------------+--------------+------------+--------------+---------------------------- IfrGeom | V01-02-04 | 2006-10-10 | V01-02-05 | - added a transient 'info' class to be used in initialization of the nominal | | | | geometry. Objects of that class are supposed to be passed down to CDB API | | | | in order to create persistent nominal geometry. | | | | - minor clean up in the code. | | | | ATTENTION: There was the private tag 'mn061004' on the top of | | | | the nightly one. Talk to Matteo Negrini to see what to do | | | | with that tag. The new tag _includes_ that private tag. | | 2006-10-12 | V01-02-06 | - added two constructors to class IfrAlignT to simplify creating this | | | | object from a persistent code. --------------------+--------------+------------+--------------+---------------------------- IfrGeomP | V01-02-02 | 2006-10-10 | V01-03-00 | - got rid of the v-table initializer. The same functionality is achieved | | | | through translators/factories. | | | | - got rid of IfrGeomPTypes.hh along with its useless type definitions. | | | | - made implementations of abstract persistent classes IfrAbsStripDataP | | | | and IfrAbsStripLayerP fully inline. | | | | - monor code clean up (mostly formatting to make the code better for reading | | | | and understanding). | | | | - added a translator for class 'IfrIronNominalGeomP'. | | | | - added 'friends' to some persistent classes. This is needed for converting | | | | objects of these classes into RDL format. --------------------+--------------+------------+--------------+---------------------------- IfrGeomCdbR | V00-00-01 | 2006-10-10 | V00-00-02 | - add new persistent classes: IfrIronNominalGeomCdbR and | | | | IfrStripLibraryCdbR.cc. Also added translators for both and a factory | | | | for the nominal geometry. | | | | - got rid of IfrGeomTypes.hh along with its useless type definitions. | | | | - monor code clean up (mostly formatting to make the code better for reading | | | | and understanding). --------------------+--------------+------------+--------------+---------------------------- IfrSimGeomP | V00-04-00 | 2006-10-11 | V00-05-00 | - code cleanup --------------------+--------------+------------+--------------+---------------------------- IfrOffCondDataP | V00-07-00 | 2006-10-12 | V00-08-00 | - code cleanup | | | | - got rid of obsolete constructors of persistent classes | | | | - added data member accessors in persistent classes; they are needed for | | | | converting objects of these classes ito RDL format. --------------------+--------------+------------+--------------+---------------------------- IfrOffCondDataCdbR | V00-00-02 | 2006-10-12 | V00-01-00 | - code cleanup | | | | - added constructors in persistent classes; they are needed for | | | | creating objects of these classes from DDL format. --------------------+--------------+------------+--------------+---------------------------- IfrCdbRConverters | V00-00-01 | 2006-10-10 | V00-01-01 | - added two converters: IfrIronNominalGeomCvtr and IfrStripLibraryCvtr | | 2006-10-11 | V00-01-02 | - added converters for IfrSimGeom* classes | | 2006-10-12 | V00-01-03 | - added converters for IfrSimGeom* and IfrOffCondData* classes --------------------+--------------+------------+--------------+---------------------------- CdbRooConversionFwk | V02-00-09 | 2006-10-13 | V02-00-10 | - added a special solution for converting hierarchies of persistent classes --------------------+--------------+------------+--------------+---------------------------- IfrCorrectionsP | V00-03-00 | 2006-10-17 | V00-03-02 | - fixed a bug in the constructor of the persistent class. The older code | | | | wasn't performing a full object initialization, therefore it couldn't be | | | | used in the bidirectional transient/persistent transformation scheme. --------------------+--------------+------------+--------------+---------------------------- IfrCablingCdbR | V00-00-01 | 2006-10-17 | V00-00-02 | - added two persistent classes: IfrFecAtlasCdbR, IfrFecMapCdbR IfrCablingP | V00-03-01 | 2006-10-17 | V00-03-02 | - recovered persistent classes: IfrFecAtlasP, IfrFecMapP. These classes | | | | actually existent in the original version of the packages, but later | | | | were removed. We need them in here in order to perform a migration | | | | of CDB data from Objectivity to ROOT. --------------------+--------------+------------+--------------+---------------------------- IfrCdbRConverters | V00-01-04 | 2006-10-17 | V00-01-05 | - added converters for the remaining persistent classes --------------------+--------------+------------+--------------+---------------------------- IfrGeomP | V01-03-00 | 2006-10-17 | V01-03-01 | - recovered previously existed and later deleted persistent | | | | classes: IfrCoilNominalGeomP, IfrITBMapP, IfrITBMapP_001, | | | | IfrITBSetP, IfrITBSetP_001, IfrMuonNominalGeomP, | | | | IfrRpcNominalGeomP. They're needed for CDB migration to ROOT. | | | | - added 'friends' to some other persistent classes. --------------------+--------------+------------+--------------+---------------------------- IfrGeomCdbR | V00-00-02 | 2006-10-17 | V00-00-03 | - added classes: IfrCoilNominalGeomCdbR, IfrITBMapCdbR, IfrITBMapCdbR_001, | | | | IfrITBSetCdbR, IfrITBSetCdbR_001, IfrMuonNominalGeomCdbR, | | | | IfrRpcNominalGeomCdbR. They're needed for CDB migration to ROOT. | | | | - added 'friends' to some other persistent classes. --------------------+--------------+------------+--------------+---------------------------- IfrPidCdbR | V00-00-01 | 2006-10-17 | V00-00-02 | - slightly refactored an implementation of class IfrHistoCdbR to use | | | | a more reliable constructor of the transient class IfrHisto. --------------------+--------------+------------+--------------+---------------------------- IfrPidP | V00-17-00 | 2006-10-17 | V00-18-00 | - minor code reformatting to make it more readable | | | | - removed useless constructors from persistent classes | | | | - added persisent-to-transient conversion methods to some classes --------------------+--------------+------------+--------------+---------------------------- IfrPidUtils | V00-05-01 | 2006-10-17 | V00-05-02 | - added a full constructor to the IfrHisto class --------------------+--------------+------------+--------------+---------------------------- IfrPidUtils | V00-05-01 | 2006-10-19 | V00-05-03 | - added data members accessors to class IfrMomSectFixedPart | | 2006-10-19 | V00-05-04 | - added a friend class into IfrHisto | | 2006-10-19 | V00-05-05 | - added a friend class into IfrHistoArray --------------------+--------------+------------+--------------+---------------------------- IfrPidCdbR | V00-00-01 | 2006-10-19 | V00-00-03 | - added corrected versions of some persistent classes which | | | | should inherit (directly or indirectly) from CdbRooObjectR | | | | rather than from TObject. The older classes left intact | | | | as they're already in the schema of some some snapshot. --------------------+--------------+------------+--------------+---------------------------- IfrCdbRConverters | V00-01-06 | 2006-10-19 | V00-01-07 | - added converters for the versioned persistent classes from package IfrPidCdbR --------------------+--------------+------------+--------------+---------------------------- _____________________________________________________ 7.2.1 Tags published for the nightly October 10, 2006 CdbBdb V01-08-01 - fixed a bug in the header file of the helper class: CdbBdbTObjectFactoryPtr CdbRoo V00-02-02 - fixed a bug in the header file of the helper class: CdbRooTObjectFactoryPtr IfrGeom V01-02-05 - added a transient 'info' class to be used in initialization of the nominal geometry. Objects of that class are supposed to be passed down to CDB API in order to create persistent nominal geometry. - minor clean up in the code. ATTENTION: There was the private tag 'mn061004' on the top of the official one. That tag has been also _included_ in here. IfrGeomP V01-03-00 - got rid of the v-table initializer. The same functionality is achieved through translators/factories. - got rid of IfrGeomPTypes.hh along with its useless type definitions. - made implementations of abstract persistent classes IfrAbsStripDataP and IfrAbsStripLayerP fully inline. - monor code clean up (mostly formatting to make the code better for reading and understanding). - added a translator for class 'IfrIronNominalGeomP'. - added 'friends' to some persistent classes. This is needed for converting objects of these classes into RDL format. IfrGeomCdbR V00-00-02 - add new persistent classes: IfrIronNominalGeomCdbR and IfrStripLibraryCdbR.cc. Also added translators for both and a factory for the nominal geometry. - got rid of IfrGeomTypes.hh along with its useless type definitions. - monor code clean up (mostly formatting to make the code better for reading and understanding). IfrCdbRConverters V00-01-01 - added two converters: IfrIronNominalGeomCvtr and IfrStripLibraryCvtr _____________________________________________________ 7.2.2 Tags published for the nightly October 13, 2006 IfrGeom V01-02-06 - added two constructors to class IfrAlignT to simplify creating objects of the class from a persistent code. IfrSimGeomP V00-05-00 - code cleanup and minor refactoring - got rid of obsolete constructors of persistent classes IfrOffCondDataP V00-08-00 - code cleanup and minor refactoring - got rid of obsolete constructors of persistent classes - added data member accessors in persistent classes; they are needed for converting objects of these classes ito RDL format. IfrOffCondDataCdbR V00-01-00 - code cleanup and minor refactoring - added constructors in persistent classes; they are needed for creating objects of these classes from DDL format. IfrCdbRConverters V00-01-03 - added converters for IfrSimGeomP/ and IfrOffCondDataP/classes _____________________________________________________ 7.2.3 Tags published for the nightly October 18, 2006 CdbRooConversionFwk V02-00-10 - added a special solution (converter) to convert hierarchies of persistent classes IfrCorrectionsP V00-03-02 - fixed a bug in the constructor of the persistent class. The older code wasn't performing a full object initialization, therefore it couldn't be used in the bidirectional transient/persistent transformation scheme. IfrCablingCdbR V00-00-02 - added two persistent classes: IfrFecAtlasCdbR, IfrFecMapCdbR IfrCablingP V00-03-02 - recovered persistent classes: IfrFecAtlasP, IfrFecMapP. These classes actually existent in the original version of the packages, but later were removed. We need them in here in order to perform a migration of CDB data from Objectivity to ROOT. IfrCdbRConverters V00-01-05 - added converters for the remaining persistent classes IfrGeomP V01-03-01 - recovered previously existed and later deleted persistent classes: IfrCoilNominalGeomP, IfrITBMapP, IfrITBMapP_001, IfrITBSetP, IfrITBSetP_001, IfrMuonNominalGeomP, IfrRpcNominalGeomP. They're needed for CDB migration to ROOT. - added 'friends' to some other persistent classes. IfrGeomCdbR V00-00-03 - added classes: IfrCoilNominalGeomCdbR, IfrITBMapCdbR, IfrITBMapCdbR_001, IfrITBSetCdbR, IfrITBSetCdbR_001, IfrMuonNominalGeomCdbR, IfrRpcNominalGeomCdbR. They're needed for CDB migration to ROOT. - added 'friends' to some other persistent classes. IfrPidCdbR V00-00-02 - slightly refactored an implementation of class IfrHistoCdbR to use a more reliable constructor of the transient class IfrHisto. IfrPidP V00-18-00 - minor code reformatting to make it more readable - removed useless constructors from persistent classes - added persisent-to-transient conversion methods to some classes IfrPidUtils V00-05-02 - added a full constructor to the IfrHisto class _____________________________________________________ 7.2.4 Tags published for the nightly October 20, 2006 IfrPidUtils V00-05-05 - added data members accessors to class IfrMomSectFixedPart - added a friend class into IfrHisto - added a friend class into IfrHistoArray IfrPidCdbR V00-00-03 - added corrected versions of some persistent classes which should inherit (directly or indirectly) from CdbRooObjectR rather than from TObject. The older classes left intact as they're already in the schema of the original "beta-mini-roo" snapshot. IfrCdbRConverters V00-01-07 - added converters for the versioned persistent classes from package IfrPidCdbR ________________________________________ 7.3 The *SimGeom* and FctCond* migration This effort includes: - creating ROOT persistentcy for *SimGeom* classes - crating ROOT persistentcy for FctCond* classes - removing obsolete defunct package DrcSimGeomCdbR -----------------+--------------+------------+--------------+---------------------------- package | tag before | migrated | tag after | comments/actions -----------------+--------------+------------+--------------+---------------------------- DchSimGeomCdbR | n/a | 2006-10-02 | V00-00-00 | - initial version of the package; implements ROOT persistentcy | | | | for DchSimGeom. -----------------+--------------+------------+--------------+---------------------------- EmcSimGeomCdbR | n/a | 2006-10-04 | V00-00-00 | - initial version of the package; implements ROOT persistentcy | | | | for EmcSimGeom. EmcSimGeom | V00-05-00 | 2006-10-04 | V00-05-01 | - added the normal constructor to class 'EmcSimMediaList' -----------------+--------------+------------+--------------+---------------------------- IfrSimGeomCdbR | n/a | 2006-10-02 | V00-00-00 | - initial version of the package implements ROOT persistentcy | | | | for IfrSimGeom. -----------------+--------------+------------+--------------+---------------------------- PepSimGeomCdbR | n/a | 2006-10-03 | V00-00-01 | - initial version of the package implements ROOT persistentcy | | | | for PepSimGeom. PepSimGeomP | V00-04-00 | 2006-10-03 | V00-04-01 | - Improved a design of the persistent class to avoid leaving global macro | | | | definitions. That may cause potential conflicts with other code. -----------------+--------------+------------+--------------+---------------------------- SvtSimGeomCdbR | n/a | 2006-10-02 | V00-00-00 | - initial version of the package implements ROOT persistentcy | | | | for SvtSimGeom. -----------------+--------------+------------+--------------+---------------------------- FctCondCdbR | n/a | 2006-10-03 | V00-00-00 | - initial version of the package implements ROOT persistentcy | | | | for FctCond. -----------------+--------------+------------+--------------+---------------------------- PackageList | V00-13-34 | 2006-10-02 | V00-13-35 | - added new persistent packages: DchSimGeomCdbR, EmcSimGeomCdbR, | | | | IfrSimGeomCdbR, PepSimGeomCdbR, SvtSimGeomCdbR and FctCondCdbR. | | | | - removed obsolete package: DrcSimGeomCdbR. | | | | | | | | NOTE: Do not publish the tag since its newer version is already | | | | in the nightlies. -----------------+--------------+------------+--------------+---------------------------- ____________________________________________________ 7.3.1 Tags published for the nightly October 5, 2006 DchSimGeomCdbR V00-00-00 - initial version of the package; implements ROOT persistentcy for DchSimGeom. EmcSimGeomCdbR V00-00-00 - initial version of the package; implements ROOT persistentcy for EmcSimGeom. EmcSimGeom V00-05-01 - added the normal constructor to class 'EmcSimMediaList' IfrSimGeomCdbR V00-00-00 - initial version of the package implements ROOT persistentcy for IfrSimGeom. PepSimGeomCdbR V00-00-01 - initial version of the package implements ROOT persistentcy for PepSimGeom. PepSimGeomP V00-04-01 - Improved a design of the persistent class to avoid leaving global macro definitions. That may cause potential conflicts with other code. SvtSimGeomCdbR V00-00-00 - initial version of the package implements ROOT persistentcy for SvtSimGeom. FctCondCdbR V00-00-00 - initial version of the package implements ROOT persistentcy for FctCond. ____________________________________ 7.4 The obsolete PepBeamsP migration NOTE: The 'PepBeamsP' is an obsolete class which is not used by any client as of 12.x releases. But we still have about 20k of persistent objects of that type in CDB, Therefore a decision has been made to convert both the class and the objects into RDL format in order to hav a complete history of the (CDB) database. This effort includes: - bringing back the DDL class for PepBeamsP; adding its RDL counterpart; ading the relevant converter from DDL to RDL. ------------------+--------------+------------+--------------+---------------------------- package | tag before | migrated | tag after | comments/actions ------------------+--------------+------------+--------------+---------------------------- PepCondP | V00-01-00 | 2006-10-10 | V00-01-01 | - Brought back a simplified (persistent data shape only) of the obsolete | | | | persistent class PepBeamsP. This is needed for the ongoing CDB migration | | | | from DDL to RDL. ------------------+--------------+------------+--------------+---------------------------- PepdbR | V00-00-01 | 2006-10-10 | V00-00-02 | - added new persistent class: PepBeamsCdbR ------------------+--------------+------------+--------------+---------------------------- PepCdbRConverters | V00-00-03 | 2006-10-10 | V00-00-04 | - added the converter 'PepBeamsCvtr' for the obsolete PEP beams class ------------------+--------------+------------+--------------+---------------------------- _____________________________________________________ 7.4.1 Tags published for the nightly October 10, 2006 PepCondP V00-01-01 - brought back a simplified (persistent data shape only) versio of the obsolete persistent class: PepBeamsP. This is needed for the ongoing CDB migration from DDL to RDL. PepCdbR V00-00-02 - added new persistent class: PepBeamsCdbR PepCdbRConverters V00-00-04 - added the converter class 'PepBeamsCvtr' for the obsolete PEP beams class _____________________________________________ 7.5 The FctCond* and Filt* packages migration This effort includes: - adding Bdb-to-Roo converters for persistent classes - minor code clean up -------------------+--------------+------------+--------------+---------------------------- package | tag before | migrated | tag after | comments/actions -------------------+--------------+------------+--------------+---------------------------- FctCondP | V00-00-00 | 2006-10-13 | V00-00-01 | - minor code cleanup | | | | - got rid of useless default constructors in persistent classes FctCondCdbR | V00-00-00 | 2006-10-13 | V00-00-01 | - minor code cleanup | | | | - added in-code documentations for persistent classes | | | | - got rid of useless constructors/operators in persistent classes FctCdbRConverters | n/a | 2006-10-13 | V00-00-00 | - new package with converters -------------------+--------------+------------+--------------+---------------------------- FiltEnvCdbR | V00-00-01 | 2006-10-13 | V00-00-02 | - minor code cleanup | | | | - added in-code documentations for persistent classes FiltCdbRConverters | n/a | 2006-10-13 | V00-00-00 | - new package with converters -------------------+--------------+------------+--------------+---------------------------- PackageList | V00-13-38 | 2006-10-13 | V00-13-39 | - add new packages: FiltCdbRConverters, FctCdbRConverters -------------------+--------------+------------+--------------+---------------------------- _____________________________________________________ 7.5.1 Tags published for the nightly October 13, 2006 FctCondP V00-00-01 - minor code cleanup - got rid of useless default constructors in persistent classes FctCondCdbR V00-00-01 - minor code cleanup - added in-code documentations for persistent classes - got rid of useless constructors/operators in persistent classes FctCdbRConverters V00-00-00 - new package with converters FiltEnvCdbR V00-00-02 - minor code cleanup - added in-code documentations for persistent classes FiltCdbRConverters V00-00-00 - new package with converters PackageList V00-13-39 - add new packages: FiltCdbRConverters, FctCdbRConverters _____________________________________ 8. Testing migrated database and code Goals of this phase of the migration are: - Developing an infrastructure for testing migrated database (and code) - Comparing converted (RDL) persistent objects against their original (DDL) counterparts to ensure a quality of the conversion algorithms. - Comparing transient objects obtained through the technology-neutral CDB API from the relevant persistent objects of both technologies. A reason for these tests is to make sure that persistent-to-transient transformation works equally for both technologies. ________________________________ 8.1 CDB infrastructure for tests This effort includes: - Developing a framework into which (persistent) class specific tests should be put into and used. This includes: base 'comparator' classes and dictionaries of those, a scanner which would read objects of both techynologies (RDL and DDL) from databases and engage registered (with the framework) comparators. --------------------+--------------+------------+--------------+---------------------------- package | tag before | migrated | tag after | comments/actions --------------------+--------------+------------+--------------+---------------------------- CdbRooConversionFwk | V02-00-10 | 2006-10-20 | V02-00-12 | - added an infrastructure for testing converted 'payload' objects | | 2006-10-24 | V02-00-14 | - added comparision functions to compare arrays of embedded elements | | 2006-10-26 | V02-00-15 | - added comparision functions to compare variables | | | | - added an option to print info if compared values don't match accross technologies | | 2006-11-01 | V02-00-16 | - added one more comparision function for a combination of arrays | | 2006-11-01 | V02-01-00 | - fixed a bug in a declaration/definition of a function in | | | | namespace CdbBdb2RooComparatorUtils. Otherwise 'multiple | | | | symbols definition' problem arises at applications link time. | | 2006-11-03 | V02-01-01 | - added one more comparision function for a combination of arrays --------------------+--------------+------------+--------------+---------------------------- CdbRooConverters | V01-01-01 | 2006-10-20 | V01-01-02 | - the comparision tool: CdbBdb2RooPayloadComparisionTool. This tool | | | | instantiates subsystem-specific dictionaries | | | | ('CdbRConverters/CdbRComparatorDict') with comparators and uses | | | | them for various tasks. Right now it can only do one comparision for | | | | specified condition. | | 2006-10-26 | V01-01-05 | - fixed a bug in the command line parser of the comparision tool --------------------+--------------+------------+--------------+---------------------------- CalDatabase | V00-10-00 | 2006-11-01 | V00-10-01 | - added 'friends' for comparators CalCdbR | V00-03-00 | 2006-11-01 | V00-03-01 | - added 'friends' for comparators CalCdbRConverters | V00-01-00 | 2006-11-01 | V00-01-01 | - added a base class CalTypeComparatorPR to help comparing hierarchies | | | | of CalType* and CalSysDfn* classes. | | 2006-11-02 | V00-01-02 | - changed base comparator methods for Cal types to work with memory | | | | references rather than pointers. --------------------+--------------+------------+--------------+---------------------------- _____________________________________________________ 8.1.1 Tags published for the nightly October 20, 2006 CdbRooConversionFwk V02-00-12 - added an infrastructure for testing converted 'payload' objects CdbRooConverters V01-01-02 - the comparision tool: CdbBdb2RooPayloadComparisionTool. This tool instantiates subsystem-specific dictionaries ('CdbRConverters/CdbRComparatorDict') with comparators and uses them for various tasks. Right now it can only do one comparision for specified condition. _____________________________________________________ 8.1.2 Tags published for the nightly October 25, 2006 CdbRooConversionFwk V02-00-14 - added comparision functions to compare arrays of embedded elements _____________________________________________________ 8.1.3 Tags published for the nightly October 27, 2006 CdbRooConversionFwk V02-00-15 - added comparision functions to compare variables - added an option to print info if compared values don't match accross technologies CdbRooConverters V01-01-05 - fixed a bug in the command line parser of the comparision tool ______________________________________________________ 8.1.4 Tags published for the nightly November 02, 2006 CdbRooConversionFwk V02-01-00 - added one more comparision function for a combination of arrays - fixed a bug in a declaration/definition of a function in namespace CdbBdb2RooComparatorUtils. Otherwise 'multiple symbols definition' problem arises at applications link time. CalDatabase V00-10-01 - added 'friends' for comparators CalCdbR V00-03-01 - added 'friends' for comparators CalCdbRConverters V00-01-02 - added a base class CalTypeComparatorPR to help comparing hierarchies of CalType* and CalSysDfn* classes. ______________________________________________________ 8.1.5 Tags published for the nightly November 03, 2006 CdbRooConversionFwk V02-01-01 - added one more comparision function for a combination of arrays ____________________________________________ 8.2 Persistent tests for all Pep* conditions This effort includes: - Implementing tests for comparing converted persistent objects accrosss CDB technologies. --------------------+--------------+------------+--------------+---------------------------- package | tag before | migrated | tag after | comments/actions --------------------+--------------+------------+--------------+---------------------------- PepCondP | V00-01-02 | 2006-10-20 | V00-01-03 | - added friends to persistent classes to allow external testing data members PepCdbR | V00-00-02 | 2006-10-20 | V00-00-04 | - added friends to persistent classes to allow external testing data members PepCdbRConverters | V00-00-05 | 2006-10-20 | V00-00-07 | - added comparators for all persistent classes and a dictionary of those | | 2006-10-20 | V00-00-08 | - moved comparators into an implementation file of the dictionary of those | | 2006-10-27 | V00-00-09 | - improved implementations of comparators to allow error reporting when data | | | | members' values do not match --------------------+--------------+------------+--------------+---------------------------- _____________________________________________________ 8.2.1 Tags published for the nightly October 20, 2006 PepCondP V00-01-03 - added friends to persistent classes to allow external testing of data members PepCdbR V00-00-04 - added friends to persistent classes to allow external testing of data members PepCdbRConverters V00-00-08 - added comparators for all persistent classes and a dictionary of those - moved comparators into an implementation file of the dictionary of those _____________________________________________________ 8.2.2 Tags published for the nightly October 27, 2006 PepCdbRConverters V00-00-09 - improved implementations of comparators to allow error reporting when data members' values do not match ____________________________________________ 8.3 Persistent tests for all Fct* conditions This effort includes: - Implementing tests for comparing converted persistent objects accrosss CDB technologies. --------------------+--------------+------------+--------------+---------------------------- package | tag before | migrated | tag after | comments/actions --------------------+--------------+------------+--------------+---------------------------- FctCondP | V00-00-01 | 2006-10-20 | V00-00-02 | - added friends to persistent classes to allow external testing of data members --------------------+--------------+------------+--------------+---------------------------- FctCondCdbR | V00-00-01 | 2006-10-20 | V00-00-02 | - added friends to persistent classes to allow external testing of data members | | 2006-10-23 | V00-00-03 | - get back the refactored version of the persistent classes. Added 'friends' | | | | for testing classes. The correct version of the RDL files were accidentally | | | | removed from CVS in between V00-00-01 and V00-00-02. --------------------+--------------+------------+--------------+---------------------------- FctOnline | V00-04-00 | 2006-10-20 | V00-04-01 | - added a 'friend' to classes 'FctGate' to allow external testing of its data members FctCdbRConverters | V00-00-00 | 2006-10-20 | V00-00-01 | - added comparators for all persistent classes and a dictionary of those | | 2006-10-27 | V00-00-02 | - improved implementations of comparators to allow error reporting when data | | | | members' values do not match --------------------+--------------+------------+--------------+---------------------------- CdbRooConverters | V01-01-02 | 2006-10-20 | V01-01-03 | - include comparators for Fct* classes into payload converters tests --------------------+--------------+------------+--------------+---------------------------- _____________________________________________________ 8.3.1 Tags published for the nightly October 20, 2006 FctCondP V00-00-02 - added friends to persistent classes to allow external testing of data members FctCondCdbR V00-00-02 - added friends to persistent classes to allow external testing of data members FctOnline V00-04-01 - added a 'friend' to classe 'FctGate' to allow external testing of its data members FctCdbRConverters V00-00-01 - added comparators for all persistent classes and a dictionary of those CdbRooConverters V01-01-03 - include comparators for Fct* classes into payload converters tests _____________________________________________________ 8.3.2 Tags published for the nightly October 26, 2006 FctCondCdbR V00-00-03 - get back the refactored version of the persistent classes. Added 'friends' for testing classes. The correct version of the RDL files were accidentally removed from CVS in between V00-00-01 and V00-00-02. _____________________________________________________ 8.3.3 Tags published for the nightly October 27, 2006 FctCdbRConverters V00-00-02 - improved implementations of comparators to allow error reporting when data members' values do not match __________________________________________________________ 8.4 Persistent tests for SvtSim* and SvtSimGeom conditions This effort includes: - Preparing persistent classes for the tests. Some original SVT classes has a very poor design which causes compilation conflicts due to multiple definitions (using C/C++ macroprocessor) of the same symbol in multiple header files. --------------------+--------------+------------+--------------+---------------------------- package | tag before | migrated | tag after | comments/actions --------------------+--------------+------------+--------------+---------------------------- SvtSimGeom | V00-08-01 | 2006-10-24 | V00-09-00 | - moved some symbols previously defined outside classes using C/C++ macroprocessor | | | | into relevant classes as C++ 'enum'-s. This fixes compilation problems when | | | | header files are included in an arbitrary order (apparently, original authors of | | | | the package expected certain include order for the headers files?). The modification | | | | made in a context of the CDB migration from Ojectivity to ROOT. --------------------+--------------+------------+--------------+---------------------------- SvtSimGeomP | V00-07-00 | 2006-10-24 | V00-08-00 | - moved some symbols defined in a compilation unit scope using C/C++ macroprocessor | | | | into relevant classes as C++ 'enum'-s. This fixes compilation problems when | | | | header files are included in an arbitrary order. | | | | - got rid of the default constructor of the persistent layout class (it's useless) | | | | - minor code cleanup (formatting) --------------------+--------------+------------+--------------+---------------------------- SvtGeomP | V00-04-00 | 2006-10-24 | V00-05-00 | - moved some symbols defined in a compilation unit scope using C/C++ macroprocessor | | | | into relevant classes as C++ 'enum'-s. This fixes compilation problems when | | | | header files are included in an arbitrary order. | | | | - got rid of the default constructor of the persistent layout class (it's useless) | | | | - got rid of obsolete and useless files: SvtVArray.hh and SvtVArray.cc | | | | - minor code cleanup (formatting) --------------------+--------------+------------+--------------+---------------------------- _____________________________________________________ 8.4.1 Tags published for the nightly October 25, 2006 SvtSimGeom V00-09-00 - moved some symbols previously defined outside classes using C/C++ macroprocessor into relevant classes as C++ 'enum'-s. This fixes compilation problems when header files are included in an arbitrary order (apparently, original authors of the package expected certain include order for the headers files?). The modification made in a context of the CDB migration from Ojectivity to ROOT. SvtSimGeomP V00-08-00 - moved some symbols defined in a compilation unit scope using C/C++ macroprocessor into relevant classes as C++ 'enum'-s. This fixes compilation problems when header files are included in an arbitrary order. - got rid of the default constructor of the persistent layout class (it's useless) - minor code cleanup (formatting) SvtGeomP V00-05-00 - moved some symbols defined in a compilation unit scope using C/C++ macroprocessor into relevant classes as C++ 'enum'-s. This fixes compilation problems when header files are included in an arbitrary order. - got rid of the default constructor of the persistent layout class (it's useless) - got rid of obsolete and useless files: SvtVArray.hh and SvtVArray.cc - minor code cleanup (formatting) _____________________________________________________________ 8.5 Persistent tests for all Filt* and BdbTclParm* conditions This effort includes: - Implementing tests for comparing converted persistent objects accrosss CDB technologies. -------------------------+--------------+------------+--------------+---------------------------- package | tag before | migrated | tag after | comments/actions -------------------------+--------------+------------+--------------+---------------------------- FiltEnvCdbR | V00-00-02 | 2006-10-26 | V00-00-03 | - added friends to persistent classes to allow external testing of data members FiltCdbRConverters | V00-00-00 | 2006-10-26 | V00-00-01 | - added "comparators" (tests of the converted data objects) for relevant | | | | persistent classes. | | 2006-10-27 | V00-00-02 | - improved implementations of comparators to allow error reporting when data | | | | members' values do not match -------------------------+--------------+------------+--------------+---------------------------- BdbTclParmCdbR | V00-01-01 | 2006-10-26 | V00-01-02 | - added friends to persistent classes to allow external testing of data members BdbTclParmP | V00-07-01 | 2006-10-26 | V00-07-02 | - added friends to persistent classes to allow external testing of data members -------------------------+--------------+------------+--------------+---------------------------- BdbTclParmCdbRConverters | V00-01-00 | 2006-10-26 | V00-01-02 | - added "comparators" (tests of the converted data objects) for relevant | | | | persistent classes. | | | | | | | | NOTE: the new code has not been fully tested to compare real objects. -------------------------+--------------+------------+--------------+---------------------------- CdbRooConverters | V01-01-03 | 2006-10-26 | V01-01-04 | - include comparators for Filt* and BdbTclParm* classes into payload | | | | converters tests -------------------------+--------------+------------+--------------+---------------------------- _____________________________________________________ 8.5.1 Tags published for the nightly October 26, 2006 FiltEnvCdbR V00-00-03 - added friends to persistent classes to allow external testing of data members FiltCdbRConverters V00-00-01 - added "comparators" (tests of the converted data objects) for relevant persistent classes. BdbTclParmCdbR V00-01-02 - added friends to persistent classes to allow external testing of data members BdbTclParmP V00-07-02 - added friends to persistent classes to allow external testing of data members BdbTclParmCdbRConverters V00-01-01 - added "comparators" (tests of the converted data objects) for relevant persistent classes. CdbRooConverters V01-01-04 - include comparators for Filt* and BdbTclParm* classes into payload _____________________________________________________ 8.5.2 Tags published for the nightly October 27, 2006 FiltCdbRConverters V00-00-02 - improved implementations of comparators to allow error reporting when data members' values do not match ____________________________________________ 8.6 Persistent tests for all Drc* conditions This effort includes: - Implementing tests for comparing converted persistent objects accrosss CDB technologies. -------------------------+--------------+------------+--------------+---------------------------- package | tag before | migrated | tag after | comments/actions -------------------------+--------------+------------+--------------+---------------------------- DetectorModel | V01-04-02 | 2006-11-01 | V01-04-03 | - added 'friends' for comparators -------------------------+--------------+------------+--------------+---------------------------- DetectorModelCdbR | V00-00-02 | 2006-11-01 | V00-00-03 | - added 'friends' for comparators -------------------------+--------------+------------+--------------+---------------------------- DrcCalibCdbR | V00-00-03 | 2006-11-01 | V00-00-04 | - added 'systemDefinition()' accessors to RDL classes deriving from | | | | CalTypeCdbR_001. These methods are needed for comparators. | | | | - added 'friends' for comparators -------------------------+--------------+------------+--------------+---------------------------- DrcCalibP | V00-03-03 | 2006-11-01 | V00-03-04 | - added 'friends' for comparators | | | | - fixed a compilation warning (not handled 'case' in a 'switch') in | | | | an implementation file of class DrcStatusType. -------------------------+--------------+------------+--------------+---------------------------- DrcCdbRConverters | V00-01-00 | 2006-11-01 | V00-01-01 | - final implementattion of comparators | | | | - updated the package dependency list | | 2006-11-02 | V00-01-02 | - followed changes in the base class for CalType comparators -------------------------+--------------+------------+--------------+---------------------------- DrcElectronicsCdbR | V00-00-02 | 2006-11-01 | V00-00-03 | - added 'friends' for comparators -------------------------+--------------+------------+--------------+---------------------------- DrcElectronicsP | V00-01-03 | 2006-11-01 | V00-01-04 | - added 'friends' for comparators -------------------------+--------------+------------+--------------+---------------------------- DrcGeomCdbR | V00-02-00 | 2006-11-01 | V00-02-01 | - added 'friends' for comparators -------------------------+--------------+------------+--------------+---------------------------- DrcGeomP | V00-11-01 | 2006-11-01 | V00-11-02 | - added 'friends' for comparators -------------------------+--------------+------------+--------------+---------------------------- CdbRooConverters | V01-01-05 | 2006-11-02 | V01-01-06 | - enabled comparators for Drc* conditions -------------------------+--------------+------------+--------------+---------------------------- _____________________________________________________ 8.6.1 Tags published for the nightly October 27, 2006 DetectorModel V01-04-03 - added 'friends' for comparators DetectorModelCdbR V00-00-03 - added 'friends' for comparators DrcCalibCdbR V00-00-04 - added 'systemDefinition()' accessors to RDL classes deriving from CalTypeCdbR_001. These methods are needed for comparators. - added 'friends' for comparators DrcCalibP V00-03-04 - added 'friends' for comparators - fixed a compilation warning (not handled 'case' in a 'switch') in an implementation file of class DrcStatusType. DrcCdbRConverters V00-01-02 - final implementattion of comparators - updated the package dependency list DrcElectronicsCdbR V00-00-03 - added 'friends' for comparators DrcElectronicsP V00-01-04 - added 'friends' for comparators DrcGeomCdbR V00-02-01 - added 'friends' for comparators DrcGeomP V00-11-02 - added 'friends' for comparators CdbRooConverters V01-01-06 - enabled comparators for Drc* conditions ____________________________________________ 8.7 Persistent tests for all Mat* conditions This effort includes: - Implementing tests for comparing converted persistent objects accrosss CDB technologies. -------------------------+--------------+------------+--------------+---------------------------- package | tag before | migrated | tag after | comments/actions -------------------------+--------------+------------+--------------+---------------------------- MatCdbR | V00-01-00 | 2006-11-03 | V00-01-01 | - added 'friends' for comparators | | | | - minor code clean up (added in-code documentation for methods) -------------------------+--------------+------------+--------------+---------------------------- MatEnvP | V00-01-00 | 2006-11-03 | V00-01-01 | - added 'friends' for comparators | | | | - minor code clean up -------------------------+--------------+------------+--------------+---------------------------- MatCdbRConverters | V00-00-00 | 2006-11-03 | V00-00-01 | - added comparators -------------------------+--------------+------------+--------------+---------------------------- CdbRooConverters | V01-01-06 | 2006-11-03 | V01-01-07 | - enabled comparators for Mat* conditions -------------------------+--------------+------------+--------------+---------------------------- _____________________________________________________ 8.7.1 Tags published for the nightly November 6, 2006 MatCdbR V00-01-01 - added 'friends' for comparators - minor code clean up (added in-code documentation for methods) MatEnvP V00-01-01 - added 'friends' for comparators - minor code clean up MatCdbRConverters V00-00-01 - added comparators ____________________________________________ 8.8 Persistent tests for all Trk* conditions This effort includes: - Implementing tests for comparing converted persistent objects accrosss CDB technologies. -------------------------+--------------+------------+--------------+---------------------------- package | tag before | migrated | tag after | comments/actions -------------------------+--------------+------------+--------------+---------------------------- TrkGeomP | V00-04-02 | 2006-11-03 | V00-04-03 | - added 'friends' for comparators -------------------------+--------------+------------+--------------+---------------------------- TrkGeomCdbR | V00-00-02 | 2006-11-03 | V00-00-03 | - added 'friends' for comparators | | | | - minor code clean up (added in-code documentation for methods) -------------------------+--------------+------------+--------------+---------------------------- TrkCdbRConverters | V00-01-00 | 2006-11-03 | V00-01-01 | - added comparators -------------------------+--------------+------------+--------------+---------------------------- CdbRooConverters | V01-01-07 | 2006-11-03 | V01-01-08 | - enabled comparators for Trk* conditions -------------------------+--------------+------------+--------------+---------------------------- _____________________________________________________ 8.8.1 Tags published for the nightly November 6, 2006 TrkGeomP V00-04-03 - added 'friends' for comparators TrkGeomCdbR V00-00-03 - added 'friends' for comparators - minor code clean up (added in-code documentation for methods) TrkCdbRConverters V00-01-01 - added comparators CdbRooConverters V01-01-08 - enabled comparators for Mat* and Trk* conditions ____________________________________________ 8.9 Persistent tests for all Ifr* conditions This effort includes: - Implementing tests for comparing converted persistent objects accrosss CDB technologies. -------------------------+--------------+------------+--------------+---------------------------- package | tag before | migrated | tag after | comments/actions -------------------------+--------------+------------+--------------+---------------------------- IfrCorrectionsCdbR | V00-00-01 | 2006-11-16 | V00-00-02 | - added 'friends' for comparators IfrCorrectionsP | V00-03-02 | 2006-11-16 | V00-03-03 | - added 'friends' for comparators -------------------------+--------------+------------+--------------+---------------------------- IfrGeomCdbR | V00-00-03 | 2006-11-16 | V00-00-04 | - added 'friends' for comparators IfrGeomP | V01-03-01 | 2006-11-16 | V01-03-02 | - added 'friends' for comparators -------------------------+--------------+------------+--------------+---------------------------- IfrMuMuEffCdbR | V00-00-02 | 2006-11-16 | V00-00-03 | - added 'friends' for comparators IfrMuMuEffP | V00-02-00 | 2006-11-16 | V00-02-01 | - added 'friends' for comparators -------------------------+--------------+------------+--------------+---------------------------- IfrOffCondDataCdbR | V00-01-02 | 2006-11-16 | V00-01-03 | - added 'friends' for comparators IfrOffCondDataP | V00-08-00 | 2006-11-16 | V00-08-01 | - added 'friends' for comparators -------------------------+--------------+------------+--------------+---------------------------- IfrPidCdbR | V00-00-05 | 2006-11-16 | V00-00-06 | - added 'friends' for comparators IfrPidP | V00-18-00 | 2006-11-16 | V00-18-01 | - added 'friends' for comparators -------------------------+--------------+------------+--------------+---------------------------- IfrSimGeomCdbR | V00-00-00 | 2006-11-16 | V00-00-01 | - added 'friends' for comparators IfrSimGeomP | V00-05-00 | 2006-11-16 | V00-05-01 | - added 'friends' for comparators -------------------------+--------------+------------+--------------+---------------------------- IfrCdbRConverters | V00-01-08 | 2006-11-16 | V00-01-09 | - added comparators (not for all persistent types though) -------------------------+--------------+------------+--------------+---------------------------- CdbRooConverters | V01-01-09 | 2006-11-16 | V01-01-10 | - enabled comparators for Ifr* conditions -------------------------+--------------+------------+--------------+---------------------------- ______________________________________________________ 8.9.1 Tags published for the nightly November 16, 2006 IfrCorrectionsCdbR V00-00-02 - added 'friends' for comparators IfrCorrectionsP V00-03-03 - added 'friends' for comparators IfrGeomCdbR V00-00-04 - added 'friends' for comparators IfrGeomP V01-03-02 - added 'friends' for comparators IfrMuMuEffCdbR V00-00-03 - added 'friends' for comparators IfrMuMuEffP V00-02-01 - added 'friends' for comparators IfrOffCondDataCdbR V00-01-03 - added 'friends' for comparators IfrOffCondDataP V00-08-01 - added 'friends' for comparators IfrPidCdbR V00-00-06 - added 'friends' for comparators IfrPidP V00-18-01 - added 'friends' for comparators IfrSimGeomCdbR V00-00-01 - added 'friends' for comparators IfrSimGeomP V00-05-01 - added 'friends' for comparators IfrCdbRConverters V00-01-09 - added comparators (not for all persistent types though) CdbRooConverters V01-01-10 - enabled comparators for Ifr* conditions ____________________________________________________________ 8.10 Persistent tests for all Emc*, Orc* and Svt* conditions This effort includes: - Implementing tests for comparing converted persistent objects accrosss CDB technologies. -------------------------+--------------+------------+--------------+---------------------------- package | tag before | migrated | tag after | comments/actions -------------------------+--------------+------------+--------------+---------------------------- CdbRooConverters | V01-01-12 | 2006-12-06 | V01-01-13 | - enabled comparators for Emc*, Orc* and Svt* conditions -------------------------+--------------+------------+--------------+---------------------------- DetectorModel | V01-04-03 | 2006-12-06 | V01-04-04 | - added 'friends' for comparators DetectorModelCdbR | V00-00-03 | 2006-12-06 | V00-00-04 | - added 'friends' for comparators -------------------------+--------------+------------+--------------+---------------------------- EmcCdbRConverters | V00-02-01 | 2006-12-06 | V00-02-02 | - added comparators EmcCalCdbR | V00-02-04 | 2006-12-06 | V00-02-05 | - added 'friends' for comparators; added accessor methods for SysDef EmcCalibTooCdbR | V00-00-02 | 2006-12-06 | V00-00-03 | - added 'friends' for comparators EmcCalibTooP | V00-01-02 | 2006-12-06 | V00-01-03 | - added 'friends' for comparators EmcCondCdbR | V00-00-02 | 2006-12-06 | V00-00-03 | - added 'friends' for comparators EmcCondP | V00-02-01 | 2006-12-06 | V00-02-02 | - added 'friends' for comparators EmcDigiCalib | V01-01-00 | 2006-12-06 | V01-01-01 | - added 'friends' for comparators EmcDigiCalibCdbR | V00-00-01 | 2006-12-06 | V00-00-02 | - added 'friends' for comparators EmcDigiCalibP | V00-01-01 | 2006-12-06 | V00-01-02 | - added 'friends' for comparators EmcGeomCdbR | V00-00-01 | 2006-12-06 | V00-00-02 | - added 'friends' for comparators EmcGeomP | V00-01-10 | 2006-12-06 | V00-01-11 | - added 'friends' for comparators EmcLayoutP | V00-01-03 | 2006-12-06 | V00-01-04 | - added 'friends' for comparators EmcSimGeomCdbR | V00-00-00 | 2006-12-06 | V00-00-01 | - added 'friends' for comparators EmcSimGeomP | V00-05-00 | 2006-12-06 | V00-05-01 | - added 'friends' for comparators -------------------------+--------------+------------+--------------+---------------------------- OrcCdbRConverters | V00-00-01 | 2006-12-06 | V00-00-02 | - added comparators OrcRunDataCdbR | V00-00-01 | 2006-12-06 | V00-00-02 | - added 'friends' for comparators OrcRunDataP | V00-09-00 | 2006-12-06 | V00-09-01 | - added 'friends' for comparators -------------------------+--------------+------------+--------------+---------------------------- SvtCdbRConverters | V00-01-02 | 2006-12-06 | V00-01-03 | - added comparators | | 2007-01-17 | V00-01-04 | - added comparators | | 2007-01-19 | V00-01-05 | - added comparators for SvtWaferDistortions classes -------------------------+--------------+------------+--------------+---------------------------- SvtOnline | V00-11-03 | 2007-01-17 | V00-11-04 | - fixed bugs in declarations of two accessor methods (added 'const') -------------------------+--------------+------------+--------------+---------------------------- SvtCondCdbR | V00-01-01 | 2006-12-06 | V00-01-02 | - added 'friends' for comparators SvtCondP | V00-02-01 | 2006-12-06 | V00-02-02 | - added 'friends' for comparators SvtElectronics | V00-07-03 | 2006-12-06 | V00-07-04 | - added 'friends' for comparators SvtElectronicsCdbR | V00-00-02 | 2006-12-06 | V00-00-03 | - added 'friends' for comparators SvtElectronicsP | V00-06-01 | 2006-12-06 | V00-06-02 | - added 'friends' for comparators SvtGeom | V00-08-01 | 2006-12-06 | V00-08-02 | - added 'friends' for comparators -------------------------+--------------+------------+--------------+---------------------------- SvtGeomCdbR | V00-00-01 | 2006-12-06 | V00-00-02 | - added 'friends' for comparators | | 2007-01-19 | V00-00-03 | - added 'friends' for comparators of SvtWaferDistortions classes -------------------------+--------------+------------+--------------+---------------------------- SvtGeomP | V00-05-00 | 2006-12-06 | V00-05-01 | - added 'friends' for comparators | | 2007-01-19 | V00-05-02 | - added 'friends' for comparators of SvtWaferDistortions classes -------------------------+--------------+------------+--------------+---------------------------- SvtPidCalib | V00-02-02 | 2006-12-06 | V00-02-03 | - added 'friends' for comparators SvtPidCalibCdbR | V00-00-02 | 2006-12-06 | V00-00-03 | - added 'friends' for comparators SvtPidCalibP | V00-02-02 | 2006-12-06 | V00-02-03 | - added 'friends' for comparators SvtSimGeomCdbR | V00-00-02 | 2006-12-06 | V00-00-03 | - added 'friends' for comparators SvtSimGeomP | V00-08-00 | 2006-12-06 | V00-08-01 | - added 'friends' for comparators -------------------------+--------------+------------+--------------+---------------------------- _______________________________________________________ 8.10.1 Tags published for the nightly December 07, 2006 CdbRooConverters V01-01-13 - enabled comparators for Emc*, Orc* and Svt* conditions DetectorModel V01-04-04 - added 'friends' for comparators DetectorModelCdbR V00-00-04 - added 'friends' for comparators EmcCdbRConverters V00-02-02 - added comparators EmcCalCdbR V00-02-05 - added 'friends' for comparators; added accessor methods for SysDef EmcCalibTooCdbR V00-00-03 - added 'friends' for comparators EmcCalibTooP V00-01-03 - added 'friends' for comparators EmcCondCdbR V00-00-03 - added 'friends' for comparators EmcCondP V00-02-02 - added 'friends' for comparators EmcDigiCalib V01-01-01 - added 'friends' for comparators EmcDigiCalibCdbR V00-00-02 - added 'friends' for comparators EmcDigiCalibP V00-01-02 - added 'friends' for comparators EmcGeomCdbR V00-00-02 - added 'friends' for comparators EmcGeomP V00-01-11 - added 'friends' for comparators EmcLayoutP V00-01-04 - added 'friends' for comparators EmcSimGeomCdbR V00-00-01 - added 'friends' for comparators EmcSimGeomP V00-05-01 - added 'friends' for comparators OrcCdbRConverters V00-00-02 - added comparators OrcRunDataCdbR V00-00-02 - added 'friends' for comparators OrcRunDataP V00-09-01 - added 'friends' for comparators SvtCdbRConverters V00-01-03 - added comparators SvtCondCdbR V00-01-02 - added 'friends' for comparators SvtCondP V00-02-02 - added 'friends' for comparators SvtElectronics V00-07-04 - added 'friends' for comparators SvtElectronicsCdbR V00-00-03 - added 'friends' for comparators SvtElectronicsP V00-06-02 - added 'friends' for comparators SvtGeom V00-08-02 - added 'friends' for comparators SvtGeomCdbR V00-00-02 - added 'friends' for comparators SvtGeomP V00-05-01 - added 'friends' for comparators SvtPidCalib V00-02-03 - added 'friends' for comparators SvtPidCalibCdbR V00-00-03 - added 'friends' for comparators SvtPidCalibP V00-02-03 - added 'friends' for comparators SvtSimGeomCdbR V00-00-03 - added 'friends' for comparators SvtSimGeomP V00-08-01 - added 'friends' for comparators ______________________________________________________ 8.10.2 Tags published for the nightly January 17, 2007 SvtCdbRConverters V00-01-04 - added comparators SvtOnline V00-11-04 - fixed bugs in declarations of two accessor methods (added 'const') ______________________________________________________ 8.10.3 Tags published for the nightly January 22, 2007 SvtCdbRConverters V00-01-05 - added comparators for SvtWaferDistortions classes SvtGeomCdbR V00-00-03 - added 'friends' for comparators of SvtWaferDistortions classes SvtGeomP V00-05-02 - added 'friends' for comparators of SvtWaferDistortions classes _______________________________________________________________________ 8.11 More persistent tests for all Ifr*, Cal*, Dch* and Emc* conditions This effort includes: - Implementing tests for comparing converted persistent objects accrosss CDB technologies. -------------------------+--------------+------------+--------------+---------------------------- package | tag before | migrated | tag after | comments/actions -------------------------+--------------+------------+--------------+---------------------------- CdbRooConversionFwk | V02-02-00 | 2006-12-21 | V02-02-02 | - extended reporting implemented in the comparators' framework | | | | - added comparators (and dictionaries) for CDB N-Tuples and some other | | | | common classes. | | | | - more convenience functions added to the comparator utilities | | 2007-01-01 | V02-02-03 | - fixed a bug in the recently added comparision method -------------------------+--------------+------------+--------------+---------------------------- CdbRooConverters | V01-01-13 | 2006-12-21 | V01-01-15 | - enable domparators for Dch*, Cal*, CDB N-Tuple, and misc. classes | | | | - modifications due to the extended interface to the comparision framework -------------------------+--------------+------------+--------------+---------------------------- CalCdbRConverters | V00-01-02 | 2006-12-21 | V00-01-03 | - added comparators | | 2007-01-08 | V00-01-04 | - implement comparators for CalBankT -------------------------+--------------+------------+--------------+---------------------------- CalCdbR | V00-05-01 | 2006-12-21 | V00-05-02 | - added 'friends' for comparators CalDatabase | V00-11-01 | 2006-12-21 | V00-11-02 | - added 'friends' for comparators -------------------------+--------------+------------+--------------+---------------------------- DchCdbRConverters | V00-01-01 | 2006-12-21 | V00-01-02 | - added comparators | | 2007-01-02 | V00-01-03 | - a work around for SunOS compiler in a dictionary of comparators | | 2007-01-08 | V00-01-04 | - register comparators for CalBankT | | 2007-01-17 | V00-01-05 | - added more comparators -------------------------+--------------+------------+--------------+---------------------------- DchCalCdbR | V00-02-02 | 2006-12-21 | V00-02-03 | - added 'friends' for comparators | | 2007-01-17 | V00-02-04 | - added more 'friends' for new comparators | | | | - added 'systemDefinition()' accessor methods in relevant RDL classes -------------------------+--------------+------------+--------------+---------------------------- DchCondCdbR | V00-01-02 | 2006-12-21 | V00-01-03 | - added 'friends' for comparators | | 2007-01-17 | V00-01-04 | - added more 'friends' for new comparators -------------------------+--------------+------------+--------------+---------------------------- DchCondP | V00-03-04 | 2006-12-21 | V00-03-05 | - added 'friends' for comparators | | 2007-01-17 | V00-03-06 | - added more 'friends' for new comparators -------------------------+--------------+------------+--------------+---------------------------- DchGeomBase | V00-03-03 | 2006-12-21 | V00-03-04 | - added 'friends' for comparators DchGeomCdbR | V00-01-01 | 2006-12-21 | V00-01-02 | - added 'friends' for comparators DchGeomP | V01-00-06 | 2006-12-21 | V01-00-07 | - added 'friends' for comparators DchSimGeomCdbR | V00-00-01 | 2006-12-21 | V00-00-02 | - added 'friends' for comparators DchSimGeomP | V00-06-00 | 2006-12-21 | V00-06-01 | - added 'friends' for comparators DetectorModel | V01-04-04 | 2006-12-21 | V01-04-05 | - added 'friends' for comparators DetectorModelCdbR | V00-00-04 | 2006-12-21 | V00-00-05 | - added 'friends' for comparators -------------------------+--------------+------------+--------------+---------------------------- EmcCdbRConverters | V00-02-02 | 2006-12-21 | V00-02-03 | - added 'friends' for comparators EmcSrcCalOnline | V00-06-03 | 2006-12-21 | V00-06-04 | - added an accessort method needed for comparators -------------------------+--------------+------------+--------------+---------------------------- IfrCdbRConverters | V00-01-09 | 2006-12-21 | V00-01-11 | - added comparators | | | | - fixed a bug in a converter for class IfrIronNominalGeomP -------------------------+--------------+------------+--------------+---------------------------- IfrCablingCdbR | V00-00-02 | 2006-12-21 | V00-00-03 | - added 'friends' for comparators IfrCablingP | V00-03-02 | 2006-12-21 | V00-03-03 | - added 'friends' for comparators -------------------------+--------------+------------+--------------+---------------------------- IfrGeomCdbR | V00-00-04 | 2006-12-21 | V00-00-05 | - added 'friends' for comparators | | | | - removed a noisy diagnostic message out of a constructor of the persistent | | | | class IfrIronNominalGeomCdbR -------------------------+--------------+------------+--------------+---------------------------- IfrGeomP | V01-03-02 | 2006-12-21 | V01-03-03 | - added 'friends' for comparators | | | | - removed a noisy diagnostic message out of a constructor of the persistent | | | | class IfrIronNominalGeomP -------------------------+--------------+------------+--------------+---------------------------- IfrOffCondDataCdbR | V00-01-03 | 2006-12-21 | V00-01-04 | - added 'friends' for comparators IfrOffCondDataP | V00-08-01 | 2006-12-21 | V00-08-02 | - added 'friends' for comparators IfrPidCdbR | V00-00-06 | 2006-12-21 | V00-00-07 | - added 'friends' for comparators IfrPidP | V00-18-01 | 2006-12-21 | V00-18-02 | - added 'friends' for comparators -------------------------+--------------+------------+--------------+---------------------------- _______________________________________________________ 8.11.1 Tags published for the nightly December 22, 2006 CdbRooConversionFwk V02-02-02 - extended reporting implemented in the comparators' framework - added comparators (and dictionaries) for CDB N-Tuples and some other common classes. - more convenience functions added to the comparator utilities CdbRooConverters V01-01-15 - enable domparators for Dch*, Cal*, CDB N-Tuple, and misc. classes - modifications due to the extended interface to the comparision framework CalCdbRConverters V00-01-03 - added comparators CalCdbR V00-05-02 - added 'friends' for comparators CalDatabase V00-11-02 - added 'friends' for comparators DchCdbRConverters V00-01-02 - added comparators DchCalCdbR V00-02-03 - added 'friends' for comparators DchCondCdbR V00-01-03 - added 'friends' for comparators DchCondP V00-03-05 - added 'friends' for comparators DchGeomBase V00-03-04 - added 'friends' for comparators DchGeomCdbR V00-01-02 - added 'friends' for comparators DchGeomP V01-00-07 - added 'friends' for comparators DchSimGeomCdbR V00-00-02 - added 'friends' for comparators DchSimGeomP V00-06-01 - added 'friends' for comparators DetectorModel V01-04-05 - added 'friends' for comparators DetectorModelCdbR V00-00-05 - added 'friends' for comparators EmcCdbRConverters V00-02-03 - added comparators EmcSrcCalOnline V00-06-04 - added an accessort method needed for comparators IfrCdbRConverters V00-01-11 - added comparators - fixed a bug in a converter for class IfrIronNominalGeomP IfrCablingCdbR V00-00-03 - added 'friends' for comparators IfrCablingP V00-03-03 - added 'friends' for comparators IfrGeomCdbR V00-00-05 - added 'friends' for comparators - removed a noisy diagnostic message out of a constructor of the persistent class IfrIronNominalGeomCdbR IfrGeomP V01-03-03 - added 'friends' for comparators - removed a noisy diagnostic message out of a constructor of the persistent class IfrIronNominalGeomP IfrOffCondDataCdbR V00-01-04 - added 'friends' for comparators IfrOffCondDataP V00-08-02 - added 'friends' for comparators IfrPidCdbR V00-00-07 - added 'friends' for comparators IfrPidP V00-18-02 - added 'friends' for comparators _____________________________________________________ 8.11.2 Tags published for the nightly January 1, 2007 CdbRooConversionFwk V02-02-03 - fixed a bug in the recently added comparision method _____________________________________________________ 8.11.3 Tags published for the nightly January 2, 2007 DchCdbRConverters V00-01-03 - a work around for SunOS compiler in a dictionary of comparators _____________________________________________________ 8.11.4 Tags published for the nightly January 8, 2007 CalCdbRConverters V00-01-04 - implement comparators for CalBankT DchCdbRConverters V00-01-04 - register comparators for CalBankT ______________________________________________________ 8.11.5 Tags published for the nightly January 17, 2007 DchCdbRConverters V00-01-05 - added more comparators DchCalCdbR V00-02-04 - added more 'friends' for new comparators - added 'systemDefinition()' accessor methods in relevant RDL classes DchCondCdbR V00-01-04 - added more 'friends' for new comparators DchCondP V00-03-06 - added more 'friends' for new comparators ___________________________________________ 9 Implementing & testing MySQL+ROOT CDB API NOTE: See A3 for a list of suggested improvements to the API implementation and related procedures. ______________________________________________ 9.1 Core CDB API implementation and converters This effort includes: - Implementing and testing the core CDB API for MySQL+ROOT - Implementing and testing converters from Objectivity/DB into MySQL+ROOT -------------------------+--------------+------------+--------------+---------------------------- package | tag before | migrated | tag after | comments/actions -------------------------+--------------+------------+--------------+---------------------------- CdbBase | V01-22-02 | 2006-11-22 | V01-22-03 | - added class CdbCompressedData needed by the API implementations | | 2007-01-09 | V01-22-05 | - fixed a bug in an implementation of the technology-neutral | | | | proxy class template: CdbProxyBaseUsingRevision -------------------------+--------------+------------+--------------+---------------------------- CdbRoo | V00-02-04 | 2006-11-22 | V00-02-05 | - added data compression/decompresion utility class CdbRooCompressionUtils -------------------------+--------------+------------+--------------+---------------------------- CdbSQL | V00-02-01 | 2006-11-22 | V00-03-00 | - reimplemented/redesigned a few core classes/interfaces of the API implementation | | | | - fixed one bug | | 2007-01-08 | V00-03-02 | - fixed an implementation of the condition fetching method | | | | CdbCondition::findObject() to return CdbStatus::NotFound when no object | | | | exists at the specified validity point. This will make a behavior of | | | | this CDB API implementation consistent with others. -------------------------+--------------+------------+--------------+---------------------------- CdbMySQL | V00-00-11 | 2006-11-22 | V00-01-00 | - implemented a support for objects compression/decompression -------------------------+--------------+------------+--------------+---------------------------- CdbRooDatabase | V00-03-01 | 2006-11-22 | V00-04-00 | - modifications related to data compression/decompression | | | | - implemented new test case; moved two others into another package -------------------------+--------------+------------+--------------+---------------------------- CdbMySQLConversionFwk | V00-00-00 | 2006-11-22 | V00-01-00 | - moved converter CdbBdb2MySQLConversionTool into CdbRooConversionFwk. | | | | NOTE: Now it's an obsolete package, and it should be removed from releases. -------------------------+--------------+------------+--------------+---------------------------- CdbRooConversionFwk | V02-01-02 | 2006-11-22 | V02-02-00 | - redesigned 'payload' converters to have a common base class | | | | - implemented conversion fremaworks for MySQL+ROOT CDB API implementation | | | | - moved in converter CdbBdb2MySQLConversionTool from obsolete CdbMySQLConversionFwk | | 2007-01-08 | V02-02-04 | - fixed a bug in the Objectivity-to-MySQL metadata converter -------------------------+--------------+------------+--------------+---------------------------- CdbRooConverters | V01-01-10 | 2006-11-28 | V01-01-12 | - added a complete 'payload' converter for known DL and RDL classes | | | | - follow up change sin the basse conversion framework -------------------------+--------------+------------+--------------+---------------------------- PackageList | V00-15-03 | 2006-11-22 | V00-16-00 | - got rid of obsolete CdbMySQLConversionFwk | | | | - changed locations of CdbRooConversionFwk, CdbTableCdbRConverters | | | | and CdbRooConverters. -------------------------+--------------+------------+--------------+---------------------------- ______________________________________________________ 9.1.1 Tags published for the nightly November 28, 2006 CdbBase V01-22-03 - added class CdbCompressedData needed by the API implementations CdbRoo V00-02-05 - added data compression/decompresion utility class CdbRooCompressionUtils CdbSQL V00-03-00 - reimplemented/redesigned a few core classes/interfaces of the API implementation - fixed one bug CdbMySQL V00-01-00 - implemented a support for objects compression/decompression CdbRooDatabase V00-04-00 - modifications related to data compression/decompression - implemented new test case; moved two others into another package CdbMySQLConversionFwk V00-01-00 - moved converter CdbBdb2MySQLConversionTool into CdbRooConversionFwk. NOTE: Now it's an obsolete package, and it should be removed from releases. CdbRooConversionFwk V02-02-00 - redesigned 'payload' converters to have a common base class - implemented conversion fremaworks for MySQL+ROOT CDB API implementation - moved in converter CdbBdb2MySQLConversionTool from obsolete CdbMySQLConversionFwk CdbRooConverters V01-01-12 - added a complete 'payload' converter for known DL and RDL classes - follow up change sin the basse conversion framework PackageList V00-16-00 - got rid of obsolete CdbMySQLConversionFwk - changed locations of CdbRooConversionFwk, CdbTableCdbRConverters and CdbRooConverters. _____________________________________________________ 9.1.2 Tags published for the nightly January 08, 2007 CdbSQL V00-03-02 - fixed an implementation of the condition fetching method CdbCondition::findObject() to return CdbStatus::NotFound when no object exists at the specified validity point. This will make a behavior of this CDB API implementation consistent with others. CdbRooConversionFwk V02-02-04 - fixed a bug in the Objectivity-to-MySQL metadata converter _____________________________________________________ 9.1.3 Tags published for the nightly January 09, 2007 CdbBase V01-22-05 - fixed a bug in an implementation of the technology-neutral proxy class template: CdbProxyBaseUsingRevision ____________________________________________________________________ 9.2 Supporting multiple CDB API technologies; CDB API initialization This effort includes: - Extending the BaBar SRT "dynamic" dependency scheme to allow multiple technologies to be linked with an application. In essense, what we want to cope with is setting the following: CDBDECH = Bdb Roo Then we would link an applications with two sets of translators properly registred with the corresponding technology-specific dictionaries. - The above mentioned change is being complemented with the corresponding support/modifications at a level of CDB API and its implementations. One important modification is about the use of the "technology" method of class CdbApiInit. It should return a list of all technologies: "Roo Bdb" "Roo" "Bdb" We also need to revisit an initialization scheme for CDB API implementations to cope with default tecnologies when registering translators from within the CdbApiInit::initialize() method. Another improvement in translators would be to extend the API of the very base class of translators to return the technology like this: class CdbObjectTranslator { public: .. virtual const char* technology() const = 0; .. }; Then the corresponding technology-specific base class for translators would get provide the right string. This information will be used when registering translators through class Cdb. Another *IMPORTANT* thing is to register translators for _technology_, not for a particular CDB API implementation. For that we may shift translators from a specific CDB API to a dictionary of API-s. Modifications would be needed at a level of class Cdb. - Self-initialization of CDB API implementations: o do _NOT_ rely on CdbApiInit::technology() method o do _NOT_ attempt to set up itself as a default o Setting up the default API should be done outside of the CDB API, in the end of CdbApiInit::initialize() based on values of the environment variables OO_FD_BOOT and/or CDB_ROO_BOOT. The later has a precedence over the former one. Build a proper logic in CdbApiInit::initialize() to take into account values of the variables as well as a value of CDBTECH. o Reconsidered an initialization logic among implementations within the same technology. here is the logic: "..I don't care which technology is the default one, but within the XYZ technology I'm going to be the default one..." Meanwhile a decision on which _technology_ to chhose as the default one should rely upon the external logic like CdbApiInit::initialize() or an explict user request. - Modified the CDB Framework module. Added a test application to excersise the modifications. Tested if it works for multiple technologies. Relevant tags: -------------------------+--------------+------------+--------------+---------------------------- package | tag before | migrated | tag after | comments/actions -------------------------+--------------+------------+--------------+---------------------------- CdbBase | V01-22-06 | 2007-01-24 | V01-23-00 | - redesigned an initialization logic of CDB API implementations and | | | | a way the default parameters are handled. The changes are aiming | | | | at applications linked with more than one persistent technology. | | 2007-01-29 | V01-23-01 | - extended an interface of class CdbObject (adding method typeKey()) | | | | - using the above added method in the look up mechanims for translators | | | | - added CDB API initialization into all methods of the CdbEnvironment facility | | | | - changed a meaning of the CdbApiInit::technology() method; now it retruns | | | | a list of space separated names of technologies an application is linked against | | | | (for which translators and factories are available) using Makefile's CDBTECH. | | | | Note, that this doesn't preclude an application from installing other CDB API | | | | implementations | | 2007-02-02 | V01-24-00 | - put back the older interface for finding "proxies" (backward compatibility issues) | | 2007-02-09 | V01-24-01 | - fixed a bug in an implementation of class CdbEnvironmentImpl -------------------------+--------------+------------+--------------+---------------------------- CdbBdb | V01-08-03 | 2007-01-24 | V01-09-00 | - modifications made due to changed initialization logic of CDB API implementations | | 2007-01-29 | V01-09-01 | - implement extended interface of class CdbObject (adding method typeKey()) | | | | - reimplemented translators to avoid launching transactions when registering them in | | | | a dictionary. The change is required by the updated CDB API initialization logic. | | 2007-02-02 | V01-09-02 | - added an intermediate tech-specific base class for "proxies" -------------------------+--------------+------------+--------------+---------------------------- CdbFwkModules | V00-00-07 | 2007-01-29 | V00-01-00 | - extended the API of module CdbApiInitModule to allow setting the default view | | | | - reimplemented the module to be consistent with the new CDB API initialization logic | | | | - added a simple (Framework based) test application in order to exercise the new features | | 2007-02-09 | V00-01-01 | - fixed a bug in an implementation of module CdbApiInitModule -------------------------+--------------+------------+--------------+---------------------------- CdbRoo | V00-02-06 | 2007-01-24 | V00-03-00 | - modifications made due to changed initialization logic of CDB API implementations | | 2007-01-29 | V00-03-01 | - implement extended interface of class CdbObject (adding method typeKey()) | | 2007-02-02 | V00-03-02 | - added an intermediate tech-specific base class for "proxies" -------------------------+--------------+------------+--------------+---------------------------- CdbRooReadonly | V02-04-06 | 2007-01-24 | V02-05-00 | - modified to follow up the new initialization logic for for CDB API | | 2007-01-31 | V02-05-01 | - reinforced the API instantiation logic to allow applications to call | | | | the ::forceLoad() method directly. The modification is needed due to | | | | new API initialization logic. -------------------------+--------------+------------+--------------+---------------------------- CdbRooDatabase | V00-04-00 | 2007-01-24 | V00-05-00 | - modified to follow up the new initialization logic for for CDB API | | 2007-01-31 | V00-05-01 | - reinforced the API instantiation logic to allow applications to call | | | | the ::forceLoad() method directly. The modification is needed due to | | | | new API initialization logic. -------------------------+--------------+------------+--------------+---------------------------- CdbBdbWrapper | V01-07-01 | 2007-01-24 | V01-08-00 | - modified to follow up the new initialization logic for for CDB API | | 2007-01-31 | V01-08-01 | - reinforced the API instantiation logic to allow applications to call | | | | the ::forceLoad() method directly. The modification is needed due to | | | | new API initialization logic. -------------------------+--------------+------------+--------------+---------------------------- CdbBdbShared | V01-07-02 | 2007-01-24 | V01-08-00 | - modified to follow up the new initialization logic for for CDB API | | 2007-01-31 | V01-08-01 | - reinforced the API instantiation logic to allow applications to call | | | | the ::forceLoad() method directly. The modification is needed due to | | | | new API initialization logic. -------------------------+--------------+------------+--------------+---------------------------- CdbRooTools | V00-00-01 | 2007-01-29 | V00-00-02 | - reinforced the manager application by setting the right technology as the default -------------------------+--------------+------------+--------------+---------------------------- CdbTools | V01-03-04 | 2007-01-29 | V01-03-05 | - reinforced the manager application by setting the right technology as the default -------------------------+--------------+------------+--------------+---------------------------- CdbRooTests | V00-02-02 | 2007-01-29 | V00-02-03 | - reinforced test application by setting the right technology as the default | | | | - added a multy-technology test reader -------------------------+--------------+------------+--------------+---------------------------- SoftRelTools | V00-23-29 | 2007-01-29 | V00-23-30 | - Extended CDB "dynamic" dependencies generation scheme to support | | | | multiple CDB "technologies" (persistencies) for relevant applications. | | | | Modifications require the corresponding tags from CDB API. | | 2007-01-31 | V00-23-31 | - Fixed a bug in a Perl script generating CDB API initialization code -------------------------+--------------+------------+--------------+---------------------------- MapDetectorP | V00-05-02 | 2007-02-02 | V00-05-03 | - Migrated to the new base class for CDB "proxies" MapDetectorCdbR | V00-00-02 | 2007-02-02 | V00-00-03 | - Migrated to the new base class for CDB "proxies" -------------------------+--------------+------------+--------------+---------------------------- _____________________________________________________ 9.2.1 Tags published for the nightly January 29, 2007 CdbBase V01-23-01 - redesigned an initialization logic of CDB API implementations and handling default parameters of the API. The changes are aiming at applications linked with more than one persistent technology. - extended an interface of class CdbObject (adding method typeKey()) - using the above added method in the look up mechanims for translators - added an automatic CDB API initialization into all methods of the CdbEnvironment facility - changed a meaning of the CdbApiInit::technology() method; now it returns a list of space separated names of technologies an application is linked against (for which translators and factories are available) as requitested by Makefile's CDBTECH. CdbBdb V01-09-01 - modifications made due to changed initialization logic of CDB API implementations - implement extended interface of class CdbObject (adding method typeKey()) - reimplemented translators to avoid launching transactions when registering them in a dictionary. The change is required by the new CDB API initialization logic. It will also allow to run a multy-technology application against a ROOT based CDB when no valid Objectivity/DB federation is available. CdbFwkModules V00-01-00 - extended the API of module CdbApiInitModule to allow setting the default view - reimplemented the module to be consistent with the new CDB API initialization logic - added a simple (Framework based) test application in order to exercise the new features CdbRoo V00-03-01 - modifications made due to changed initialization logic of CDB API implementations - implement extended interface of class CdbObject (adding method typeKey()) CdbRooReadonly V02-05-00 - modified to follow up the new initialization logic for for CDB API CdbRooDatabase V00-05-00 - modified to follow up the new initialization logic for for CDB API CdbBdbWrapper V01-08-00 - modified to follow up the new initialization logic for for CDB API CdbBdbShared V01-08-00 - modified to follow up the new initialization logic for for CDB API CdbRooTools V00-00-02 - reinforced the manager application by setting the right technology as the default CdbTools V01-03-05 - reinforced the manager application by setting the right technology as the default CdbRooTests V00-02-03 - reinforced test applications by setting the right default technology - added a multy-technology test reader SoftRelTools V00-23-30 - Extended CDB "dynamic" dependencies generation scheme to support multiple CDB "technologies" (persistencies) for relevant applications. Modifications require the corresponding tags from CDB API. _____________________________________________________ 9.2.2 Tags published for the nightly January 31, 2007 CdbRooReadonly V02-05-01 - reinforced the API instantiation logic to allow applications to call the ::forceLoad() method directly. The modification is needed due to new API initialization logic. CdbRooDatabase V00-05-01 - reinforced the API instantiation logic to allow applications to call the ::forceLoad() method directly. The modification is needed due to new API initialization logic. CdbBdbWrapper V01-08-01 - reinforced the API instantiation logic to allow applications to call the ::forceLoad() method directly. The modification is needed due to new API initialization logic. CdbBdbShared V01-08-01 - reinforced the API instantiation logic to allow applications to call the ::forceLoad() method directly. The modification is needed due to new API initialization logic. SoftRelTools V00-23-31 - fixed a bug in a Perl script generating CDB API initialization code _____________________________________________________ 9.2.3 Tags published for the nightly February 2, 2007 CdbBase V01-24-00 - put back the older interface for finding "proxies" (backward compatibility issues) CdbBdb V01-09-02 - added an intermediate tech-specific base class for "proxies" CdbRoo V00-03-02 - added an intermediate tech-specific base class for "proxies" MapDetectorP V00-05-03 - migrated to the new base class for CDB "proxies" MapDetectorCdbR V00-00-03 - migrated to the new base class for CDB "proxies" _____________________________________________________ 9.2.4 Tags published for the nightly February 9, 2007 CdbBase V01-24-01 - fixed a bug in an implementation of class CdbEnvironmentImpl CdbFwkModules V00-01-01 - fixed a bug in an implementation of module CdbApiInitModule ___________________________ 9.3 MySQL replication tests This effort includes: - tesing Andy's Python script: RdbMySQLRepl/CdbMySQLMirror - testing 'out-of-box' backup tools from MySQL Tests are meant to study performance and limitations of each approach. An ultimate goal is to develop two sets of tools for: 1. Setting up a new MySQL CDB to "mirror" MASTER CDB 2. Doing routine cross-server synchronizations for production activities _________________________________ 9.3.1 RdbMySQLRepl/CdbMySQLMirror In order to run the test in older releases one needs to bring another Python script (and 'gmake' it) into the same test release: BbrPython Otherwise the main script won't work because of some missing library entries. Also we need to create the right configuration file to tell the script to copy the local databases. Full replication of: CDB_ROO_BOOT = mysql::host=bbr-tstmysql,database=cdb_clone Into: CDB_ROO_BOOT = mysql::host=bbr-tstmysql,database=cdb_clone_1 Preliminary results: - complete mirroring took ~2 hrs when running from 'yakut01' - just verifying took ~20 minutes To do: - improve the script to report statistics for each table on the same line where the table name gets printed. - may need to copy indeces as well. Ask Andy. _________________________________ 9.3.2 RdbMySQLRepl/CdbMySQLMirror Dumping a complete snapshot of: CDB_ROO_BOOT = mysql::host=bbr-tstmysql,database=cdb_clone onto a local disk of 'yakut01' took ~2 hrs. The resulting file was roughly of the same size as the input database installation (slightly over 15 GB): % ls -al /usr/work/gapon/mysl_backups/ total 17995324 drwxr-xr-x 2 gapon ec 4096 Jan 17 17:14 . drwxr-xr-x 11 gapon ec 4096 Jan 22 16:42 .. -rw-r--r-- 1 gapon ec 17044720007 Jan 17 18:33 20070117_cdb_clone_1.sql -rw-r--r-- 1 gapon ec 1364472235 Jan 17 17:20 20070117_cdb_clone_1_o256.sql Making a backup of the IR2 part only was very quick (<20 minutes). This needs to be retested one more time. Trying to load the file back into a destination database hasn't been very successfull from the performance standpoint - the process of loading was so slow (at least x10 slower than the back up itself), so it was abrupted. We may try to lock all relevant tables before to load them (is this really possible if the tables do not exist yet?). We may also study an effect of indeces and/or primary keys. Another option would be to write a custom copy tool in C++ using precompiled SQL statement to reduce an amount of time needed for loading. We may also try to write a parallel (possibly - multy-threaded) version of the tool to copy each table simultaneously. _________ APPENDINX ______________________________________________________________ A.1 Present status of the CdbR packages as of October 05, 2006 Here is a list of packages and their migration status: ----------------------------------------------------------------------- Package (DDL) (RDL) Status Comments --------------------- --------------------- ------ ----------------- BFieldP BFieldCdbR + BdbTclParmP BdbTclParmCdbR + CalDatabase CalCdbR - Andy's : Cal* migration ? DchCalCdbR - Andy's : Cal* migration DchCondP DchCondCdbR + DchGeomP DchGeomCdbR + DchSimGeomP DchSimGeomCdbR + ? DetectorModelCdbR - Igor's ; turn into a 'provider' DrcCalibP DrcCalibCdbR - Andy's : Cal* migration (NOT IN RELEASES YET) DrcElectronicsP DrcElectronicsCdbR + DrcGeomP DrcGeomCdbR + EffTableP EffTableCdbR + ? EmcCalCdbR - Andy's : Cal* migration EmcCalibTooP EmcCalibTooCdbR + EmcCondP EmcCondCdbR + EmcDigiCalibP EmcDigiCalibCdbR + EmcGeomP EmcGeomCdbR + <- also has stuff migrated from 'EmcLayoutP'? EmcHwDbP EmcHwDbCdbR + EmcLayoutP - - <- see 'EmcGeomCdbR' EmcSimGeomP EmcSimGeomCdbR + FctCondP FctCondCdbR + FiltEnvP FiltEnvCdbR + IfrCablingP IfrCablingCdbR + IfrCorrectionsP IfrCorrectionsCdbR + IfrGeomP IfrGeomCdbR + IfrMuMuEffP IfrMuMuEffCdbR + IfrOffCondDataP IfrOffCondDataCdbR + IfrPidP IfrPidCdbR + IfrSimGeomP IfrSimGeomCdbR + MapDetectorP - - Waiting for Al Eisner's QA & tests MatEnvP MatCdbR + OrcRunDataP OrcRunDataCdbR + PepCondP PepCdbR + PepSimGeomP PepSimGeomCdbR + SvtCondP SvtCondCdbR + SvtElectronicsP SvtElectronicsCdbR + SvtGeomP SvtGeomCdbR + SvtPidCalibP SvtPidCalibCdbR + SvtSimGeomP SvtSimGeomCdbR + TrkGeomP TrkGeomCdbR + --------------------------------------------------------------------- Note the following: 1. The existing DDL packages have to be cross-checked against the RDL ones to see of there are persistent classes still missing in their RDL incarnation. 2. The corresponding Bdb2Roo converters for the new classes should be added as well. 3. There will be two persistent schemas for ROOT: the one for BetaMiniRooApp (Jane's), and the new one compatible with the refactored code (served via technology-neutral CDB API from both Bdb and Roo persistency specific providers). We need to figure out how to keep building snapshot of both schemas. One way would be to add a concept of a schema version. Another one - just jave two sets of converters in the XxxCdbRConverters/ packages and build two binaries from each set of them. The second choice seems to be a bit simple as it won't require com[plex modifications at a core CDB layer. _______________________________________________________________________________________ A.2 Leftover code for refactoring to the tech-neutral interfaces as of October 26, 2006 BdbTclParmP/BdbTclWriteTool.cc - must be moved to BdbTclParm/ an refactored ________________________________________________________________ A.3 Code improvments for MySQL+ROOT CDB API of December 06, 2006 ________________ Code refactoring Refactor table creation code to do it via a single utility class: "CdbMySQLSchema" ___________________ Optimization issues See what we can do about caching various metadata (origins, partitions, clusters, physical conditions, views, etc.). Th efirst step to diagnoze the problem would be to turn on printing SQL statements made by the API. Perhaps the best candidate for the caching would be tables: local origins partitions A consistent and well-though approach to the caching needs to be developed in order to allow the following applications to work properly: - writing applications, which both read and wrire from the database. They should be able to read from the database whatever they had written before. Perhaps caching should be disabled for writing at all, or relevant caches should be automatically invalidated after writing. - ONLINE applications whose logic is based on an expectation that the API would always deliver the fresh data out of the database. Perhaps there must be a way (in CDB API) to explicitly turn the caching OFF. Or it can be an option of the CdbApiInitModule. ______________________________________________________________ A.4 ROOT version (5.13 and newer) related crash in comparators Crashing when comparing: equal | /drc/CalBankT.DrcStatusType[0] CONDITION : /drc/CalBankT.DrcAdcType[0] BDB OID : #333-31-1-34 <-> ROO OID: R256-126-0-3-0-0-0-109 Here is how to debug it: run condition "/drc/CalBankT.DrcAdcType[0]" 3218860801.0 -verbose -debug The problem can also be reproduced using (the test needs to be slightly modified to retrieve the very first channel ->channel(0) and trying to usw any virtual function of the embedded CalChan type): % addpkg CdbRooTests % gmake CdbRooTests.CdbRooSimplestWriterTest % setenv CDB_ROO_BOOT ... % CdbRooSimplestWriterTest "/drc/CalBankT.DrcAdcType[0]" 3218860801.0 It has turned out to be a bug in newer versions of ROOT. The problem has been investigated by Andy S. and reported to ROOT developers in this thread: https://savannah.cern.ch/bugs/?func=detailitem&item_id=23217 It has also been reported to BaBar community: http://babar-hn.slac.stanford.edu:5090/HyperNews/get/KanSOS/628.html _____________________________ Current status of the problem The problem hasn't been solved yet. Any BaBAr releases from 22.* series which are using ROOT versions above 5.10 are disfunctional (from a CDB point of view).