X-Git-Url: http://andersk.mit.edu/gitweb/moira.git/blobdiff_plain/2ce085d2e49282262e1b49b636a43d5a45c23e18..10207d4dbf08fe324296f7146354f03c35405029:/gen/util.c diff --git a/gen/util.c b/gen/util.c index f51f0557..b3d1aa70 100644 --- a/gen/util.c +++ b/gen/util.c @@ -14,74 +14,7 @@ #include #include - -/* ingres_date_and_time: passed a unix time_t, returns a string that ingres - * can parse to obtain that time. - */ - -static char *month_name[] = { - "jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", - "nov", "dec" - }; - - -char *ingres_date(), *ingres_time(); - -char *ingres_date_and_time(l) -long l; -{ - char *ans = NULL, *date, *time; - - if ((date = ingres_date(l)) && (time = ingres_time(l))) { - char buf[BUFSIZ]; - sprintf(buf, "%s %s", date, time); - ans = strsave(buf); - } - if (date) - free(date); - if (time) - free(time); - return ans; -} - -char *ingres_time(t) - long t; -{ - struct tm *tm; - - if (t == (long) 0) - (void) time(&t); - - if ((tm = localtime(&t)) == (struct tm *) NULL) { - return NULL; - } else { - char buf[BUFSIZ]; - - sprintf(buf, "%02d:%02d:%02d", tm->tm_hour, tm->tm_min, - tm->tm_sec); - return strsave(buf); - } -} - -char *ingres_date(t) - long t; -{ - struct tm *tm; - - if (t == (long) 0) - (void) time(&t); - - if ((tm = localtime(&t)) == (struct tm *) NULL) { - return NULL; - } else { - char buf[BUFSIZ]; - - sprintf(buf, "%02d-%3.3s-%04d", tm->tm_mday, - month_name[tm->tm_mon], 1900 + tm->tm_year); - return strsave(buf); - } -} - +extern void sqlglm(char buf[], int *, int *); fix_file(targetfile) char *targetfile; @@ -124,4 +57,23 @@ register char *s; *last = '\0'; else *(++last) = '\0'; + return(s); +} + + + +db_error(code) +int code; +{ + extern char *whoami; + char buf[256]; + int bufsize=256, len=0; + + com_err(whoami, MR_DBMS_ERR, " code %d\n", code); + sqlglm(buf, &bufsize, &len); + buf[len]=0; + com_err(whoami, 0, "SQL error text = %s", buf); + critical_alert("DCM", "%s build encountered DATABASE ERROR %d\n%s", + whoami, code, buf); + exit(MR_DBMS_ERR); }