/[PAMELA software]/chewbacca/YodaProfiler/src/GLTables.cpp
ViewVC logotype

Diff of /chewbacca/YodaProfiler/src/GLTables.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.12 by mocchiut, Tue Dec 15 09:58:25 2009 UTC revision 1.19 by mocchiut, Tue Oct 14 13:19:31 2014 UTC
# Line 33  ClassImp(GL_TLE); Line 33  ClassImp(GL_TLE);
33  using namespace std;  using namespace std;
34    
35  Q2TH::Q2TH(TString host, TString user, TString psw){  Q2TH::Q2TH(TString host, TString user, TString psw){
36      this->Open(host,user,psw);
37    };
38    
39    void Q2TH::Open(TString host, TString user, TString psw){
40    fh = gSystem->ExpandPathName(host.Data());    fh = gSystem->ExpandPathName(host.Data());
41    fu = gSystem->ExpandPathName(user.Data());    fu = gSystem->ExpandPathName(user.Data());
42    fp = gSystem->ExpandPathName(psw.Data());    fp = gSystem->ExpandPathName(psw.Data());
43      printf(" Connecting to DB %s \n",fh.Data());
44    dbc = TSQLServer::Connect(fh.Data(),fu.Data(),fp.Data());    dbc = TSQLServer::Connect(fh.Data(),fu.Data(),fp.Data());
45      if ( dbc && dbc->IsConnected() ){
46        printf(" connected! \n");
47      } else {
48        printf(" ERROR! not connected... :( \n");
49      };
50  };  };
51    
52  TObject *Q2TH::Draw(TString query, Bool_t verbose, TString hname){  TObject *Q2TH::Draw(TString query, Bool_t verbose, TString hname){
# Line 58  TObject *Q2TH::Draw(TString query, Bool_ Line 68  TObject *Q2TH::Draw(TString query, Bool_
68      return NULL;      return NULL;
69    };    };
70    //    //
71      if (Row)
72        delete Row;
73    pResult = dbc->Query(query.Data());    pResult = dbc->Query(query.Data());
74    //    //
75    Row = pResult->Next();          Row = pResult->Next();      
# Line 87  TObject *Q2TH::Draw(TString query, Bool_ Line 99  TObject *Q2TH::Draw(TString query, Bool_
99        if ( f2 < minf2 ) minf2 = f2;        if ( f2 < minf2 ) minf2 = f2;
100    
101      };      };
102        if (Row)
103          delete Row;
104      Row = pResult->Next();      Row = pResult->Next();
105    };    };
106    pResult->Delete();    pResult->Delete();
# Line 126  TObject *Q2TH::Draw(TString query, Bool_ Line 140  TObject *Q2TH::Draw(TString query, Bool_
140    //    //
141    pResult = dbc->Query(query.Data());    pResult = dbc->Query(query.Data());
142    //    //
143      if (Row)
144        delete Row;
145    Row = pResult->Next();          Row = pResult->Next();      
146    //    //
147    Int_t r = 0;    Int_t r = 0;
# Line 141  TObject *Q2TH::Draw(TString query, Bool_ Line 157  TObject *Q2TH::Draw(TString query, Bool_
157        h2->Fill(f1,f2);        h2->Fill(f1,f2);
158      };      };
159      r++;      r++;
160        if (Row)
161          delete Row;
162      Row = pResult->Next();      Row = pResult->Next();
163    };    };
164    //    //
# Line 154  TObject *Q2TH::Draw(TString query, Bool_ Line 172  TObject *Q2TH::Draw(TString query, Bool_
172    if ( dim == 1 ) h1->Draw();    if ( dim == 1 ) h1->Draw();
173    if ( dim == 2 ) h2->Draw();    if ( dim == 2 ) h2->Draw();
174    //    //
175      if (Row)
176        delete Row;
177    pResult->Delete();    pResult->Delete();
178    if ( dim == 1 ) return h1;    if ( dim == 1 ) return h1;
179    if ( dim == 2 ) return h2;    if ( dim == 2 ) return h2;
# Line 203  Bool_t GL_TABLES::IsConnected(TSQLServer Line 223  Bool_t GL_TABLES::IsConnected(TSQLServer
223    myquery << "show databases;";    myquery << "show databases;";
224    if ( dbc ){    if ( dbc ){
225      if ( dbc->IsConnected() ){      if ( dbc->IsConnected() ){
226        dbc->Query(myquery.str().c_str());        delete dbc->Query(myquery.str().c_str());
227        fNquery++;        fNquery++;
228        if ( !(dbc->GetErrorCode()) ){        if ( !(dbc->GetErrorCode()) ){
229          //      printf("ok\n");          //      printf("ok\n");
# Line 227  Bool_t GL_TABLES::IsConnected(TSQLServer Line 247  Bool_t GL_TABLES::IsConnected(TSQLServer
247      if ( dbc ){      if ( dbc ){
248        dbc->Close();        dbc->Close();
249        delete dbc;        delete dbc;
250          dbc = 0;
251      };      };
252      dbc = TSQLServer::Connect(host.Data(),user.Data(),psw.Data());      dbc = TSQLServer::Connect(host.Data(),user.Data(),psw.Data());
253      //      //
254      myquery.str("");      myquery.str("");
255      myquery << "show databases;";      myquery << "show databases;";
256      dbc->Query(myquery.str().c_str());      delete dbc->Query(myquery.str().c_str());
257      fNquery++;      fNquery++;
258      //    if ( dbc->GetErrorCode() != 2013 && dbc->GetErrorCode() != 2006 ){      //    if ( dbc->GetErrorCode() != 2013 && dbc->GetErrorCode() != 2006 ){
259      if ( !(dbc->GetErrorCode()) ){      if ( !(dbc->GetErrorCode()) ){
# Line 240  Bool_t GL_TABLES::IsConnected(TSQLServer Line 261  Bool_t GL_TABLES::IsConnected(TSQLServer
261        printf(" ...connection recovered, I can continue! \n");        printf(" ...connection recovered, I can continue! \n");
262        //        //
263        myquery.str("");        myquery.str("");
264        myquery << "SET time_zone='+0:00'";        myquery << "SET time_zone='+0:00';";
265        dbc->Query(myquery.str().c_str());        delete dbc->Query(myquery.str().c_str());
266          fNquery++;
267          myquery.str("");
268          myquery << "SET sql_mode = 'NO_UNSIGNED_SUBTRACTION';";
269          delete dbc->Query(myquery.str().c_str());
270        fNquery++;        fNquery++;
271        myquery.str("");        myquery.str("");
272        myquery << "SET wait_timeout=173000;";        myquery << "SET wait_timeout=173000;";
273        dbc->Query(myquery.str().c_str());              delete dbc->Query(myquery.str().c_str());
274        fNquery++;        fNquery++;
275        return true;        return true;
276      };      };
# Line 664  void GL_RUN::Set_GL_RUN(TSQLRow *Row){ Line 689  void GL_RUN::Set_GL_RUN(TSQLRow *Row){
689  Int_t GL_RUN::DeleteRun(TSQLServer *dbc,UInt_t IDRUN,TString FromTable){  Int_t GL_RUN::DeleteRun(TSQLServer *dbc,UInt_t IDRUN,TString FromTable){
690    // MySQL variables    // MySQL variables
691    TSQLResult *pResult;    TSQLResult *pResult;
692    TSQLRow *Row;    TSQLRow *Row = NULL;
693    stringstream myquery;    stringstream myquery;
694    //    //
695    if ( !IDRUN ) IDRUN = ID;    if ( !IDRUN ) IDRUN = ID;
# Line 714  Int_t GL_RUN::DeleteRun(TSQLServer *dbc, Line 739  Int_t GL_RUN::DeleteRun(TSQLServer *dbc,
739    //    //
740    if ( !this->GetGLTABLES()->IsConnected(dbc) ) return -57;      if ( !this->GetGLTABLES()->IsConnected(dbc) ) return -57;  
741    this->GetGLTABLES()->AddQ();    this->GetGLTABLES()->AddQ();
742    dbc->Query(myquery.str().c_str());    delete dbc->Query(myquery.str().c_str());
743    //    //
744    // retrieve this ID_TRASH    // retrieve this ID_TRASH
745    //    //
# Line 728  Int_t GL_RUN::DeleteRun(TSQLServer *dbc, Line 753  Int_t GL_RUN::DeleteRun(TSQLServer *dbc,
753    UInt_t idl0 = 0;    UInt_t idl0 = 0;
754    UInt_t idl2 = 0;    UInt_t idl2 = 0;
755    //    //
756      if (Row)
757        delete Row;
758    Row = pResult->Next();          Row = pResult->Next();      
759    if( Row != NULL ){    if( Row != NULL ){
760      idtrash = (UInt_t)atoll(Row->GetField(0));      idtrash = (UInt_t)atoll(Row->GetField(0));
# Line 743  Int_t GL_RUN::DeleteRun(TSQLServer *dbc, Line 770  Int_t GL_RUN::DeleteRun(TSQLServer *dbc,
770    //    //
771    //  printf("2myquery is %s \n",myquery.str().c_str());    //  printf("2myquery is %s \n",myquery.str().c_str());
772    //    //
773    if ( !this->GetGLTABLES()->IsConnected(dbc) ) return -57;      if ( !this->GetGLTABLES()->IsConnected(dbc) ){
774        if (pResult)
775          delete pResult;
776        if (Row)
777          delete Row;
778        return -57;
779      }
780    this->GetGLTABLES()->AddQ();    this->GetGLTABLES()->AddQ();
781    pResult = dbc->Query(myquery.str().c_str());    pResult = dbc->Query(myquery.str().c_str());
782    //    //
783      if (Row)
784        delete Row;
785    Row = pResult->Next();          Row = pResult->Next();      
786    if( Row != NULL ){    if( Row != NULL ){
787      fileL0 = (TString)Row->GetField(0);      fileL0 = (TString)Row->GetField(0);
# Line 760  Int_t GL_RUN::DeleteRun(TSQLServer *dbc, Line 795  Int_t GL_RUN::DeleteRun(TSQLServer *dbc,
795    //    //
796    //  printf("3myquery is %s \n",myquery.str().c_str());    //  printf("3myquery is %s \n",myquery.str().c_str());
797    //    //
798    if ( !this->GetGLTABLES()->IsConnected(dbc) ) return -57;      if ( !this->GetGLTABLES()->IsConnected(dbc) ){
799        if (pResult)
800          delete pResult;
801        if (Row)
802          delete Row;
803        return -57;
804      }
805    this->GetGLTABLES()->AddQ();    this->GetGLTABLES()->AddQ();
806    pResult = dbc->Query(myquery.str().c_str());    pResult = dbc->Query(myquery.str().c_str());
807    //    //
808      if (Row)
809        delete Row;
810    Row = pResult->Next();          Row = pResult->Next();      
811    if( Row != NULL ){    if( Row != NULL ){
812      fileL2 = (TString)Row->GetField(0);      fileL2 = (TString)Row->GetField(0);
813    };    }
814      delete pResult;
815      pResult = NULL;
816      if (Row){
817        delete Row;
818        Row = NULL; // This variable is not used below
819      }
820    //    //
821    //    //
822    //    //
# Line 780  Int_t GL_RUN::DeleteRun(TSQLServer *dbc, Line 829  Int_t GL_RUN::DeleteRun(TSQLServer *dbc,
829    //    //
830    if ( !this->GetGLTABLES()->IsConnected(dbc) ) return -57;      if ( !this->GetGLTABLES()->IsConnected(dbc) ) return -57;  
831    this->GetGLTABLES()->AddQ();    this->GetGLTABLES()->AddQ();
832    dbc->Query(myquery.str().c_str());    delete dbc->Query(myquery.str().c_str());
833    //    //
834    myquery.str("");    myquery.str("");
835    myquery << " UPDATE GL_RUN_TRASH SET FILENAMEL2='";    myquery << " UPDATE GL_RUN_TRASH SET FILENAMEL2='";
# Line 791  Int_t GL_RUN::DeleteRun(TSQLServer *dbc, Line 840  Int_t GL_RUN::DeleteRun(TSQLServer *dbc,
840    //    //
841    if ( !this->GetGLTABLES()->IsConnected(dbc) ) return -57;      if ( !this->GetGLTABLES()->IsConnected(dbc) ) return -57;  
842    this->GetGLTABLES()->AddQ();    this->GetGLTABLES()->AddQ();
843    dbc->Query(myquery.str().c_str());    delete dbc->Query(myquery.str().c_str());
844    //    //
845    myquery.str("");    myquery.str("");
846    myquery << " UPDATE GL_RUN_TRASH SET BELONGED_TO='";    myquery << " UPDATE GL_RUN_TRASH SET BELONGED_TO='";
# Line 803  Int_t GL_RUN::DeleteRun(TSQLServer *dbc, Line 852  Int_t GL_RUN::DeleteRun(TSQLServer *dbc,
852    //    //
853    if ( !this->GetGLTABLES()->IsConnected(dbc) ) return -57;      if ( !this->GetGLTABLES()->IsConnected(dbc) ) return -57;  
854    this->GetGLTABLES()->AddQ();    this->GetGLTABLES()->AddQ();
855    dbc->Query(myquery.str().c_str());    delete dbc->Query(myquery.str().c_str());
856    //    //
857    myquery.str("");    myquery.str("");
858    myquery << " DELETE FROM ";    myquery << " DELETE FROM ";
# Line 815  Int_t GL_RUN::DeleteRun(TSQLServer *dbc, Line 864  Int_t GL_RUN::DeleteRun(TSQLServer *dbc,
864    //    //
865    if ( !this->GetGLTABLES()->IsConnected(dbc) ) return -57;      if ( !this->GetGLTABLES()->IsConnected(dbc) ) return -57;  
866    this->GetGLTABLES()->AddQ();    this->GetGLTABLES()->AddQ();
867    dbc->Query(myquery.str().c_str());    delete dbc->Query(myquery.str().c_str());
868    //    //
869    return 0;    return 0;
870  };  };
# Line 831  Int_t GL_RUN::RestoreRun(TSQLServer *dbc Line 880  Int_t GL_RUN::RestoreRun(TSQLServer *dbc
880    // insert into GL_RUN_FRAGMENTS select * FROM GL_RUN where ID=11;    // insert into GL_RUN_FRAGMENTS select * FROM GL_RUN where ID=11;
881    //insert into GL_RUN_TRASH VALUES (ID , ID_RUN_FRAG , ID_ROOT_L0 , ID_ROOT_L2 , RUNHEADER_TIME , RUNTRAILER_TIME , RUNHEADER_OBT , RUNTRAILER_OBT , RUNHEADER_PKT , RUNTRAILER_PKT , BOOT_NUMBER , EV_FROM , EV_TO  , NEVENTS , PKT_COUNTER , PKT_READY_COUNTER , COMPILATIONTIMESTAMP , FAV_WRK_SCHEDULE , EFF_WRK_SCHEDULE , PRH_VAR_TRG_MODE_A , PRH_VAR_TRG_MODE_B , ACQ_BUILD_INFO , ACQ_VAR_INFO , RM_ACQ_AFTER_CALIB , RM_ACQ_SETTING_MODE, TRK_CALIB_USED,CAL_DSP_MASK, LAST_TIMESYNC, OBT_TIMESYNC, VALIDATION, INSERT_TIME) select * FROM GL_RUN where ID=11;    //insert into GL_RUN_TRASH VALUES (ID , ID_RUN_FRAG , ID_ROOT_L0 , ID_ROOT_L2 , RUNHEADER_TIME , RUNTRAILER_TIME , RUNHEADER_OBT , RUNTRAILER_OBT , RUNHEADER_PKT , RUNTRAILER_PKT , BOOT_NUMBER , EV_FROM , EV_TO  , NEVENTS , PKT_COUNTER , PKT_READY_COUNTER , COMPILATIONTIMESTAMP , FAV_WRK_SCHEDULE , EFF_WRK_SCHEDULE , PRH_VAR_TRG_MODE_A , PRH_VAR_TRG_MODE_B , ACQ_BUILD_INFO , ACQ_VAR_INFO , RM_ACQ_AFTER_CALIB , RM_ACQ_SETTING_MODE, TRK_CALIB_USED,CAL_DSP_MASK, LAST_TIMESYNC, OBT_TIMESYNC, VALIDATION, INSERT_TIME) select * FROM GL_RUN where ID=11;
882    // MySQL variables    // MySQL variables
883    TSQLResult *pResult;    TSQLResult *pResult = NULL;
884    TSQLRow *Row;    TSQLRow *Row = NULL;
885    stringstream myquery;    stringstream myquery;
886    //    //
887    if ( !IDRUN ) IDRUN = ID;    if ( !IDRUN ) IDRUN = ID;
# Line 854  Int_t GL_RUN::RestoreRun(TSQLServer *dbc Line 903  Int_t GL_RUN::RestoreRun(TSQLServer *dbc
903      if( Row != NULL ){      if( Row != NULL ){
904       ToTable = (TString)Row->GetField(0);       ToTable = (TString)Row->GetField(0);
905      } else {      } else {
906          delete pResult;
907        return 1;        return 1;
908      };      };
909    };    };
910    
911      if (pResult)
912        delete pResult;
913      if (Row)
914        delete Row;
915    // ----------------    // ----------------
916    myquery.str("");    myquery.str("");
917    myquery << " INSERT INTO ";    myquery << " INSERT INTO ";
# Line 937  Int_t GL_RUN::RestoreRun(TSQLServer *dbc Line 992  Int_t GL_RUN::RestoreRun(TSQLServer *dbc
992    //    //
993    if ( !this->GetGLTABLES()->IsConnected(dbc) ) return -57;      if ( !this->GetGLTABLES()->IsConnected(dbc) ) return -57;  
994    this->GetGLTABLES()->AddQ();    this->GetGLTABLES()->AddQ();
995    dbc->Query(myquery.str().c_str());    delete dbc->Query(myquery.str().c_str());
996    //    //
997    //    //
998    myquery.str("");    myquery.str("");
# Line 946  Int_t GL_RUN::RestoreRun(TSQLServer *dbc Line 1001  Int_t GL_RUN::RestoreRun(TSQLServer *dbc
1001    //    //
1002    if ( !this->GetGLTABLES()->IsConnected(dbc) ) return -57;      if ( !this->GetGLTABLES()->IsConnected(dbc) ) return -57;  
1003    this->GetGLTABLES()->AddQ();    this->GetGLTABLES()->AddQ();
1004    dbc->Query(myquery.str().c_str());    delete dbc->Query(myquery.str().c_str());
1005    //    //
1006    return 0;    return 0;
1007  };  };
# Line 1034  Int_t GL_RUN::Fill_GL_RUN(TSQLServer *db Line 1089  Int_t GL_RUN::Fill_GL_RUN(TSQLServer *db
1089    //    //
1090    if ( !this->GetGLTABLES()->IsConnected(dbc) ) return -57;      if ( !this->GetGLTABLES()->IsConnected(dbc) ) return -57;  
1091    this->GetGLTABLES()->AddQ();    this->GetGLTABLES()->AddQ();
1092    dbc->Query(myquery.str().c_str());    delete dbc->Query(myquery.str().c_str());
1093    //    //
1094    return 0;    return 0;
1095    
# Line 1116  Int_t GL_RUN::Fill_GL_RUN_FRAGMENTS(TSQL Line 1171  Int_t GL_RUN::Fill_GL_RUN_FRAGMENTS(TSQL
1171    //    //
1172    if ( !this->GetGLTABLES()->IsConnected(dbc) ) return -57;      if ( !this->GetGLTABLES()->IsConnected(dbc) ) return -57;  
1173    this->GetGLTABLES()->AddQ();    this->GetGLTABLES()->AddQ();
1174    dbc->Query(myquery.str().c_str());    delete dbc->Query(myquery.str().c_str());
1175    //    //
1176    return 0;    return 0;
1177    
# Line 1133  Int_t GL_RUN::Fill_GL_RUN_FRAGMENTS(TSQL Line 1188  Int_t GL_RUN::Fill_GL_RUN_FRAGMENTS(TSQL
1188  Int_t GL_RUN::Query_GL_RUN(UInt_t run, TSQLServer *dbc){  Int_t GL_RUN::Query_GL_RUN(UInt_t run, TSQLServer *dbc){
1189    // MySQL variables    // MySQL variables
1190    TSQLResult *pResult;    TSQLResult *pResult;
1191    TSQLRow *Row;    TSQLRow *Row = NULL;
   int t;  
1192    int r;    int r;
1193    stringstream myquery;    stringstream myquery;
1194    // ----------------    // ----------------
# Line 1181  Int_t GL_RUN::Query_GL_RUN(UInt_t run, T Line 1235  Int_t GL_RUN::Query_GL_RUN(UInt_t run, T
1235    //    //
1236    //  printf(" getrowcount %i \n",pResult->GetRowCount());    //  printf(" getrowcount %i \n",pResult->GetRowCount());
1237    //    //
1238    if( !pResult->GetRowCount() ) return(-50);    if( !pResult->GetRowCount() ){
1239        delete pResult;
1240        if (Row)
1241          delete Row;
1242        return(-50);
1243      }
1244    //    //
1245    for( r=0; r < 1000; r++){    for( r=0; r < 1000; r++){
1246              if (Row)
1247                delete Row;
1248        Row = pResult->Next();              Row = pResult->Next();      
1249        if( Row == NULL ) break;        if( Row == NULL ) break;
1250  //        Set_GL_RUN(Row);  //        Set_GL_RUN(Row);
1251        for( t = 0; t < pResult->GetFieldCount(); t++){        for( int t = 0; t < pResult->GetFieldCount(); t++){
1252          if (t== 0) ID                = (UInt_t)atoll(Row->GetField(t));          if (t== 0) ID                = (UInt_t)atoll(Row->GetField(t));
1253          if (t== 1) ID_RUN_FRAG       = (UInt_t)atoll(Row->GetField(t));          if (t== 1) ID_RUN_FRAG       = (UInt_t)atoll(Row->GetField(t));
1254          if (t== 2) ID_ROOT_L0        = (UInt_t)atoll(Row->GetField(t));          if (t== 2) ID_ROOT_L0        = (UInt_t)atoll(Row->GetField(t));
# Line 1221  Int_t GL_RUN::Query_GL_RUN(UInt_t run, T Line 1282  Int_t GL_RUN::Query_GL_RUN(UInt_t run, T
1282          if (t==30) PHYSENDRUN_MASK_S11CRC = (UInt_t)atoll(Row->GetField(t));          if (t==30) PHYSENDRUN_MASK_S11CRC = (UInt_t)atoll(Row->GetField(t));
1283          if (t==31) VALIDATION        = (UInt_t)atoll(Row->GetField(t));          if (t==31) VALIDATION        = (UInt_t)atoll(Row->GetField(t));
1284        };        };
1285    };    }
1286    //  delete pResult;  
1287      if (Row)
1288        delete Row;
1289      delete pResult;
1290    return(0);    return(0);
1291  };  };
1292    
# Line 1236  Int_t GL_RUN::Query_GL_RUN(UInt_t run, T Line 1300  Int_t GL_RUN::Query_GL_RUN(UInt_t run, T
1300  Int_t GL_RUN::Query_GL_RUN_FRAGMENTS(TString where, TSQLServer *dbc){  Int_t GL_RUN::Query_GL_RUN_FRAGMENTS(TString where, TSQLServer *dbc){
1301    // MySQL variables    // MySQL variables
1302    TSQLResult *pResult;    TSQLResult *pResult;
1303    TSQLRow *Row;    TSQLRow *Row = NULL;
1304    int t;    int t;
1305    int r;    int r;
1306    stringstream myquery;    stringstream myquery;
# Line 1282  Int_t GL_RUN::Query_GL_RUN_FRAGMENTS(TSt Line 1346  Int_t GL_RUN::Query_GL_RUN_FRAGMENTS(TSt
1346    if ( !this->GetGLTABLES()->IsConnected(dbc) ) return -57;      if ( !this->GetGLTABLES()->IsConnected(dbc) ) return -57;  
1347    this->GetGLTABLES()->AddQ();    this->GetGLTABLES()->AddQ();
1348    pResult = dbc->Query(myquery.str().c_str());    pResult = dbc->Query(myquery.str().c_str());
1349    if(!pResult->GetRowCount())return(-50);    if(!pResult->GetRowCount()){
1350        delete pResult;
1351        if (Row)
1352          delete Row;
1353        return(-50);
1354      }
1355    for( r=0; r < 1000; r++){    for( r=0; r < 1000; r++){
1356            if (Row)
1357              delete Row;
1358      Row = pResult->Next();            Row = pResult->Next();      
1359      if( Row == NULL ) break;      if( Row == NULL ) break;
1360      for( t = 0; t < pResult->GetFieldCount(); t++){      for( t = 0; t < pResult->GetFieldCount(); t++){
# Line 1320  Int_t GL_RUN::Query_GL_RUN_FRAGMENTS(TSt Line 1391  Int_t GL_RUN::Query_GL_RUN_FRAGMENTS(TSt
1391        if (t==30) PHYSENDRUN_MASK_S11CRC = (UInt_t)atoll(Row->GetField(t));        if (t==30) PHYSENDRUN_MASK_S11CRC = (UInt_t)atoll(Row->GetField(t));
1392        if (t==31) VALIDATION        = (UInt_t)atoll(Row->GetField(t));        if (t==31) VALIDATION        = (UInt_t)atoll(Row->GetField(t));
1393      };      };
1394    };    }
1395    //  delete pResult;  
1396      if (Row)
1397        delete Row;
1398      delete pResult;
1399    return(0);    return(0);
1400  };// ****************************************************  };// ****************************************************
1401    
# Line 1334  Int_t GL_RUN::Query_GL_RUN_FRAGMENTS(TSt Line 1408  Int_t GL_RUN::Query_GL_RUN_FRAGMENTS(TSt
1408  Int_t GL_ROOT::Query_GL_ROOT(UInt_t id, TSQLServer *dbc){  Int_t GL_ROOT::Query_GL_ROOT(UInt_t id, TSQLServer *dbc){
1409    // MySQL variables    // MySQL variables
1410    TSQLResult *pResult;    TSQLResult *pResult;
1411    TSQLRow *Row;    TSQLRow *Row = NULL;
1412    int t;    int t;
1413    int r;    int r;
1414    stringstream myquery;    stringstream myquery;
# Line 1351  Int_t GL_ROOT::Query_GL_ROOT(UInt_t id, Line 1425  Int_t GL_ROOT::Query_GL_ROOT(UInt_t id,
1425    if ( !this->GetGLTABLES()->IsConnected(dbc) ) return -57;      if ( !this->GetGLTABLES()->IsConnected(dbc) ) return -57;  
1426    this->GetGLTABLES()->AddQ();    this->GetGLTABLES()->AddQ();
1427    pResult = dbc->Query(myquery.str().c_str());    pResult = dbc->Query(myquery.str().c_str());
1428    if(!pResult->GetRowCount())return (-51);    if(!pResult->GetRowCount()){
1429        delete pResult;
1430        if (Row)
1431          delete Row;
1432        return (-51);
1433      }
1434    for( r=0; r < 1000; r++){    for( r=0; r < 1000; r++){
1435              if (Row)
1436                delete Row;
1437        Row = pResult->Next();              Row = pResult->Next();      
1438        if( Row == NULL ) break;        if( Row == NULL ) break;
1439        for( t = 0; t < pResult->GetFieldCount(); t++){        for( t = 0; t < pResult->GetFieldCount(); t++){
1440            if(t==0) ID     = (UInt_t)atoll(Row->GetField(t));            if(t==0) ID     = (UInt_t)atoll(Row->GetField(t));
1441            if(t==1) ID_RAW = (UInt_t)atoll(Row->GetField(t));            if(t==1) ID_RAW = (UInt_t)atoll(Row->GetField(t));
1442            if(t==2) ID_TIMESYNC = (UInt_t)atoll(Row->GetField(t));            if(t==2) ID_TIMESYNC = (UInt_t)atoll(Row->GetField(t));
1443            if(t==3) PATH   = (TString)gSystem->ExpandPathName(Row->GetField(t))+'/';            if(t==3){
1444            PATH   = TString(Row->GetField(t)) + '/';
1445            gSystem->ExpandPathName(PATH);
1446          }
1447            if(t==4) NAME   = Row->GetField(t);            if(t==4) NAME   = Row->GetField(t);
1448        };        }
1449    };    }
1450      if (Row)
1451        delete Row;
1452    delete pResult;      delete pResult;  
1453    return 0;    return 0;
1454  };  };
# Line 1377  Int_t GL_ROOT::Query_GL_ROOT(UInt_t id, Line 1463  Int_t GL_ROOT::Query_GL_ROOT(UInt_t id,
1463  Int_t GL_TRK_CALIB::Query_GL_TRK_CALIB(UInt_t time, TSQLServer *dbc){  Int_t GL_TRK_CALIB::Query_GL_TRK_CALIB(UInt_t time, TSQLServer *dbc){
1464    // MySQL variables    // MySQL variables
1465    TSQLResult *pResult;    TSQLResult *pResult;
1466    TSQLRow *Row;    TSQLRow *Row = NULL;
1467    int t;    int t;
1468    int r;    int r;
1469    stringstream myquery;    stringstream myquery;
# Line 1391  Int_t GL_TRK_CALIB::Query_GL_TRK_CALIB(U Line 1477  Int_t GL_TRK_CALIB::Query_GL_TRK_CALIB(U
1477    if ( !this->GetGLTABLES()->IsConnected(dbc) ) return -57;      if ( !this->GetGLTABLES()->IsConnected(dbc) ) return -57;  
1478    this->GetGLTABLES()->AddQ();    this->GetGLTABLES()->AddQ();
1479    pResult = dbc->Query(myquery.str().c_str());    pResult = dbc->Query(myquery.str().c_str());
1480    if(!pResult->GetRowCount())return (-53);    if(!pResult->GetRowCount()){
1481        delete pResult;
1482        return (-53);
1483      }
1484    for( r=0; r < 1000; r++){    for( r=0; r < 1000; r++){
1485              if (Row)
1486                delete Row;
1487        Row = pResult->Next();            Row = pResult->Next();    
1488        if( Row == NULL ) break;        if( Row == NULL ) break;
1489        for( t = 0; t < pResult->GetFieldCount(); t++){        for( t = 0; t < pResult->GetFieldCount(); t++){
# Line 1413  Int_t GL_TRK_CALIB::Query_GL_TRK_CALIB(U Line 1504  Int_t GL_TRK_CALIB::Query_GL_TRK_CALIB(U
1504            if (t==10) BOOT_NUMBER      = (UInt_t)atoll(Row->GetField(t));            if (t==10) BOOT_NUMBER      = (UInt_t)atoll(Row->GetField(t));
1505            if (t==11) VALIDATION       = (UInt_t)atoll(Row->GetField(t));            if (t==11) VALIDATION       = (UInt_t)atoll(Row->GetField(t));
1506            };            };
1507    };    }
1508      if (Row)
1509        delete Row;
1510    delete pResult;    delete pResult;
1511    //    //
1512  //  if ( TO_TIME < time ) return(51);  //  if ( TO_TIME < time ) return(51);
# Line 1433  Int_t GL_TRK_CALIB::Query_GL_TRK_CALIB(U Line 1526  Int_t GL_TRK_CALIB::Query_GL_TRK_CALIB(U
1526  Int_t GL_CALO_CALIB::Query_GL_CALO_CALIB(UInt_t time, UInt_t &uptime,  UInt_t section, TSQLServer *dbc){  Int_t GL_CALO_CALIB::Query_GL_CALO_CALIB(UInt_t time, UInt_t &uptime,  UInt_t section, TSQLServer *dbc){
1527    // MySQL variables    // MySQL variables
1528    TSQLResult *pResult;    TSQLResult *pResult;
1529    TSQLRow *Row;    TSQLRow *Row = NULL;
1530    int t;    int t;
1531    stringstream myquery;    stringstream myquery;
1532    uptime = 0;    uptime = 0;
# Line 1452  Int_t GL_CALO_CALIB::Query_GL_CALO_CALIB Line 1545  Int_t GL_CALO_CALIB::Query_GL_CALO_CALIB
1545    pResult = dbc->Query(myquery.str().c_str());    pResult = dbc->Query(myquery.str().c_str());
1546    // printf(" mysquery is %s\n",myquery.str().c_str());    // printf(" mysquery is %s\n",myquery.str().c_str());
1547    //    //
1548    if( !pResult->GetRowCount() ) return(-54);    if (Row)
1549        delete Row;
1550      if( !pResult->GetRowCount() ){
1551        delete pResult;
1552        return(-54);
1553      }
1554    Row = pResult->Next();    Row = pResult->Next();
1555    if( Row == NULL ) return (-54);    if( Row == NULL ){
1556        delete pResult;
1557        return (-54);
1558      }
1559    //    //
1560    uptime = (UInt_t)atoll(Row->GetField(2));    uptime = (UInt_t)atoll(Row->GetField(2));
1561    //    //
# Line 1471  Int_t GL_CALO_CALIB::Query_GL_CALO_CALIB Line 1572  Int_t GL_CALO_CALIB::Query_GL_CALO_CALIB
1572      myquery << "select ID_ROOT_L0, FROM_TIME, TO_TIME, EV_ROOT,VALIDATION from GL_CALO_CALIB where SECTION=" << section;      myquery << "select ID_ROOT_L0, FROM_TIME, TO_TIME, EV_ROOT,VALIDATION from GL_CALO_CALIB where SECTION=" << section;
1573      myquery << " and FROM_TIME <= " << time;      myquery << " and FROM_TIME <= " << time;
1574      myquery << " and VALIDATION=1 ORDER BY FROM_TIME DESC LIMIT 1;";      myquery << " and VALIDATION=1 ORDER BY FROM_TIME DESC LIMIT 1;";
1575      if ( !this->GetGLTABLES()->IsConnected(dbc) ) return -57;        if ( !this->GetGLTABLES()->IsConnected(dbc) ){
1576          if(pResult)
1577            delete pResult;
1578          if(Row)
1579            delete Row;
1580          return -57;
1581        }
1582      this->GetGLTABLES()->AddQ();      this->GetGLTABLES()->AddQ();
1583      pResult = dbc->Query(myquery.str().c_str());      pResult = dbc->Query(myquery.str().c_str());
1584      //    printf(" mysquery is %s\n",myquery.str().c_str());      //    printf(" mysquery is %s\n",myquery.str().c_str());
1585      //      //
1586      // if no results yet quit with error      // if no results yet quit with error
1587      //      //
1588      if( !pResult->GetRowCount() ) return (-54);      if( !pResult->GetRowCount() ){
1589          delete pResult;
1590          if(Row)
1591            delete Row;
1592          return (-54);
1593        }
1594      //      //
1595        if (Row)
1596          delete Row;
1597      Row = pResult->Next();      Row = pResult->Next();
1598      //      //
1599      myfromtime = (UInt_t)atoll(Row->GetField(1));      myfromtime = (UInt_t)atoll(Row->GetField(1));
# Line 1493  Int_t GL_CALO_CALIB::Query_GL_CALO_CALIB Line 1607  Int_t GL_CALO_CALIB::Query_GL_CALO_CALIB
1607      myquery.str("");      myquery.str("");
1608      myquery << "select ID_ROOT_L0, FROM_TIME, TO_TIME, EV_ROOT from GL_CALO_CALIB where SECTION=" << section;      myquery << "select ID_ROOT_L0, FROM_TIME, TO_TIME, EV_ROOT from GL_CALO_CALIB where SECTION=" << section;
1609      myquery << " and VALIDATION=1 ORDER BY ABS(" << time << "-FROM_TIME) asc limit 1;";      myquery << " and VALIDATION=1 ORDER BY ABS(" << time << "-FROM_TIME) asc limit 1;";
1610      if ( !this->GetGLTABLES()->IsConnected(dbc) ) return -57;      if ( !this->GetGLTABLES()->IsConnected(dbc) ){
1611          if(pResult)
1612            delete pResult;
1613          if(Row)
1614            delete Row;
1615          return -57;
1616        }
1617      this->GetGLTABLES()->AddQ();      this->GetGLTABLES()->AddQ();
1618      pResult = dbc->Query(myquery.str().c_str());      pResult = dbc->Query(myquery.str().c_str());
1619      //    printf(" mysquery is %s\n",myquery.str().c_str());      //    printf(" mysquery is %s\n",myquery.str().c_str());
1620      //      //
1621      // if no results yet quit with error      // if no results yet quit with error
1622      //      //
1623      if( !pResult->GetRowCount() ) return (-54);      if( !pResult->GetRowCount() ){
1624          if (Row)
1625            delete Row;
1626          delete pResult;
1627          return (-54);
1628        }
1629      //      //
1630        if (Row)
1631          delete Row;
1632      Row = pResult->Next();      Row = pResult->Next();
1633      //      //
1634    };    };
1635    //    //
1636    // store infos and exit    // store infos and exit
1637    //    //
1638    if( Row == NULL ) return (-54);    if( Row == NULL ){
1639        delete pResult;
1640        return (-54);
1641      }
1642    for( t = 0; t < pResult->GetFieldCount(); t++){    for( t = 0; t < pResult->GetFieldCount(); t++){
1643      if (t==0) ID_ROOT_L0  = (UInt_t)atoll(Row->GetField(t));      if (t==0) ID_ROOT_L0  = (UInt_t)atoll(Row->GetField(t));
1644      if (t==1) FROM_TIME = myfromtime;      if (t==1) FROM_TIME = myfromtime;
1645      if (t==2) TO_TIME   = mytotime;                if (t==2) TO_TIME   = mytotime;          
1646      if (t==3) EV_ROOT = (UInt_t)atoll(Row->GetField(t));      if (t==3) EV_ROOT = (UInt_t)atoll(Row->GetField(t));
1647    };    }
1648    pResult->Delete();    if (Row)
1649        delete Row;
1650      delete pResult;
1651    return 0;    return 0;
1652  };  };
1653    
# Line 1530  Int_t GL_CALO_CALIB::Query_GL_CALO_CALIB Line 1662  Int_t GL_CALO_CALIB::Query_GL_CALO_CALIB
1662  Int_t GL_CALOPULSE_CALIB::Query_GL_CALOPULSE_CALIB(UInt_t time, UInt_t section, UInt_t pampli, TSQLServer *dbc){  Int_t GL_CALOPULSE_CALIB::Query_GL_CALOPULSE_CALIB(UInt_t time, UInt_t section, UInt_t pampli, TSQLServer *dbc){
1663    // MySQL variables    // MySQL variables
1664    TSQLResult *pResult;    TSQLResult *pResult;
1665    TSQLRow *Row;    TSQLRow *Row = NULL;
1666    int t;    int t;
1667    stringstream myquery;    stringstream myquery;
1668    //    //
# Line 1548  Int_t GL_CALOPULSE_CALIB::Query_GL_CALOP Line 1680  Int_t GL_CALOPULSE_CALIB::Query_GL_CALOP
1680    //    //
1681    if( !pResult ) return(-54);    if( !pResult ) return(-54);
1682    //    //
1683      if (Row)
1684        delete Row;
1685    Row = pResult->Next();    Row = pResult->Next();
1686    //    //
1687    if( !Row ) return (-54);    if( !Row ){
1688        delete pResult;
1689        return (-54);
1690      }
1691    //    //
1692    // store infos and exit    // store infos and exit
1693    //    //
# Line 1560  Int_t GL_CALOPULSE_CALIB::Query_GL_CALOP Line 1697  Int_t GL_CALOPULSE_CALIB::Query_GL_CALOP
1697      if (t==1) FROM_TIME = (UInt_t)atoll(Row->GetField(t));      if (t==1) FROM_TIME = (UInt_t)atoll(Row->GetField(t));
1698      if (t==2) TO_TIME   = (UInt_t)atoll(Row->GetField(t));                  if (t==2) TO_TIME   = (UInt_t)atoll(Row->GetField(t));            
1699      if (t==3) EV_ROOT = (UInt_t)atoll(Row->GetField(t));      if (t==3) EV_ROOT = (UInt_t)atoll(Row->GetField(t));
1700    };    }
1701      if (Row)
1702        delete Row;
1703    pResult->Delete();    pResult->Delete();
1704    return 0;    return 0;
1705  };  };
# Line 1576  Int_t GL_CALOPULSE_CALIB::Query_GL_CALOP Line 1715  Int_t GL_CALOPULSE_CALIB::Query_GL_CALOP
1715  Int_t GL_S4_CALIB::Query_GL_S4_CALIB(UInt_t time, TSQLServer *dbc){  Int_t GL_S4_CALIB::Query_GL_S4_CALIB(UInt_t time, TSQLServer *dbc){
1716    // MySQL variables    // MySQL variables
1717    TSQLResult *pResult;    TSQLResult *pResult;
1718    TSQLRow *Row;    TSQLRow *Row = NULL;
1719    int t;    int t;
1720    int r;    int r;
1721    stringstream myquery;    stringstream myquery;
# Line 1588  Int_t GL_S4_CALIB::Query_GL_S4_CALIB(UIn Line 1727  Int_t GL_S4_CALIB::Query_GL_S4_CALIB(UIn
1727    if ( !this->GetGLTABLES()->IsConnected(dbc) ) return -57;      if ( !this->GetGLTABLES()->IsConnected(dbc) ) return -57;  
1728    this->GetGLTABLES()->AddQ();    this->GetGLTABLES()->AddQ();
1729    pResult = dbc->Query(myquery.str().c_str());    pResult = dbc->Query(myquery.str().c_str());
1730    if(!pResult->GetRowCount())return (-55);//throw -55;    if(!pResult->GetRowCount()){
1731        delete pResult;
1732        return (-55);//throw -55;
1733      }
1734    for( r=0; r < 1000; r++){    for( r=0; r < 1000; r++){
1735              if (Row)
1736                delete Row;
1737        Row = pResult->Next();            Row = pResult->Next();    
1738        if( Row == NULL ) break;        if( Row == NULL ) break;
1739        for( t = 0; t < pResult->GetFieldCount(); t++){        for( t = 0; t < pResult->GetFieldCount(); t++){
# Line 1599  Int_t GL_S4_CALIB::Query_GL_S4_CALIB(UIn Line 1743  Int_t GL_S4_CALIB::Query_GL_S4_CALIB(UIn
1743          if (t==3) FROM_TIME = (UInt_t)atoll(Row->GetField(t));          if (t==3) FROM_TIME = (UInt_t)atoll(Row->GetField(t));
1744          if (t==4) TO_TIME   = (UInt_t)atoll(Row->GetField(t));          if (t==4) TO_TIME   = (UInt_t)atoll(Row->GetField(t));
1745        };        };
1746    };    }
1747      if (Row)
1748        delete Row;
1749    delete pResult;        delete pResult;    
1750    //    //
1751    if(TO_TIME < time)return(51);    if(TO_TIME < time)return(51);
# Line 1618  Int_t GL_PARAM::Query_GL_PARAM(UInt_t ti Line 1764  Int_t GL_PARAM::Query_GL_PARAM(UInt_t ti
1764    //    Bool_t debug = 1;    //    Bool_t debug = 1;
1765    // MySQL variables    // MySQL variables
1766    TSQLResult *pResult;    TSQLResult *pResult;
1767    TSQLRow *Row;    TSQLRow *Row = NULL;
1768    int t;    int t;
1769    int r;    int r;
1770    stringstream myquery;    stringstream myquery;
# Line 1634  Int_t GL_PARAM::Query_GL_PARAM(UInt_t ti Line 1780  Int_t GL_PARAM::Query_GL_PARAM(UInt_t ti
1780    if ( !this->GetGLTABLES()->IsConnected(dbc) ) return -57;      if ( !this->GetGLTABLES()->IsConnected(dbc) ) return -57;  
1781    this->GetGLTABLES()->AddQ();    this->GetGLTABLES()->AddQ();
1782    pResult = dbc->Query(myquery.str().c_str());    pResult = dbc->Query(myquery.str().c_str());
1783    if(!pResult->GetRowCount())return (-52);    if(!pResult->GetRowCount()){
1784        delete pResult;
1785        return (-52);
1786      }
1787    for( r=0; r < 1000; r++){    for( r=0; r < 1000; r++){
1788              if (Row)
1789                delete Row;
1790        Row = pResult->Next();            Row = pResult->Next();    
1791        if( Row == NULL ) break;        if( Row == NULL ) break;
1792        for( t = 0; t < pResult->GetFieldCount(); t++){        for( t = 0; t < pResult->GetFieldCount(); t++){
1793          if (t==0) ID        = (UInt_t)atoll(Row->GetField(t));          if (t==0) ID        = (UInt_t)atoll(Row->GetField(t));
1794          if (t==1) PATH      = (TString)gSystem->ExpandPathName(Row->GetField(t))+'/';// put in fpath the path to that file          if (t==1) {
1795            if (t==2) NAME      = Row->GetField(t);            PATH = TString(Row->GetField(t)) + "/";// put in fpath the path to that file
1796            if (t==3) DESCR     = Row->GetField(t);            gSystem->ExpandPathName(PATH);
1797            if (t==4) FROM_TIME = (UInt_t)atoll(Row->GetField(t));          }
1798            if (t==5) TO_TIME   = (UInt_t)atoll(Row->GetField(t));                        if (t==2) NAME      = Row->GetField(t);
1799            if (t==6) TYPE     = (UInt_t)atoll(Row->GetField(t));          if (t==3) DESCR     = Row->GetField(t);
1800            if (t==4) FROM_TIME = (UInt_t)atoll(Row->GetField(t));
1801            if (t==5) TO_TIME   = (UInt_t)atoll(Row->GetField(t));
1802            if (t==6) TYPE     = (UInt_t)atoll(Row->GetField(t));
1803        };        };
1804    };    }
1805      if (Row)
1806        delete Row;
1807    delete pResult;    delete pResult;
1808    //    //
1809    if(TO_TIME==0) TO_TIME = numeric_limits<UInt_t>::max();    if(TO_TIME==0) TO_TIME = numeric_limits<UInt_t>::max();
# Line 1683  GL_TIMESYNC::GL_TIMESYNC(UInt_t id, TStr Line 1839  GL_TIMESYNC::GL_TIMESYNC(UInt_t id, TStr
1839    UInt_t idtsy = 0;    UInt_t idtsy = 0;
1840    //    //
1841    TSQLResult *pResult;    TSQLResult *pResult;
1842    TSQLRow *Row = 0;    TSQLRow *Row = NULL;
1843    stringstream myquery;    stringstream myquery;
1844    stringstream rname;    stringstream rname;
1845    //  pcksList packetsNames;    //  pcksList packetsNames;
# Line 1703  GL_TIMESYNC::GL_TIMESYNC(UInt_t id, TStr Line 1859  GL_TIMESYNC::GL_TIMESYNC(UInt_t id, TStr
1859    this->GetGLTABLES()->AddQ();    this->GetGLTABLES()->AddQ();
1860    pResult = dbc->Query(myquery.str().c_str());    pResult = dbc->Query(myquery.str().c_str());
1861    if( pResult->GetRowCount() ){    if( pResult->GetRowCount() ){
1862            if (Row)
1863              delete Row;
1864      Row = pResult->Next();            Row = pResult->Next();      
1865      if( Row ){      if( Row ){
1866        stringstream fname;        stringstream fname;
1867        fname.str("");        fname.str("");
1868        fname << gSystem->ExpandPathName(Row->GetField(0)) << "/" << Row->GetField(1);        TString auxStr(Row->GetField(0));
1869          gSystem->ExpandPathName(auxStr);
1870          fname << auxStr << "/" << Row->GetField(1);
1871        rname << Row->GetField(1);        rname << Row->GetField(1);
1872        file = new TFile(fname.str().c_str(),"READ");        file = new TFile(fname.str().c_str(),"READ");
1873        idtsy = (UInt_t)atoll(Row->GetField(2));        idtsy = (UInt_t)atoll(Row->GetField(2));
# Line 1734  GL_TIMESYNC::GL_TIMESYNC(UInt_t id, TStr Line 1894  GL_TIMESYNC::GL_TIMESYNC(UInt_t id, TStr
1894    stringstream oss;    stringstream oss;
1895    //    //
1896    TString name=rname.str().c_str();    TString name=rname.str().c_str();
1897    UInt_t dworbit = 0;    //  UInt_t dworbit = 0;
1898    //  Int_t nlength = name.Length();    //  Int_t nlength = name.Length();
1899    delete pResult;          delete pResult;
1900      if (Row){
1901        delete Row;
1902        Row = NULL;
1903      }
1904    //    //
1905    // New code, we have one more column on GL_TIMESYNC so we can trust that one for the Resurs offset    // New code, we have one more column on GL_TIMESYNC so we can trust that one for the Resurs offset
1906    //    //
# Line 1747  GL_TIMESYNC::GL_TIMESYNC(UInt_t id, TStr Line 1911  GL_TIMESYNC::GL_TIMESYNC(UInt_t id, TStr
1911    pResult = dbc->Query(oss.str().c_str());    pResult = dbc->Query(oss.str().c_str());
1912    Bool_t fndit = false;    Bool_t fndit = false;
1913    if ( pResult ){    if ( pResult ){
1914            if (Row)
1915              delete Row;
1916      Row = pResult->Next();      Row = pResult->Next();
1917      if ( Row ){      if ( Row ){
1918        //        //
# Line 1758  GL_TIMESYNC::GL_TIMESYNC(UInt_t id, TStr Line 1924  GL_TIMESYNC::GL_TIMESYNC(UInt_t id, TStr
1924        oss.str("");        oss.str("");
1925        oss << "SELECT YEAR(OFFSET_DATE),MONTH(OFFSET_DATE),DAY(OFFSET_DATE),HOUR(OFFSET_DATE),MINUTE(OFFSET_DATE),SECOND(OFFSET_DATE) FROM GL_RESURS_OFFSET WHERE ID="        oss << "SELECT YEAR(OFFSET_DATE),MONTH(OFFSET_DATE),DAY(OFFSET_DATE),HOUR(OFFSET_DATE),MINUTE(OFFSET_DATE),SECOND(OFFSET_DATE) FROM GL_RESURS_OFFSET WHERE ID="
1926            << Row->GetField(3) << ";";            << Row->GetField(3) << ";";
1927        if ( !this->GetGLTABLES()->IsConnected(dbc) ) return;          if ( !this->GetGLTABLES()->IsConnected(dbc) ){
1928            delete pResult;
1929            delete Row;
1930            return;
1931          }
1932        this->GetGLTABLES()->AddQ();        this->GetGLTABLES()->AddQ();
1933        delete pResult;        delete pResult;
1934        pResult = dbc->Query(oss.str().c_str());        pResult = dbc->Query(oss.str().c_str());
1935        if ( pResult ){        if (pResult){
1936          Row = pResult->Next();          if (Row)
1937          if ( Row ){            delete Row;
1938            //        printf(" GREAT! the DB structure is the new one! \n");              Row = pResult->Next();
1939            fndit = true;              if ( Row ){
1940            dworbit = 1;                //            printf(" GREAT! the DB structure is the new one! \n");
1941          };              fndit = true;
1942                //      dworbit = 1;
1943                };
1944        };        };
1945      };      };
1946    };    };
# Line 1787  GL_TIMESYNC::GL_TIMESYNC(UInt_t id, TStr Line 1959  GL_TIMESYNC::GL_TIMESYNC(UInt_t id, TStr
1959    //  printf(" T0 %u toffset is %u \n",T0,toffset);    //  printf(" T0 %u toffset is %u \n",T0,toffset);
1960    //    //
1961    if ( file ) file->Close();    if ( file ) file->Close();
1962      if (Row)
1963        delete Row;
1964    delete pResult;          delete pResult;      
1965  };  };
1966    
# Line 1796  GL_TIMESYNC::GL_TIMESYNC(UInt_t id, TStr Line 1970  GL_TIMESYNC::GL_TIMESYNC(UInt_t id, TStr
1970    UInt_t idtsy = 0;    UInt_t idtsy = 0;
1971    //    //
1972    TSQLResult *pResult;    TSQLResult *pResult;
1973    TSQLRow *Row = 0;    TSQLRow *Row = NULL;
1974    stringstream myquery;    stringstream myquery;
1975    stringstream rname;    stringstream rname;
1976    //  pcksList packetsNames;    //  pcksList packetsNames;
# Line 1816  GL_TIMESYNC::GL_TIMESYNC(UInt_t id, TStr Line 1990  GL_TIMESYNC::GL_TIMESYNC(UInt_t id, TStr
1990    this->GetGLTABLES()->AddQ();    this->GetGLTABLES()->AddQ();
1991    pResult = dbc->Query(myquery.str().c_str());    pResult = dbc->Query(myquery.str().c_str());
1992    if( pResult->GetRowCount() ){    if( pResult->GetRowCount() ){
1993            if (Row)
1994              delete Row;
1995      Row = pResult->Next();            Row = pResult->Next();      
1996      if( Row ){      if( Row ){
1997        stringstream fname;        stringstream fname;
1998        fname.str("");        fname.str("");
1999        fname << gSystem->ExpandPathName(Row->GetField(0)) << "/" << Row->GetField(1);        TString auxString(Row->GetField(0));
2000          gSystem->ExpandPathName(auxString);
2001          fname << auxString << "/" << Row->GetField(1);
2002        rname << Row->GetField(1);        rname << Row->GetField(1);
2003        if ( usel0file ) file = new TFile(fname.str().c_str(),"READ");        if ( usel0file ) file = new TFile(fname.str().c_str(),"READ");
2004        idtsy = (UInt_t)atoll(Row->GetField(2));        idtsy = (UInt_t)atoll(Row->GetField(2));
# Line 1848  GL_TIMESYNC::GL_TIMESYNC(UInt_t id, TStr Line 2026  GL_TIMESYNC::GL_TIMESYNC(UInt_t id, TStr
2026    stringstream oss;    stringstream oss;
2027    //    //
2028    TString name=rname.str().c_str();    TString name=rname.str().c_str();
2029    UInt_t dworbit = 0;    //  UInt_t dworbit = 0;
2030    //  Int_t nlength = name.Length();    //  Int_t nlength = name.Length();
2031    delete pResult;          delete pResult;
2032      if (Row){
2033        delete Row;
2034        Row = NULL;
2035      }
2036    //    //
2037    // New code, we have one more column on GL_TIMESYNC so we can trust that one for the Resurs offset    // New code, we have one more column on GL_TIMESYNC so we can trust that one for the Resurs offset
2038    //    //
# Line 1861  GL_TIMESYNC::GL_TIMESYNC(UInt_t id, TStr Line 2043  GL_TIMESYNC::GL_TIMESYNC(UInt_t id, TStr
2043    pResult = dbc->Query(oss.str().c_str());    pResult = dbc->Query(oss.str().c_str());
2044    Bool_t fndit = false;    Bool_t fndit = false;
2045    if ( pResult ){    if ( pResult ){
2046            if (Row)
2047              delete Row;
2048      Row = pResult->Next();      Row = pResult->Next();
2049      if ( Row ){      if ( Row ){
2050        //        //
# Line 1872  GL_TIMESYNC::GL_TIMESYNC(UInt_t id, TStr Line 2056  GL_TIMESYNC::GL_TIMESYNC(UInt_t id, TStr
2056        oss.str("");        oss.str("");
2057        oss << "SELECT YEAR(OFFSET_DATE),MONTH(OFFSET_DATE),DAY(OFFSET_DATE),HOUR(OFFSET_DATE),MINUTE(OFFSET_DATE),SECOND(OFFSET_DATE) FROM GL_RESURS_OFFSET WHERE ID="        oss << "SELECT YEAR(OFFSET_DATE),MONTH(OFFSET_DATE),DAY(OFFSET_DATE),HOUR(OFFSET_DATE),MINUTE(OFFSET_DATE),SECOND(OFFSET_DATE) FROM GL_RESURS_OFFSET WHERE ID="
2058            << Row->GetField(3) << ";";            << Row->GetField(3) << ";";
2059        if ( !this->GetGLTABLES()->IsConnected(dbc) ) return;          if ( !this->GetGLTABLES()->IsConnected(dbc) ){
2060            delete pResult;
2061            delete Row;
2062            return;
2063          }
2064        this->GetGLTABLES()->AddQ();        this->GetGLTABLES()->AddQ();
2065        delete pResult;        delete pResult;
2066        pResult = dbc->Query(oss.str().c_str());        pResult = dbc->Query(oss.str().c_str());
2067        if ( pResult ){        if (pResult){
2068          Row = pResult->Next();          if (Row)
2069          if ( Row ){            delete Row;
2070            //        printf(" GREAT! the DB structure is the new one! \n");          Row = pResult->Next();
2071            fndit = true;              if (Row){
2072            dworbit = 1;                //            printf(" GREAT! the DB structure is the new one! \n");
2073          };              fndit = true;
2074                //      dworbit = 1;
2075                };
2076        };        };
2077      };      };
2078    };    };
# Line 1901  GL_TIMESYNC::GL_TIMESYNC(UInt_t id, TStr Line 2091  GL_TIMESYNC::GL_TIMESYNC(UInt_t id, TStr
2091    //  printf(" T0 %u toffset is %u \n",T0,toffset);    //  printf(" T0 %u toffset is %u \n",T0,toffset);
2092    //    //
2093    if ( file ) file->Close();    if ( file ) file->Close();
2094      if (Row)
2095        delete Row;
2096    delete pResult;          delete pResult;      
2097  };  };
2098    
# Line 2171  Int_t GL_TLE::Query(UInt_t time, TSQLSer Line 2363  Int_t GL_TLE::Query(UInt_t time, TSQLSer
2363  //  //
2364  Int_t GL_TLE::DoQuery(TString myquery, TSQLServer *dbc){  Int_t GL_TLE::DoQuery(TString myquery, TSQLServer *dbc){
2365    TSQLResult *result;    TSQLResult *result;
2366    TSQLRow *row;    TSQLRow *row = NULL;
2367    
2368    // Set the right time_zone (otherwise horrible things will occur! :)    // Set the right time_zone (otherwise horrible things will occur! :)
2369    if ( !this->GetGLTABLES()->IsConnected(dbc) ) return -57;      if ( !this->GetGLTABLES()->IsConnected(dbc) ) return -57;  
2370    dbc->Query("SET time_zone = '+0:00'");    delete dbc->Query("SET time_zone = '+0:00';");
2371      delete dbc->Query("SET sql_mode = 'NO_UNSIGNED_SUBTRACTION';");
2372    
2373    // Do the query    // Do the query
2374    this->GetGLTABLES()->AddQ();    this->GetGLTABLES()->AddQ();
2375    result = dbc->Query(myquery.Data());    result = dbc->Query(myquery.Data());
2376    if(! result->GetRowCount() ) {    if(! result->GetRowCount() ) {
2377      cerr << "GL_TLE: query failed: " << myquery.Data() << endl;      cerr << "GL_TLE: query failed: " << myquery.Data() << endl;
2378        delete result;
2379      return 1;      return 1;
2380    }    }
2381    
# Line 2190  Int_t GL_TLE::DoQuery(TString myquery, T Line 2384  Int_t GL_TLE::DoQuery(TString myquery, T
2384    tle = GiveTle(row);    tle = GiveTle(row);
2385    
2386    tleFromTime = strtol(row->GetField(4), NULL, 10);    tleFromTime = strtol(row->GetField(4), NULL, 10);
2387      if (row)
2388        delete row;
2389    row = result->Next(); // second tle row    row = result->Next(); // second tle row
2390    if(row)    if(row)
2391      tleToTime = strtol(row->GetField(4), NULL, 10);      tleToTime = strtol(row->GetField(4), NULL, 10);
# Line 2199  Int_t GL_TLE::DoQuery(TString myquery, T Line 2394  Int_t GL_TLE::DoQuery(TString myquery, T
2394      tleToTime = UINT_MAX;      tleToTime = UINT_MAX;
2395    }    }
2396    
2397    delete row;    if (row)
2398        delete row;
2399    delete result;    delete result;
2400    
2401    return 0;    return 0;

Legend:
Removed from v.1.12  
changed lines
  Added in v.1.19

  ViewVC Help
Powered by ViewVC 1.1.23