Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

DbiSqlContext.cxx

Go to the documentation of this file.
00001 // $Id: DbiSqlContext.cxx,v 1.5 2006/08/08 10:51:32 west Exp $
00002 
00003 #include "DatabaseInterface/DbiSqlContext.h"
00004 #include "LeakChecker/Lea.h"
00005 #include "MessageService/MsgService.h"
00006 
00007 ClassImp(DbiSqlContext)
00008 
00009 
00010 //   Definition of static data members
00011 //   *********************************
00012 
00013 CVSID("$Id: DbiSqlContext.cxx,v 1.5 2006/08/08 10:51:32 west Exp $");
00014 
00015 // Definition of member functions (alphabetical order)
00016 // ***************************************************
00017 
00018 //.....................................................................
00019 
00020 DbiSqlContext::DbiSqlContext(const std::string& ctxt) :
00021 DbiString(ctxt),
00022 fIntervalType(kUndefined),
00023 fDetType(Detector::kUnknown),
00024 fSimType(SimFlag::kUnknown)
00025 {
00026 //
00027 //  Purpose:  Default constructor
00028 //
00029 //  Contact:   N. West
00030 //
00031 
00032   LEA_CTOR    //Leak Checker
00033 
00034   MSG("Dbi", Msg::kVerbose) << "Creating DbiSqlContext" << endl;
00035 
00036 }
00037 //.....................................................................
00038 
00039 DbiSqlContext::DbiSqlContext(IntervalType interval,
00040                              VldTimeStamp start,
00041                              VldTimeStamp end,
00042                              Detector::Detector_t det,    
00043                              SimFlag::SimFlag_t sim) :
00044 fIntervalType(interval),
00045 fTimeStart(start),
00046 fTimeEnd(end),
00047 fDetType(det),
00048 fSimType(sim)
00049 {
00050 //
00051 //  Purpose:  Main constructor
00052 //
00053 //  Contact:   N. West
00054 //
00055 
00056   LEA_CTOR    //Leak Checker
00057 
00058   MSG("Dbi", Msg::kVerbose) << "Creating DbiSqlContext" << endl;
00059 
00060   switch (interval) {
00061 
00062   case kBefore:
00063     (*this) <<     "TIMEEND <= \'"   << start.AsString("s") << '\'';
00064     break;
00065 
00066   case kAfter:
00067     (*this) <<     "TIMESTART >= \'" << end.AsString("s")   << '\'';
00068     break;
00069 
00070   case kMisses:
00071     (*this) <<     "TIMESTART >= \'" << end.AsString("s")   << '\''
00072             << " or TIMEEND <= \'"   << start.AsString("s") << '\'';
00073     break;
00074 
00075   case kThroughout:
00076     (*this) <<     "TIMESTART <= \'" << start.AsString("s") << '\''
00077             << " and TIMEEND >= \'"  << end.AsString("s")   << '\'';
00078     break;
00079 
00080   case kWithin:
00081     (*this) <<     "TIMESTART >= \'" << start.AsString("s") << '\''
00082             << " and TIMEEND <= \'"  << end.AsString("s")   << '\'';
00083     break;
00084 
00085   case kOverlaps:
00086     (*this) <<     "TIMESTART < \'"  << end.AsString("s")   << '\''
00087             << " and TIMEEND > \'"   << start.AsString("s") << '\'';
00088     break;
00089 
00090   case kStarts:
00091     (*this) <<     "TIMESTART >= \'" << start.AsString("s") << '\''
00092             << " and TIMESTART < \'" << end.AsString("s")   << '\'';
00093     break;
00094 
00095   case kEnds:
00096     (*this) <<     "TIMEEND > \'"    << start.AsString("s") << '\''
00097             << " and TIMEEND <=  \'" << end.AsString("s")   << '\'';
00098     break;
00099 
00100   default:
00101     (*this) << " 1 = 0 "; //An impossible condition (hopefully)
00102   }
00103 
00104   (*this) << " and DetectorMask & " << static_cast<unsigned int>(fDetType) 
00105           << " and SimMask & "      << static_cast<unsigned int>(fSimType);
00106 }
00107 
00108 
00109 //.....................................................................
00110 
00111 DbiSqlContext::~DbiSqlContext() {
00112 //
00113 //
00114 //  Purpose: Destructor
00115 //
00116 //  Contact:   N. West
00117 //
00118 
00119   LEA_DTOR    //Leak Checker
00120 
00121   MSG("Dbi", Msg::kVerbose) << "Destroying DbiSqlContext" << endl;
00122 
00123 }
00124 
00125 
00126 /*    Template for New Member Function
00127 
00128 //.....................................................................
00129 
00130 DbiSqlContext:: {
00131 //
00132 //
00133 //  Purpose:  
00134 //
00135 //  Arguments: 
00136 //    xxxxxxxxx    in    yyyyyy
00137 //
00138 //  Return:    
00139 //
00140 //  Contact:   N. West
00141 //
00142 //  Specification:-
00143 //  =============
00144 //
00145 //  o 
00146 
00147 //  Program Notes:-
00148 //  =============
00149 
00150 //  None.
00151 
00152 
00153 }
00154 
00155 */
00156 

Generated on Mon Feb 15 11:06:34 2010 for loon by  doxygen 1.3.9.1