From: hadaq Date: Tue, 8 Oct 2002 07:09:54 +0000 (+0000) Subject: *** empty log message *** X-Git-Url: https://jspc29.x-matter.uni-frankfurt.de/git/?a=commitdiff_plain;h=78f3b06ce0bb8d89138fedd251cf3e578a6eaf7f;p=daqdata.git *** empty log message *** --- diff --git a/allParam/ora/oraParam.pc b/allParam/ora/oraParam.pc index d7602c5..f9ea919 100644 --- a/allParam/ora/oraParam.pc +++ b/allParam/ora/oraParam.pc @@ -1,4 +1,4 @@ -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 @@ -99,6 +99,8 @@ int Param_getIntArray(const Param *my, const char *name, const char *idx, int ma 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]; @@ -120,9 +122,69 @@ int Param_getIntArray(const Param *my, const char *name, const char *idx, int ma } 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]; @@ -147,6 +209,8 @@ int Param_getStringArray(const Param *my, const char *name, const char *idx, int 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]; @@ -168,9 +232,69 @@ int Param_getStringArray(const Param *my, const char *name, const char *idx, int } 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]; @@ -181,9 +305,69 @@ int Param_getStringArray(const Param *my, const char *name, const char *idx, int 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];