]> jspc29.x-matter.uni-frankfurt.de Git - daqdata.git/commitdiff
*** empty log message ***
authorhades <hades>
Thu, 31 May 2001 12:58:33 +0000 (12:58 +0000)
committerhades <hades>
Thu, 31 May 2001 12:58:33 +0000 (12:58 +0000)
allParam/ora/oraParam.pc

index bb4722f0febc0b95ad8b597018e38342c7e41b3a..4af66f7afb6d46e731b4524ed83e569b5f10b77a 100644 (file)
@@ -68,7 +68,6 @@ int Param_getIntArray(const Param *my, const char *name, const char *idx, int ma
 {
        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();
@@ -100,7 +99,11 @@ int Param_getIntArray(const Param *my, const char *name, const char *idx, int ma
 
        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];
 
@@ -150,18 +153,43 @@ int Param_getStringArray(const Param *my, const char *name, const char *idx, int
 
        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;
@@ -222,7 +250,6 @@ int Param_getBlob(const Param *my, const char *name, const char *idx, size_t *si
                struct stat fileS, *file = &fileS;
                stat(filename, file);
                *size = (size_t) file->st_size;
-               fprintf(stderr, "Result: %d.\n", *size);
                *val = stream;
        }
        return retVal;
@@ -287,7 +314,7 @@ int Param_storeString(const Param *my, const char *name, const char *idx, const
        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) {