{
int retVal = 0;
int i;
- char *endptr;
EXEC SQL WHENEVER SQLERROR DO Param_strerror(my, sqlca.sqlerrm.sqlerrmc);
EXEC SQL WHENEVER SQLERROR DO Param_rollback();
EXEC SQL CONNECT :un IDENTIFIED BY :pw;
- EXEC SQL SELECT value INTO :value FROM daq.param_int WHERE setup = :sqlsetup AND name = :sqlname AND idx = :sqlidx ORDER BY seq_num;
+ if (my->setup != NULL) {
+ EXEC SQL SELECT value INTO :value FROM daq.param_int WHERE setup = :sqlsetup AND name = :sqlname AND idx = :sqlidx ORDER BY seq_num;
+ } else {
+ EXEC SQL SELECT value INTO :value FROM daq.param_int WHERE setup IS NULL AND name = :sqlname AND idx = :sqlidx ORDER BY seq_num;
+ }
*rows = sqlca.sqlerrd[2];
EXEC SQL CONNECT :un IDENTIFIED BY :pw;
- EXEC SQL SELECT value INTO :value FROM daq.param_string WHERE setup = :sqlsetup AND name = :sqlname AND idx = :sqlidx ORDER BY seq_num;
+ if (my->setup != NULL) {
+ EXEC SQL SELECT value INTO :value FROM daq.param_string WHERE setup = :sqlsetup AND name = :sqlname AND idx = :sqlidx ORDER BY seq_num;
+ } else {
+ EXEC SQL SELECT value INTO :value FROM daq.param_string WHERE setup IS NULL 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';
- strcpy(val[i], value[i]);
+ if (*rows == 0) {
+ EXEC SQL BEGIN DECLARE SECTION;
+ unsigned long int intvalue[PARAM_MAX_ARRAY_LEN];
+ EXEC SQL END DECLARE SECTION;
+
+ if (my->setup != NULL) {
+ EXEC SQL SELECT value INTO :intvalue FROM daq.param_int WHERE setup = :sqlsetup AND name = :sqlname AND idx = :sqlidx ORDER BY seq_num;
+ } else {
+ EXEC SQL SELECT value INTO :intvalue FROM daq.param_int WHERE setup IS NULL 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++) {
+ sprintf(val[i], "%ld", intvalue[i]);
+ }
+ } else {
+ 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';
+ strcpy(val[i], value[i]);
+ }
}
EXEC SQL COMMIT RELEASE;
struct stat fileS, *file = &fileS;
stat(filename, file);
*size = (size_t) file->st_size;
- fprintf(stderr, "Result: %d.\n", *size);
*val = stream;
}
return retVal;
char sqlsetup[PARAM_MAX_NAME_LEN];
char sqlname[PARAM_MAX_NAME_LEN];
char sqlidx[PARAM_MAX_NAME_LEN];
- char *value;
+ const char *value;
EXEC SQL END DECLARE SECTION;
if (my->setup != NULL) {