-static const char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/allParam/ora/oraParam.pc,v 1.31 2003-02-10 13:43:52 hadaq Exp $";
+static const char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/allParam/ora/oraParam.pc,v 1.32 2003-03-31 17:15:54 sailer Exp $";
#define _POSIX_C_SOURCE 199509L
#if HAVE_CONFIG_H
#include "../include/allParam.h"
-static void Param_rollback();
+static void Param_rollback(const Param *param);
-static void Param_strerror(const Param *, const char *);
+static void Param_strerror(const Param *param, const char *msg);
typedef struct OraParamS {
const char *user;
int retVal = 0;
int i;
- EXEC SQL WHENEVER SQLERROR DO Param_strerror(my, sqlca.sqlerrm.sqlerrmc);
- EXEC SQL WHENEVER SQLERROR DO Param_rollback();
-
EXEC SQL BEGIN DECLARE SECTION;
int l_valid;
int l_locked;
if (0 == pthread_mutex_lock(((OraParam *) (my->specParam))->dbLock)) {
#endif /* PTHREADS */
+ EXEC SQL WHENEVER SQLERROR DO Param_strerror(my, sqlca.sqlerrm.sqlerrmc);
+ EXEC SQL WHENEVER SQLERROR DO Param_rollback(my);
+
if (my->setup != NULL) {
EXEC SQL EXECUTE
BEGIN
seq_num;
}
+ *rows = sqlca.sqlerrd[2];
+
+ EXEC SQL COMMIT;
+
#ifdef PTHREADS
pthread_mutex_unlock(((OraParam *) (my->specParam))->dbLock);
}
#endif /* PTHREADS */
- *rows = sqlca.sqlerrd[2];
-
if (*rows > maxrows) {
*rows = maxrows;
}
val[i] = value[i];
}
- EXEC SQL COMMIT;
return retVal;
}
int retVal = 0;
int i;
- EXEC SQL WHENEVER SQLERROR DO Param_strerror(my, sqlca.sqlerrm.sqlerrmc);
- EXEC SQL WHENEVER SQLERROR DO Param_rollback();
-
EXEC SQL BEGIN DECLARE SECTION;
int l_valid;
int l_locked;
if (0 == pthread_mutex_lock(((OraParam *) (my->specParam))->dbLock)) {
#endif /* PTHREADS */
+ EXEC SQL WHENEVER SQLERROR DO Param_strerror(my, sqlca.sqlerrm.sqlerrmc);
+ EXEC SQL WHENEVER SQLERROR DO Param_rollback(my);
+
if (my->setup != NULL) {
EXEC SQL EXECUTE
BEGIN
seq_num;
}
+ *rows = sqlca.sqlerrd[2];
+ EXEC SQL COMMIT;
+
#ifdef PTHREADS
pthread_mutex_unlock(((OraParam *) (my->specParam))->dbLock);
}
#endif /* PTHREADS */
- *rows = sqlca.sqlerrd[2];
-
if (*rows == 0) {
EXEC SQL BEGIN DECLARE SECTION;
unsigned long int intvalue[PARAM_MAX_ARRAY_LEN];
seq_num;
}
+ *rows = sqlca.sqlerrd[2];
+ EXEC SQL COMMIT;
+
#ifdef PTHREADS
pthread_mutex_unlock(((OraParam *) (my->specParam))->dbLock);
}
#endif /* PTHREADS */
- *rows = sqlca.sqlerrd[2];
-
if (*rows > maxrows) {
*rows = maxrows;
}
}
}
- EXEC SQL COMMIT;
return retVal;
}
{
int i;
- EXEC SQL WHENEVER SQLERROR DO Param_strerror(my, sqlca.sqlerrm.sqlerrmc);
- EXEC SQL WHENEVER SQLERROR DO Param_rollback();
-
EXEC SQL BEGIN DECLARE SECTION;
char sqlsetup[PARAM_MAX_NAME_LEN];
char sqlname[PARAM_MAX_NAME_LEN];
if (0 == pthread_mutex_lock(((OraParam *) (my->specParam))->dbLock)) {
#endif /* PTHREADS */
+ EXEC SQL WHENEVER SQLERROR DO Param_strerror(my, sqlca.sqlerrm.sqlerrmc);
+ EXEC SQL WHENEVER SQLERROR DO Param_rollback(my);
+
EXEC SQL EXECUTE
BEGIN
daq.daq_oper_interface.store_param_int ( :sqlsetup, :sqlname, :sqlidx, :value );
{
int i;
- EXEC SQL WHENEVER SQLERROR DO Param_strerror(my, sqlca.sqlerrm.sqlerrmc);
- EXEC SQL WHENEVER SQLERROR DO Param_rollback();
-
EXEC SQL BEGIN DECLARE SECTION;
char sqlsetup[PARAM_MAX_NAME_LEN];
char sqlname[PARAM_MAX_NAME_LEN];
if (0 == pthread_mutex_lock(((OraParam *) (my->specParam))->dbLock)) {
#endif /* PTHREADS */
+ EXEC SQL WHENEVER SQLERROR DO Param_strerror(my, sqlca.sqlerrm.sqlerrmc);
+ EXEC SQL WHENEVER SQLERROR DO Param_rollback(my);
+
EXEC SQL EXECUTE
BEGIN
daq.daq_oper_interface.store_param_string ( :sqlsetup, :sqlname, :sqlidx, :value );
}
}
-static void Param_rollback()
+static void Param_rollback(const Param *my)
{
- EXEC SQL ROLLBACK;
+#ifdef PTHREADS
+ if (0 == pthread_mutex_lock(((OraParam *) (my->specParam))->dbLock)) {
+#endif /* PTHREADS */
+ EXEC SQL ROLLBACK;
+#ifdef PTHREADS
+ pthread_mutex_unlock(((OraParam *) (my->specParam))->dbLock);
+ }
+#endif /* PTHREADS */
}