#ifndef SQL_CRSR
# define SQL_CRSR
struct sql_cursor
{
unsigned int curocn;
void *ptr1;
void *ptr2;
unsigned int magic;
};
typedef struct sql_cursor sql_cursor;
typedef struct sql_cursor SQL_CURSOR;
#endif /* SQL_CRSR */
typedef void * sql_context;
typedef void * SQL_CONTEXT;
struct sqltvn
{
unsigned char *tvnvsn;
unsigned short tvnvsnl;
unsigned char *tvnnm;
unsigned short tvnnml;
unsigned char *tvnsnm;
unsigned short tvnsnml;
};
typedef struct sqltvn sqltvn;
struct sqladts
{
unsigned int adtvsn;
unsigned short adtmode;
unsigned short adtnum;
sqltvn adttvn[1];
};
typedef struct sqladts sqladts;
static struct sqladts sqladt = {
1,1,0,
};
struct sqltdss
{
unsigned int tdsvsn;
unsigned short tdsnum;
unsigned char *tdsval[1];
};
typedef struct sqltdss sqltdss;
static struct sqltdss sqltds =
{
1,
0,
};
struct sqlcxp
{
unsigned short fillen;
char filnam[12];
};
static const struct sqlcxp sqlfpn =
{
11,
"horainfo.pc"
};
static unsigned int sqlctx = 152819;
static struct sqlexd {
unsigned int sqlvsn;
unsigned int arrsiz;
unsigned int iters;
unsigned int offset;
unsigned short selerr;
unsigned short sqlety;
unsigned int occurs;
const short *cud;
unsigned char *sqlest;
const char *stmt;
sqladts *sqladtp;
sqltdss *sqltdsp;
void **sqphsv;
unsigned int *sqphsl;
int *sqphss;
void **sqpind;
int *sqpins;
unsigned int *sqparm;
unsigned int **sqparc;
unsigned short *sqpadto;
unsigned short *sqptdso;
unsigned int sqlcmax;
unsigned int sqlcmin;
unsigned int sqlcincr;
unsigned int sqlctimeout;
unsigned int sqlcnowait;
int sqfoff;
unsigned int sqcmod;
unsigned int sqfmod;
void *sqhstv[5];
unsigned int sqhstl[5];
int sqhsts[5];
void *sqindv[5];
int sqinds[5];
unsigned int sqharm[5];
unsigned int *sqharc[5];
unsigned short sqadto[5];
unsigned short sqtdso[5];
} sqlstm = {12,5};
extern "C" {
void sqlcxt (void **, unsigned int *,
struct sqlexd *, const struct sqlcxp *);
void sqlcx2t(void **, unsigned int *,
struct sqlexd *, const struct sqlcxp *);
void sqlbuft(void **, char *);
void sqlgs2t(void **, char *);
void sqlorat(void **, unsigned int *, void *);
}
static const int IAPSUCC = 0;
static const int IAPFAIL = 1403;
static const int IAPFTL = 535;
extern "C" { void sqliem(char *, int *); }
static const char *sq0006 =
"select run_id ,filename ,TO_CHAR(run_start,'DD-MON-YYYY HH24:MI:SS') ,TO_CHA\
R(run_stop,'DD-MON-YYYY HH24:MI:SS') ,events from daq.daq_runs_ana where ((((\
upper(exp_id)=:b0 and run_start is not null ) and run_start between TO_DATE(:\
b1,'DD-MON-YYYY HH24:MI:SS') and TO_DATE(:b2,'DD-MON-YYYY HH24:MI:SS')) and fi\
lename is not null ) and filename<>'null') order by run_start ";
static const char *sq0009 =
"select ref_run_id ,ref_run_name ,TO_CHAR(run_start,'DD-MON-YYYY HH24:MI:SS')\
,TO_CHAR(run_stop,'DD-MON-YYYY HH24:MI:SS') from hanal.simul_project p ,hana\
l.simul_ref_run rr where (((upper(exp_id)=:b0 and p.project_id=rr.project_id) \
and run_start between TO_DATE(:b1,'DD-MON-YYYY HH24:MI:SS') and TO_DATE(:b2,'D\
D-MON-YYYY HH24:MI:SS')) and rr.generation=(select max(generation) from hanal\
.simul_ref_run where project_id=p.project_id)) order by ref_run_id ";
typedef struct { unsigned short len; unsigned char arr[1]; } VARCHAR;
typedef struct { unsigned short len; unsigned char arr[1]; } varchar;
static const short sqlcud0[] =
{12,4130,1,0,0,
5,0,0,1,102,0,4,52,0,0,2,1,0,1,0,2,97,0,0,1,3,0,0,
28,0,0,2,75,0,4,74,0,0,2,1,0,1,0,2,3,0,0,1,97,0,0,
51,0,0,3,65,0,6,95,0,0,2,2,0,1,0,2,3,0,0,1,97,0,0,
74,0,0,4,147,0,4,117,0,0,3,2,0,1,0,2,3,0,0,1,97,0,0,1,97,0,0,
101,0,0,5,110,0,4,143,0,0,3,1,0,1,0,2,9,0,0,2,9,0,0,1,3,0,0,
128,0,0,6,384,0,9,225,0,0,3,3,0,1,0,1,97,0,0,1,97,0,0,1,97,0,0,
155,0,0,6,0,0,13,227,0,0,5,0,0,1,0,2,3,0,0,2,9,0,0,2,97,0,0,2,97,0,0,2,3,0,0,
190,0,0,6,0,0,15,246,0,0,0,0,0,1,0,
205,0,0,7,98,0,4,278,0,0,2,1,0,1,0,2,97,0,0,1,97,0,0,
228,0,0,8,99,0,4,284,0,0,2,1,0,1,0,2,97,0,0,1,3,0,0,
251,0,0,9,466,0,9,353,0,0,3,3,0,1,0,1,97,0,0,1,97,0,0,1,97,0,0,
278,0,0,9,0,0,13,355,0,0,4,0,0,1,0,2,3,0,0,2,9,0,0,2,97,0,0,2,97,0,0,
309,0,0,9,0,0,15,371,0,0,0,0,0,1,0,
324,0,0,10,106,0,4,404,0,0,2,1,0,1,0,2,97,0,0,1,3,0,0,
347,0,0,11,108,0,4,410,0,0,2,1,0,1,0,2,97,0,0,1,97,0,0,
};
using namespace std;
#include "horainfo.h"
#include "horaconn.h"
#include "hruninfo.h"
#include <iostream>
#include <iomanip>
#include <cstdlib>
#define SQLCA_STORAGE_CLASS extern
#define ORACA_STORAGE_CLASS extern
#include <oraca.h>
#include <sqlca.h>
ClassImp(HOraInfo)
#define NMAX_INFO 2000
void HOraInfo::showSqlError(const Char_t* f) {
Error(f,"\n%s",sqlca.sqlerrm.sqlerrmc);
}
void HOraInfo::showRunStart(Int_t run) {
int id;
char runDate[21];
short runDate_Ind=-1;
id=run;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 12;
sqlstm.arrsiz = 2;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select TO_CHAR(run_start,'DD-MON-YYYY HH24:MI:SS') into :b0\
:b1 from daq.daq_runs_ana where run_id=:b2";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )5;
sqlstm.selerr = (unsigned short)1;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)256;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = ( void *)runDate;
sqlstm.sqhstl[0] = (unsigned int )21;
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( void *)&runDate_Ind;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = ( void *)&id;
sqlstm.sqhstl[1] = (unsigned int )sizeof(int);
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( void *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned int )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode == 1403) goto notfound;
if (sqlca.sqlcode < 0) showSqlError("showRunStart(Int_t)");
}
if (runDate_Ind>=0) cout<<"Run "<<run<<" started at "<<runDate<<'\n';
else cout << "no Run_Start for run "<<run<<'\n';
return;
notfound:
cout << "Run not found" <<endl;
return;
}
Int_t HOraInfo::getRunId(const Text_t* daqFilename) {
char* daqfile;
int run;
daqfile=(Char_t*)daqFilename;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 12;
sqlstm.arrsiz = 2;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select run_id into :b0 from daq.daq_files where UPPER(file\
name)=UPPER(:b1)";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )28;
sqlstm.selerr = (unsigned short)1;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)256;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = ( void *)&run;
sqlstm.sqhstl[0] = (unsigned int )sizeof(int);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( void *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = ( void *)daqfile;
sqlstm.sqhstl[1] = (unsigned int )0;
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( void *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned int )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode == 1403) goto notfound;
if (sqlca.sqlcode < 0) showSqlError("getRunId(Text_t*)");
}
return run;
notfound:
Error("getRunId(Text_t*)","No such DAQ file %s",daqFilename);
return -1;
}
Int_t HOraInfo::getRefRunId(const Text_t* daqFilename) {
char* daqfile;
int run = -1;
daqfile=(Char_t*)daqFilename;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 12;
sqlstm.arrsiz = 2;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "begin :run := hades_oper . get_reference_run ( :daqfile ) ;\
END ;";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )51;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)256;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = ( void *)&run;
sqlstm.sqhstl[0] = (unsigned int )sizeof(int);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( void *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = ( void *)daqfile;
sqlstm.sqhstl[1] = (unsigned int )0;
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( void *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned int )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode == 1403) goto notfound;
if (sqlca.sqlcode < 0) showSqlError("getRefRunId(Text_t*)");
}
return run;
notfound:
showSqlError("getRefRunId(Text_t*)");
return -1;
}
Int_t HOraInfo::getLastRun(const Text_t* beamtime) {
char* bt;
int run;
bt=(Char_t*)beamtime;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 12;
sqlstm.arrsiz = 3;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select max(run_id) into :b0 from daq.daq_runs_ana where (e\
xp_id=:b1 and run_start=(select max(run_start) from daq.daq_runs_ana where ex\
p_id=:b1))";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )74;
sqlstm.selerr = (unsigned short)1;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)256;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = ( void *)&run;
sqlstm.sqhstl[0] = (unsigned int )sizeof(int);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( void *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = ( void *)bt;
sqlstm.sqhstl[1] = (unsigned int )0;
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( void *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned int )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = ( void *)bt;
sqlstm.sqhstl[2] = (unsigned int )0;
sqlstm.sqhsts[2] = ( int )0;
sqlstm.sqindv[2] = ( void *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned int )0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode == 1403) goto notfound;
if (sqlca.sqlcode < 0) showSqlError("getLastRun(Text_t*)");
}
return run;
notfound:
Error("getLastRun(Text_t*)","No run found for beamtime %s",beamtime);
return -1;
}
Bool_t HOraInfo::getDaqFilename(Int_t runId,TString& filename) {
int id;
struct { unsigned short len; unsigned char arr[128]; } fname;
struct { unsigned short len; unsigned char arr[20]; } fstart;
short fname_Ind;
short fstart_Ind;
id=runId;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 12;
sqlstm.arrsiz = 3;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select filename ,to_char(run_start,'YYDDDHH24MISS') into :b\
0:b1,:b2:b3 from daq.daq_runs_ana where run_id=:b4";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )101;
sqlstm.selerr = (unsigned short)1;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)256;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = ( void *)&fname;
sqlstm.sqhstl[0] = (unsigned int )130;
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( void *)&fname_Ind;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = ( void *)&fstart;
sqlstm.sqhstl[1] = (unsigned int )22;
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( void *)&fstart_Ind;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned int )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = ( void *)&id;
sqlstm.sqhstl[2] = (unsigned int )sizeof(int);
sqlstm.sqhsts[2] = ( int )0;
sqlstm.sqindv[2] = ( void *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned int )0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode == 1403) goto notfound;
if (sqlca.sqlcode < 0) showSqlError("getDaqFilename");
}
if (fname_Ind!=-1) {
fname.arr[fname.len]='\0';
filename=(Char_t*)(fname.arr);
}
if (filename.CompareTo("null")==0) {
if (fstart_Ind!=-1) {
fstart.arr[fstart.len]='\0';
filename="auto";
filename.Append((Char_t*)(fstart.arr));
filename.Append(".hld");
} else {
filename="\0";
Warning("getDaqFilename","No runStart for runId %i",runId);
return kFALSE;
}
}
return kTRUE;
notfound:
Warning("getDaqFilename","RunId %i not found",runId);
return kFALSE;
}
TList* HOraInfo::getListOfRuns(const Char_t* beamtime,
const Char_t* startAt, const Char_t* endAt) {
if (strlen(beamtime)==0) return 0;
TString expName(beamtime);
expName.ToUpper();
TString rangeStart;
TString rangeEnd;
Bool_t rc=kTRUE;
if (expName.Contains("SIM")) return getListOfSimRefRuns(expName.Data(),startAt,endAt);
if (strlen(startAt)!=0) rc=getRunStart(startAt,rangeStart);
else rangeStart="01-JAN-1990 00:00:00";
if (!rc) return 0;
if (strlen(endAt)!=0) rc=getRunStart(endAt,rangeEnd);
else rangeEnd="01-JAN-4000 00:00:00";
if (!rc) return 0;
char* pexp;
char* pstart;
char* pend;
struct {
int rid[NMAX_INFO];
struct { unsigned short len; unsigned char arr[82]; } rname[2000];
char ts[NMAX_INFO][21];
char te[NMAX_INFO][21];
int nevt[NMAX_INFO];
} runs;
struct {
short rid_Ind[NMAX_INFO];
short rname_Ind[NMAX_INFO];
short ts_Ind[NMAX_INFO];
short te_Ind[NMAX_INFO];
short nevt_Ind[NMAX_INFO];
} runs_Ind;
pexp=(Char_t*)expName.Data();
pstart=(Char_t*)rangeStart.Data();
pend=(Char_t*)rangeEnd.Data();
Int_t nTot=0;
Int_t nLast=0;
TList* runsList=new TList();
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 12;
sqlstm.arrsiz = 3;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = sq0006;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )128;
sqlstm.selerr = (unsigned short)1;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)256;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqcmod = (unsigned int )0;
sqlstm.sqhstv[0] = ( void *)pexp;
sqlstm.sqhstl[0] = (unsigned int )0;
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( void *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = ( void *)pstart;
sqlstm.sqhstl[1] = (unsigned int )0;
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( void *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned int )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = ( void *)pend;
sqlstm.sqhstl[2] = (unsigned int )0;
sqlstm.sqhsts[2] = ( int )0;
sqlstm.sqindv[2] = ( void *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned int )0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) goto errorfound;
}
do {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 12;
sqlstm.arrsiz = 5;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.iters = (unsigned int )2000;
sqlstm.offset = (unsigned int )155;
sqlstm.selerr = (unsigned short)1;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)256;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqfoff = ( int )0;
sqlstm.sqfmod = (unsigned int )2;
sqlstm.sqhstv[0] = ( void *)runs.rid;
sqlstm.sqhstl[0] = (unsigned int )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( void *)runs_Ind.rid_Ind;
sqlstm.sqinds[0] = ( int )sizeof(short);
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqharc[0] = (unsigned int *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = ( void *)runs.rname;
sqlstm.sqhstl[1] = (unsigned int )83;
sqlstm.sqhsts[1] = ( int )84;
sqlstm.sqindv[1] = ( void *)runs_Ind.rname_Ind;
sqlstm.sqinds[1] = ( int )sizeof(short);
sqlstm.sqharm[1] = (unsigned int )0;
sqlstm.sqharc[1] = (unsigned int *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = ( void *)runs.ts;
sqlstm.sqhstl[2] = (unsigned int )21;
sqlstm.sqhsts[2] = ( int )21;
sqlstm.sqindv[2] = ( void *)runs_Ind.ts_Ind;
sqlstm.sqinds[2] = ( int )sizeof(short);
sqlstm.sqharm[2] = (unsigned int )0;
sqlstm.sqharc[2] = (unsigned int *)0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = ( void *)runs.te;
sqlstm.sqhstl[3] = (unsigned int )21;
sqlstm.sqhsts[3] = ( int )21;
sqlstm.sqindv[3] = ( void *)runs_Ind.te_Ind;
sqlstm.sqinds[3] = ( int )sizeof(short);
sqlstm.sqharm[3] = (unsigned int )0;
sqlstm.sqharc[3] = (unsigned int *)0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = ( void *)runs.nevt;
sqlstm.sqhstl[4] = (unsigned int )sizeof(int);
sqlstm.sqhsts[4] = ( int )sizeof(int);
sqlstm.sqindv[4] = ( void *)runs_Ind.nevt_Ind;
sqlstm.sqinds[4] = ( int )sizeof(short);
sqlstm.sqharm[4] = (unsigned int )0;
sqlstm.sqharc[4] = (unsigned int *)0;
sqlstm.sqadto[4] = (unsigned short )0;
sqlstm.sqtdso[4] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) goto errorfound;
}
nLast=sqlca.sqlerrd[2]-nTot;
for (Int_t i=0;i<nLast;i++) {
runs.rname[i].arr[runs.rname[i].len]='\0';
HRunInfo* p=new HRunInfo((Char_t*)(runs.rname[i].arr));
p->setRunId(runs.rid[i]);
runs.ts[i][20]='\0';
p->setStartTime((Char_t*)(runs.ts[i]));
if (runs_Ind.te_Ind[i]!=-1) {
runs.te[i][20]='\0';
p->setEndTime((Char_t*)(runs.te[i]));
}
if (runs_Ind.nevt_Ind[i]!=-1) {
p->setNumEvents(runs.nevt[i]);
}
runsList->Add(p);
nTot++;
}
} while (nLast==NMAX_INFO);
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 12;
sqlstm.arrsiz = 5;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )190;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)256;
sqlstm.occurs = (unsigned int )0;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) goto errorfound;
}
cout<<"*** Total number of runs: "<<nTot<<endl;
return runsList;
errorfound:
pConn->showSqlError("getListOfRuns");
if (runsList) {
runsList->Delete();
delete runsList;
runsList=0;
}
return 0;
}
Bool_t HOraInfo::getRunStart(const Char_t* pString,TString& pTime) {
TString s(pString);
char* pfile;
int pid;
char ts[21];
pfile=0;
pid=-1;
if (s.Contains("-")) {
pTime=pString;
} else {
if (s.Contains(".hld")) {
pfile=(Char_t*)pString;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 12;
sqlstm.arrsiz = 5;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select TO_CHAR(run_start,'DD-MON-YYYY HH24:MI:SS') into\
:b0 from daq.daq_files where filename=:b1";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )205;
sqlstm.selerr = (unsigned short)1;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)256;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = ( void *)ts;
sqlstm.sqhstl[0] = (unsigned int )21;
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( void *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = ( void *)pfile;
sqlstm.sqhstl[1] = (unsigned int )0;
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( void *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned int )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode == 1403) goto notfound;
if (sqlca.sqlcode < 0) goto errorfound;
}
} else {
pid=atoi(pString);
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 12;
sqlstm.arrsiz = 5;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select TO_CHAR(run_start,'DD-MON-YYYY HH24:MI:SS') into\
:b0 from daq.daq_runs_ana where run_id=:b1";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )228;
sqlstm.selerr = (unsigned short)1;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)256;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = ( void *)ts;
sqlstm.sqhstl[0] = (unsigned int )21;
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( void *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = ( void *)&pid;
sqlstm.sqhstl[1] = (unsigned int )sizeof(int);
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( void *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned int )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode == 1403) goto notfound;
if (sqlca.sqlcode < 0) goto errorfound;
}
}
ts[20]='\0';
pTime=ts;
}
return kTRUE;
errorfound:
pConn->showSqlError("getRunStart");
return kFALSE;
notfound:
Error("getRunStart","Run not found for %s",pString);
return kFALSE;
}
TList* HOraInfo::getListOfSimRefRuns(const Char_t* project,
const Char_t* startAt, const Char_t* endAt) {
TString rangeStart;
TString rangeEnd;
Bool_t rc=kTRUE;
if (strlen(startAt)!=0) rc=getSimRefRunStart(startAt,rangeStart);
else rangeStart="01-JAN-1990 00:00:00";
if (!rc) return 0;
if (strlen(endAt)!=0) rc=getSimRefRunStart(endAt,rangeEnd);
else rangeEnd="01-JAN-4000 00:00:00";
if (!rc) return 0;
char* pexp;
char* pstart;
char* pend;
struct {
int rid[NMAX_INFO];
struct { unsigned short len; unsigned char arr[82]; } rname[2000];
char ts[NMAX_INFO][21];
char te[NMAX_INFO][21];
} refruns;
struct {
short rid_Ind[NMAX_INFO];
short rname_Ind[NMAX_INFO];
short ts_Ind[NMAX_INFO];
short te_Ind[NMAX_INFO];
} refruns_Ind;
pexp=(Char_t*)project;
pstart=(Char_t*)rangeStart.Data();
pend=(Char_t*)rangeEnd.Data();
Int_t nTot=0;
Int_t nLast=0;
TList* runsList=new TList();
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 12;
sqlstm.arrsiz = 5;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = sq0009;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )251;
sqlstm.selerr = (unsigned short)1;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)256;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqcmod = (unsigned int )0;
sqlstm.sqhstv[0] = ( void *)pexp;
sqlstm.sqhstl[0] = (unsigned int )0;
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( void *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = ( void *)pstart;
sqlstm.sqhstl[1] = (unsigned int )0;
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( void *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned int )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = ( void *)pend;
sqlstm.sqhstl[2] = (unsigned int )0;
sqlstm.sqhsts[2] = ( int )0;
sqlstm.sqindv[2] = ( void *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned int )0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) goto errorfound;
}
do {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 12;
sqlstm.arrsiz = 5;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.iters = (unsigned int )2000;
sqlstm.offset = (unsigned int )278;
sqlstm.selerr = (unsigned short)1;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)256;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqfoff = ( int )0;
sqlstm.sqfmod = (unsigned int )2;
sqlstm.sqhstv[0] = ( void *)refruns.rid;
sqlstm.sqhstl[0] = (unsigned int )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( void *)refruns_Ind.rid_Ind;
sqlstm.sqinds[0] = ( int )sizeof(short);
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqharc[0] = (unsigned int *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = ( void *)refruns.rname;
sqlstm.sqhstl[1] = (unsigned int )83;
sqlstm.sqhsts[1] = ( int )84;
sqlstm.sqindv[1] = ( void *)refruns_Ind.rname_Ind;
sqlstm.sqinds[1] = ( int )sizeof(short);
sqlstm.sqharm[1] = (unsigned int )0;
sqlstm.sqharc[1] = (unsigned int *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = ( void *)refruns.ts;
sqlstm.sqhstl[2] = (unsigned int )21;
sqlstm.sqhsts[2] = ( int )21;
sqlstm.sqindv[2] = ( void *)refruns_Ind.ts_Ind;
sqlstm.sqinds[2] = ( int )sizeof(short);
sqlstm.sqharm[2] = (unsigned int )0;
sqlstm.sqharc[2] = (unsigned int *)0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = ( void *)refruns.te;
sqlstm.sqhstl[3] = (unsigned int )21;
sqlstm.sqhsts[3] = ( int )21;
sqlstm.sqindv[3] = ( void *)refruns_Ind.te_Ind;
sqlstm.sqinds[3] = ( int )sizeof(short);
sqlstm.sqharm[3] = (unsigned int )0;
sqlstm.sqharc[3] = (unsigned int *)0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) goto errorfound;
}
nLast=sqlca.sqlerrd[2]-nTot;
for (Int_t i=0;i<nLast;i++) {
refruns.rname[i].arr[refruns.rname[i].len]='\0';
HRunInfo* p=new HRunInfo((Char_t*)(refruns.rname[i].arr));
p->setRunId(refruns.rid[i]);
refruns.ts[i][20]='\0';
p->setStartTime((Char_t*)(refruns.ts[i]));
if (refruns_Ind.te_Ind[i]!=-1) {
refruns.te[i][20]='\0';
p->setEndTime((Char_t*)(refruns.te[i]));
}
runsList->Add(p);
nTot++;
}
} while (nLast==NMAX_INFO);
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 12;
sqlstm.arrsiz = 5;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )309;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)256;
sqlstm.occurs = (unsigned int )0;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) goto errorfound;
}
cout<<"*** Total number of runs: "<<nTot<<endl;
return runsList;
errorfound:
pConn->showSqlError("getListOfSimRefRuns");
if (runsList) {
runsList->Delete();
delete runsList;
runsList=0;
}
return 0;
}
Bool_t HOraInfo::getSimRefRunStart(const Char_t* pString,TString& pTime) {
TString s(pString);
char* pfile;
int pid;
char ts[21];
pfile=0;
pid=-1;
if (s.Contains("-")) {
pTime=pString;
} else {
Char_t c=pString[0];
if (c=='1'||c=='2'||c=='3'||c=='4'||c=='5'||c=='6'||c=='7'||c=='8'||c=='9') {
pid=atoi(pString);
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 12;
sqlstm.arrsiz = 5;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select TO_CHAR(run_start,'DD-MON-YYYY HH24:MI:SS') into\
:b0 from hanal.simul_ref_run where ref_run_id=:b1";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )324;
sqlstm.selerr = (unsigned short)1;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)256;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = ( void *)ts;
sqlstm.sqhstl[0] = (unsigned int )21;
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( void *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = ( void *)&pid;
sqlstm.sqhstl[1] = (unsigned int )sizeof(int);
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( void *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned int )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode == 1403) goto notfound;
if (sqlca.sqlcode < 0) goto errorfound;
}
} else {
pfile=(Char_t*)pString;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 12;
sqlstm.arrsiz = 5;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select TO_CHAR(run_start,'DD-MON-YYYY HH24:MI:SS') into\
:b0 from hanal.simul_ref_run where ref_run_name=:b1";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )347;
sqlstm.selerr = (unsigned short)1;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)256;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = ( void *)ts;
sqlstm.sqhstl[0] = (unsigned int )21;
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( void *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = ( void *)pfile;
sqlstm.sqhstl[1] = (unsigned int )0;
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( void *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned int )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode == 1403) goto notfound;
if (sqlca.sqlcode < 0) goto errorfound;
}
}
ts[20]='\0';
pTime=ts;
}
return kTRUE;
errorfound:
pConn->showSqlError("getRefRunStart");
return kFALSE;
notfound:
Error("getRefRunStart","Simulation reference run not found for %s",pString);
return kFALSE;
}
Last change: Sat May 22 13:05:04 2010
Last generated: 2010-05-22 13:05
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.