]> andersk Git - moira.git/blobdiff - gen/prlogger.dc
increase machine hash_table size; only retrieve active machines
[moira.git] / gen / prlogger.dc
index 354c72999fcd902175553937d245524b4a553f29..9bed6406d2dfe3561e3e4364ab095f126bc6fce7 100644 (file)
@@ -27,22 +27,28 @@ char **argv;
     FILE *out = stdout;
     char *outf = NULL, outft[64];
     struct stat sb;
-    int flag;
+    int flag, ret;
     EXEC SQL BEGIN DECLARE SECTION;
     char login[9], class[9];
     EXEC SQL END DECLARE SECTION;
 
 #ifsql INGRES
-    EXEC SQL CONNECT sms;
+    EXEC SQL CONNECT moira;
+    EXEC SQL SET LOCKMODE SESSION WHERE LEVEL=TABLE, READLOCK=SHARED;
 #endsql
 #ifsql INFORMIX
-    EXEC SQL DATABASE sms;
+    EXEC SQL DATABASE moira;
 #endsql
 
     if (argc == 2) {
        if (stat(argv[1], &sb) == 0) {
-           if (ModDiff (&flag, "users", sb.st_mtime))
-             exit(MR_DATE);
+           if (ModDiff (&flag, "users", sb.st_mtime)) {
+               if (sqlca.sqlcode == -37000 ||
+                   sqlca.sqlcode == -49900)
+                 exit(MR_DEADLOCK);
+               else
+                 exit(MR_DATE);                  
+           }
            if (flag < 0) {
                fprintf(stderr, "File %s does not need to be rebuilt.\n",
                        argv[1]);
@@ -65,7 +71,7 @@ char **argv;
     EXEC SQL WHENEVER SQLERROR GOTO sqlerr;
 
     EXEC SQL DECLARE x CURSOR FOR 
-      SELECT login, mit_year FROM users WHERE status = 1;
+      SELECT login, type FROM users WHERE status = 1;
     EXEC SQL OPEN x;
     while (1) {
        EXEC SQL FETCH x INTO :login, :class;
@@ -93,6 +99,10 @@ char **argv;
 
  sqlerr:
     com_err(whoami, MR_INGRES_ERR, " code %d\n", sqlca.sqlcode);
+#ifsql INGRES
+    if (sqlca.sqlcode == 17700 || sqlca.sqlcode == -37000)
+      exit(MR_DEADLOCK);
+#endsql
     critical_alert("DCM", "PrLogger build encountered INGRES ERROR %d",
                   sqlca.sqlcode);
     exit(MR_INGRES_ERR);
This page took 0.032837 seconds and 4 git commands to generate.