strcpy(my->setup, setup);
}
my->specParam = malloc(sizeof(OraParam));
- ((OraParam *) (my->specParam))->user = "daq@db-hades.gsi.de";
+ ((OraParam *) (my->specParam))->user = "daq_oper@db-hades.gsi.de";
((OraParam *) (my->specParam))->passwd = "daqall";
return 0;
}
EXEC SQL BEGIN DECLARE SECTION;
const char* un;
const char* pw;
+ char sqlsetup[PARAM_MAX_NAME_LEN];
char sqlname[PARAM_MAX_NAME_LEN];
char sqlidx[PARAM_MAX_NAME_LEN];
- char value[PARAM_MAX_ARRAY_LEN][PARAM_MAX_VALUE_LEN];
+ unsigned long int value[PARAM_MAX_ARRAY_LEN];
EXEC SQL END DECLARE SECTION;
+ if (my->setup != NULL) {
+ for(i = 0 ; i <= strlen(my->setup) ; i++) {
+ sqlsetup[i] = tolower((my->setup)[i]);
+ }
+ } else {
+ strcpy(sqlsetup, "");
+ }
for(i = 0 ; i <= strlen(name) ; i++) {
sqlname[i] = tolower(name[i]);
}
pw = ((OraParam *) (my->specParam))->passwd;
EXEC SQL CONNECT :un IDENTIFIED BY :pw;
- EXEC SQL SELECT VALUE INTO :value FROM DAQ.PARAMS WHERE NAME = :sqlname AND IDX = :sqlidx ORDER BY SEQ_NUM;
+
+ EXEC SQL SELECT value INTO :value FROM daq.param_int WHERE setup = :sqlsetup AND name = :sqlname AND idx = :sqlidx ORDER BY seq_num;
+
*rows = sqlca.sqlerrd[2];
if (*rows > maxrows) {
*rows = maxrows;
}
for (i = 0 ; i < *rows ; i++) {
- int j = PARAM_MAX_VALUE_LEN - 1;
- while(value[i][--j] == ' ');
- value[i][j + 1] = '\0';
- val[i] = strtoul(value[i], &endptr, 0);
- if(*endptr != '\0') {
- Param_strerror(my, "Value seems to be no integer.");
- *rows = 0;
- return -1;
- }
- }
- for (i = *rows ; i < maxrows ; i++) {
- val[i] = 0;
+ val[i] = value[i];
}
EXEC SQL COMMIT RELEASE;
EXEC SQL BEGIN DECLARE SECTION;
const char* un;
const char* pw;
- char setup[PARAM_MAX_NAME_LEN];
+ char sqlsetup[PARAM_MAX_NAME_LEN];
char sqlname[PARAM_MAX_NAME_LEN];
char sqlidx[PARAM_MAX_NAME_LEN];
char value[PARAM_MAX_ARRAY_LEN][PARAM_MAX_VALUE_LEN];
EXEC SQL END DECLARE SECTION;
+ if (my->setup != NULL) {
+ for(i = 0 ; i <= strlen(my->setup) ; i++) {
+ sqlsetup[i] = tolower((my->setup)[i]);
+ }
+ } else {
+ strcpy(sqlsetup, "");
+ }
for(i = 0 ; i <= strlen(name) ; i++) {
sqlname[i] = tolower(name[i]);
}
EXEC SQL CONNECT :un IDENTIFIED BY :pw;
- if(my->setup == NULL) {
- EXEC SQL SELECT VALUE INTO :value FROM DAQ.PARAMS WHERE NAME = :sqlname AND IDX = :sqlidx ORDER BY SEQ_NUM;
- } else {
- for(i = 0 ; i <= strlen(my->setup) ; i++) {
- setup[i] = tolower((my->setup)[i]);
- }
- EXEC SQL SELECT VALUE INTO :value FROM DAQ.SETUP_PARAMS WHERE SETUP = :setup AND NAME = :sqlname AND IDX = :sqlidx ORDER BY SEQ_NUM;
- }
+ EXEC SQL SELECT value INTO :value FROM daq.param_string WHERE setup = :sqlsetup AND name = :sqlname AND idx = :sqlidx ORDER BY seq_num;
+
*rows = sqlca.sqlerrd[2];
if (*rows > maxrows) {
value[i][j + 1] = '\0';
strcpy(val[i], value[i]);
}
- for (i = *rows ; i < maxrows ; i++) {
- val[i] = NULL;
- }
EXEC SQL COMMIT RELEASE;
return retVal;
}
+int Param_getFilenameArray(const Param *my, const char *name, const char *idx, int maxrows, int *rows, char **val)
+{
+ int retVal = 0;
+ int row = 0;
+ int i;
+ char *value[PARAM_MAX_ARRAY_LEN];
+
+ for (i = 0 ; i < maxrows ; i++) {
+ value[i] = malloc(PARAM_MAX_VALUE_LEN);
+ }
+
+ if (((retVal = Param_getStringArray(my, name, idx, maxrows, rows, value)) == 0) && (*rows > 0)) {
+ char basedir[PARAM_MAX_VALUE_LEN];
+
+ if ((Param_getString(my, "glob", "basedir", &row, basedir) == 0) && (row == 1)) {
+ strcat(basedir, "/");
+ } else {
+ strcpy(basedir, "");
+ }
+ for (i = 0 ; i < *rows ; i++) {
+ if (value[i][0] != '/') {
+ strcpy(val[i], basedir);
+ } else {
+ strcpy(val[i], "");
+ }
+ strcat(val[i], value[i]);
+ }
+ } else {
+ *rows = 0;
+ }
+
+ for (i = 0 ; i < maxrows ; i++) {
+ free(value[i]);
+ }
+
+ return retVal;
+}
+
+int Param_getBlob(const Param *my, const char *name, const char *idx, size_t *size, FILE **val)
+{
+ int retVal = 0;
+ char filename[PARAM_MAX_VALUE_LEN];
+ int rows;
+ FILE *stream;
+
+ retVal = Param_getFilename(my, name, idx, &rows, filename);
+ if ((rows == 0) || (stream = fopen(filename, "r")) == NULL) {
+ Param_strerror((Param *) my, strerror(errno));
+ *size = 0;
+ retVal = -1;
+ } else {
+ struct stat fileS, *file = &fileS;
+ stat(filename, file);
+ *size = (size_t) file->st_size;
+ fprintf(stderr, "Result: %d.\n", *size);
+ *val = stream;
+ }
+ return retVal;
+}
+
int Param_storeInt(const Param *my, const char *name, const char *idx, unsigned long int val)
{
int i;
EXEC SQL BEGIN DECLARE SECTION;
const char* un;
const char* pw;
- char setup[PARAM_MAX_NAME_LEN];
+ char sqlsetup[PARAM_MAX_NAME_LEN];
char sqlname[PARAM_MAX_NAME_LEN];
char sqlidx[PARAM_MAX_NAME_LEN];
unsigned long int value;
EXEC SQL END DECLARE SECTION;
+ if (my->setup != NULL) {
+ for(i = 0 ; i <= strlen(my->setup) ; i++) {
+ sqlsetup[i] = tolower((my->setup)[i]);
+ }
+ } else {
+ strcpy(sqlsetup, "");
+ }
for(i = 0 ; i <= strlen(name) ; i++) {
sqlname[i] = tolower(name[i]);
}
EXEC SQL CONNECT :un IDENTIFIED BY :pw;
- if(my->setup == NULL) {
- EXEC SQL INSERT INTO DAQ.STORE_INT VALUES (:sqlname, :sqlidx, :value);
- } else {
- for(i = 0 ; i <= strlen(my->setup) ; i++) {
- setup[i] = tolower((my->setup)[i]);
- }
- EXEC SQL INSERT INTO DAQ.SETUP_STORE_INT VALUES (:setup, :sqlname, :sqlidx, :value);
- }
+ EXEC SQL EXECUTE daq.store_param.store_param_int ( :sqlsetup, :sqlname, :sqlidx, :value );
EXEC SQL COMMIT RELEASE;
return 0;
EXEC SQL BEGIN DECLARE SECTION;
const char* un;
const char* pw;
- char setup[PARAM_MAX_NAME_LEN];
+ char sqlsetup[PARAM_MAX_NAME_LEN];
char sqlname[PARAM_MAX_NAME_LEN];
char sqlidx[PARAM_MAX_NAME_LEN];
- char value[PARAM_MAX_VALUE_LEN];
+ char *value;
EXEC SQL END DECLARE SECTION;
+ if (my->setup != NULL) {
+ for(i = 0 ; i <= strlen(my->setup) ; i++) {
+ sqlsetup[i] = tolower((my->setup)[i]);
+ }
+ } else {
+ strcpy(sqlsetup, "");
+ }
for(i = 0 ; i <= strlen(name) ; i++) {
sqlname[i] = tolower(name[i]);
}
for(i = 0 ; i <= strlen(idx) ; i++) {
sqlidx[i] = tolower(idx[i]);
}
- strcpy(value, val);
+ value = val;
un = ((OraParam *) (my->specParam))->user;
pw = ((OraParam *) (my->specParam))->passwd;
EXEC SQL CONNECT :un IDENTIFIED BY :pw;
- if(my->setup == NULL) {
- EXEC SQL INSERT INTO DAQ.STORE_STRING VALUES (:sqlname, :sqlidx, :value);
- } else {
- for(i = 0 ; i <= strlen(my->setup) ; i++) {
- setup[i] = tolower((my->setup)[i]);
- }
- EXEC SQL INSERT INTO DAQ.SETUP_STORE_STRING VALUES (:setup, :sqlname, :sqlidx, :value);
- }
+ EXEC SQL EXECUTE daq.store_param.store_param_string ( :sqlsetup, :sqlname, :sqlidx, :value );
EXEC SQL COMMIT RELEASE;
return 0;
}
-int Param_getFilenameArray(const Param *my, const char *name, const char *idx, int maxrows, int *rows, char **val)
-{
- int retVal = 0;
- int row = 0;
- int i;
- char *value[PARAM_MAX_ARRAY_LEN];
-
- for (i = 0 ; i < maxrows ; i++) {
- value[i] = malloc(PARAM_MAX_VALUE_LEN);
- }
-
- if (((retVal = Param_getStringArray(my, name, idx, maxrows, rows, value)) == 0) && (*rows > 0)) {
- char basedir[PARAM_MAX_VALUE_LEN];
-
- if ((Param_getString(my, "glob", "basedir", &row, basedir) == 0) && (row == 1)) {
- strcat(basedir, "/");
- } else {
- strcpy(basedir, "");
- }
- for (i = 0 ; i < *rows ; i++) {
- if (value[i][0] != '/') {
- strcpy(val[i], basedir);
- } else {
- strcpy(val[i], "");
- }
- strcat(val[i], value[i]);
- }
- } else {
- *rows = 0;
- }
-
- for (i = 0 ; i < maxrows ; i++) {
- free(value[i]);
- }
-
- return retVal;
-}
-
-int Param_getBlob(const Param *my, const char *name, const char *idx, size_t *size, FILE **val)
-{
- int retVal = 0;
- char filename[PARAM_MAX_VALUE_LEN];
- int rows;
- FILE *stream;
-
- retVal = Param_getFilename(my, name, idx, &rows, filename);
- if ((rows == 0) || (stream = fopen(filename, "r")) == NULL) {
- Param_strerror((Param *) my, strerror(errno));
- *size = 0;
- retVal = -1;
- } else {
- struct stat fileS, *file = &fileS;
- stat(filename, file);
- *size = (size_t) file->st_size;
- fprintf(stderr, "Result: %d.\n", *size);
- *val = stream;
- }
- return retVal;
-}
-
const char *Param_getErrStr(const Param *my)
{
return my->strerror;