Page History
- 2012-Nov-13 15:22 adesmet
- 2010-Jan-27 11:16 jfrey
- 2010-Jan-27 09:30 jfrey
- 2010-Jan-26 13:02 jfrey
- 2009-Nov-06 01:14 jfrey
- 2009-Nov-03 15:00 jfrey
- 2009-Oct-08 11:54 jfrey
- 2009-Apr-08 16:02 jfrey
- 2009-Apr-03 15:19 jfrey
- 2009-Apr-01 14:33 nleroy
- 2009-Mar-16 10:30 jfrey
- 2009-Feb-20 13:07 jfrey
- 2009-Feb-20 01:33 jfrey
- 2009-Feb-20 01:33 jfrey
- 2009-Feb-18 16:37 jfrey
- 2009-Feb-17 15:41 jfrey
- 2009-Feb-17 15:40 jfrey
- 2009-Feb-17 14:42 jfrey
- 2009-Feb-13 09:45 jfrey
- 2009-Feb-13 09:45 jfrey
- 2009-Feb-11 21:41 nleroy
- 2009-Feb-11 21:33 nleroy
- 2009-Feb-11 14:50 jfrey
- 2009-Feb-11 14:32 jfrey
- 2009-Feb-11 12:05 nleroy
- 2009-Feb-11 11:51 nleroy
Conversion to New ClassAds
This is part of ticket #187.
Analysis of Condor's use of old ClassAds
- Old ClassAd usage summary - A summary of the number of call sites in the Condor code for each Old ClassAds method.
- Old ClassAd usage details - Details of the number of call sites in the Condor code for each Old ClassAds method, and where it's called from.
- The wiki code for the individual calls is available in /p/condor/workspaces/nleroy/OldClassAdWiki -- the summary and detail files above are in there, as well as the code for each of the above, each in it's own file.
Additional conversion info
Direct use of ExprTree
Many parts of the code do the following to evaluate an expression in the context of a ClassAd:- Parse() to create an ExprTree
- ExprTree::EvalTree() to evaluate it against an ad
- Examine the resulting ExprResult object
These need to be converted to the following sequence:
- ClassAdParser::ParseExpression()
- ExprTree::SetParentScope()
- ExprTree::Evaluate()
- Examine the resulting Value object
This work can probably be done mostly by a student.
ClassAdList
There is no equivalent to the ClassAdList class in new ClassAds. We propose writing a compatibility ClassAdList that's a simple wrapper around an STL vector of ClassAd pointers. We would emulate the interface of the old ClassAdList, but not the reference counting. Nowhere do we put the same ClassAd into multiple ClassAdLists.In a couple places (matchmaker.cpp and condor_query.cpp), we move an ad from one list to another. For these locations, we'll need to add a method to allow movement without deletion.