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]);
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;
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);