-static const char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/allParam/ora/oraParam.pc,v 1.23 2002-05-28 08:58:30 hadaq Exp $";
+static const char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/allParam/ora/oraParam.pc,v 1.24 2002-10-08 07:09:54 hadaq Exp $";
#define _POSIX_C_SOURCE 199509L
#include <ctype.h>
EXEC SQL WHENEVER SQLERROR DO Param_rollback();
EXEC SQL BEGIN DECLARE SECTION;
+ int l_valid;
+ int l_locked;
char sqlsetup[PARAM_MAX_NAME_LEN];
char sqlname[PARAM_MAX_NAME_LEN];
char sqlidx[PARAM_MAX_NAME_LEN];
}
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;
+ EXEC SQL EXECUTE
+ BEGIN
+ SELECT
+ valid, locked
+ INTO
+ :l_valid, :l_locked
+ FROM
+ daq.cache_table_valid
+ WHERE
+ cache_table = 'param_int_cache';
+ IF
+ :l_valid = 0 AND :l_locked = 0
+ THEN
+ daq.daq_oper_interface.validate_cache_table ( 'param_int_cache' );
+ END IF;
+ END;
+ END-EXEC;
+ EXEC SQL SELECT
+ value
+ INTO
+ :value
+ FROM
+ daq.param_int_cache
+ 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;
+ EXEC SQL EXECUTE
+ BEGIN
+ SELECT
+ valid, locked
+ INTO
+ :l_valid, :l_locked
+ FROM
+ daq.cache_table_valid
+ WHERE
+ cache_table = 'param_int_cache';
+ IF
+ :l_valid = 0 AND :l_locked = 0
+ THEN
+ daq.daq_oper_interface.validate_cache_table ( 'param_int_cache' );
+ END IF;
+ END;
+ END-EXEC;
+ EXEC SQL SELECT
+ value
+ INTO
+ :value
+ FROM
+ daq.param_int_cache
+ WHERE
+ setup IS NULL
+ AND
+ name = :sqlname
+ AND
+ idx = :sqlidx
+ ORDER BY
+ seq_num;
}
*rows = sqlca.sqlerrd[2];
EXEC SQL WHENEVER SQLERROR DO Param_rollback();
EXEC SQL BEGIN DECLARE SECTION;
+ int l_valid;
+ int l_locked;
char sqlsetup[PARAM_MAX_NAME_LEN];
char sqlname[PARAM_MAX_NAME_LEN];
char sqlidx[PARAM_MAX_NAME_LEN];
}
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;
+ EXEC SQL EXECUTE
+ BEGIN
+ SELECT
+ valid, locked
+ INTO
+ :l_valid, :l_locked
+ FROM
+ daq.cache_table_valid
+ WHERE
+ cache_table = 'param_string_cache';
+ IF
+ :l_valid = 0 AND :l_locked = 0
+ THEN
+ daq.daq_oper_interface.validate_cache_table ( 'param_string_cache' );
+ END IF;
+ END;
+ END-EXEC;
+ EXEC SQL SELECT
+ value
+ INTO
+ :value
+ FROM
+ daq.param_string_cache
+ 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;
+ EXEC SQL EXECUTE
+ BEGIN
+ SELECT
+ valid, locked
+ INTO
+ :l_valid, :l_locked
+ FROM
+ daq.cache_table_valid
+ WHERE
+ cache_table = 'param_string_cache';
+ IF
+ :l_valid = 0 AND :l_locked = 0
+ THEN
+ daq.daq_oper_interface.validate_cache_table ( 'param_string_cache' );
+ END IF;
+ END;
+ END-EXEC;
+ EXEC SQL SELECT
+ value
+ INTO
+ :value
+ FROM
+ daq.param_string_cache
+ WHERE
+ setup IS NULL
+ AND
+ name = :sqlname
+ AND
+ idx = :sqlidx
+ ORDER BY
+ seq_num;
}
*rows = sqlca.sqlerrd[2];
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;
+ EXEC SQL EXECUTE
+ BEGIN
+ SELECT
+ valid, locked
+ INTO
+ :l_valid, :l_locked
+ FROM
+ daq.cache_table_valid
+ WHERE
+ cache_table = 'param_int_cache';
+ IF
+ :l_valid = 0 AND :l_locked = 0
+ THEN
+ daq.daq_oper_interface.validate_cache_table ( 'param_int_cache' );
+ END IF;
+ END;
+ END-EXEC;
+ EXEC SQL SELECT
+ value
+ INTO
+ :intvalue
+ FROM
+ daq.param_int_cache
+ 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;
+ EXEC SQL EXECUTE
+ BEGIN
+ SELECT
+ valid, locked
+ INTO
+ :l_valid, :l_locked
+ FROM
+ daq.cache_table_valid
+ WHERE
+ cache_table = 'param_int_cache';
+ IF
+ :l_valid = 0 AND :l_locked = 0
+ THEN
+ daq.daq_oper_interface.validate_cache_table ( 'param_int_cache' );
+ END IF;
+ END;
+ END-EXEC;
+ EXEC SQL SELECT
+ value
+ INTO
+ :intvalue
+ FROM
+ daq.param_int_cache
+ WHERE
+ setup IS NULL
+ AND
+ name = :sqlname
+ AND
+ idx = :sqlidx
+ ORDER BY
+ seq_num;
}
*rows = sqlca.sqlerrd[2];