]> andersk Git - moira.git/blobdiff - server/qrtn.dc
lint
[moira.git] / server / qrtn.dc
index 9234e76b7e066369de6acbf260698db5d0a6e7d6..c3dc6e8a6e122e4a7691f50d2c24d1b6ad290010 100644 (file)
@@ -29,12 +29,13 @@ char cdummy[MR_CDUMMY_LEN];
 char stmt_buf[MR_STMTBUF_LEN];
 EXEC SQL END DECLARE SECTION; 
 
-char *Argv[16];
+char *Argv[QMAXARGS];
 
 int ingres_errno = 0;
 int mr_errcode = 0;
 EXEC SQL BEGIN DECLARE SECTION; 
 int query_timeout = 30;
+char *database = "moira";
 EXEC SQL END DECLARE SECTION;
 extern char *whoami;
 extern FILE *journal;
@@ -76,7 +77,9 @@ void ingerr()
        break;
 /* These should never come up unless someone breaks the query table */
       case INGRES_NO_CURSOR:
-       mr_errcode = MR_INTERNAL;
+       if (mr_errcode != MR_BUSY &&
+           mr_errcode != MR_DEADLOCK)
+         mr_errcode = MR_INTERNAL;
        com_err(whoami, 0, "Cursor not opened");
        break;
       case INGRES_NO_STMT:
@@ -129,7 +132,7 @@ int mr_open_database()
 
     /* open the database */
 #ifsql INGRES
-    EXEC SQL CONNECT moira;
+    EXEC SQL CONNECT :database;
     if(ingres_errno) 
       return (ingres_errno);
     EXEC SQL set lockmode session where level = table, timeout = :query_timeout;
@@ -144,6 +147,7 @@ int mr_open_database()
         return(mr_errcode);
 
     EXEC SQL SELECT SIZE(signature) INTO :mr_sig_length FROM users WHERE users_id=0; /* Harmless on second open */
+    EXEC SQL COMMIT WORK;
     if(ingres_errno)
         return(mr_errcode);
 
@@ -969,6 +973,7 @@ int *uid;
     EXEC SQL SELECT km.users_id, km.string_id INTO :u_id, :k_id
       FROM krbmap km, strings str
       WHERE km.string_id = str.string_id AND str.string = :krbname;
+    EXEC SQL COMMIT WORK;
 
     if (ingres_errno) return(mr_errcode);
     
This page took 0.033768 seconds and 4 git commands to generate.