Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!mips!spool.mu.edu!uwm.edu!bionet!agate!pasteur!cloud9!mer From: mer@cloud9 (Jeff Meredith) Newsgroups: comp.databases Subject: Re: Public domain Ingres Keywords: Ingres EQUEL Unix Message-ID: <12977@pasteur.Berkeley.EDU> Date: 23 Apr 91 19:41:32 GMT References: <1991Apr20.054300.17672@evax.arl.utexas.edu> Sender: news@pasteur.Berkeley.EDU Reply-To: mer@cloud9.UUCP (Jeff Meredith) Organization: University of California, Berkeley Lines: 130 >Is there public domain Ingres with EQUEL that runs on Sun SPARC, or >SUN 3? If so, where and how to get it? You might try University Ingres available via anonymous ftp from postgres.Berkeley.EDU ... I applied the included patch and have had great success running it on a SPARC... Place it at "~ingres/source" and do "patch -p0 < ingres.patch". -------------------- patch ---------------------------- *** ctlmod/error.c.orig Tue Feb 6 00:01:09 1990 --- ctlmod/error.c Tue Feb 6 02:00:54 1990 *************** *** 31,41 **** --- 31,53 ---- */ /*VARARGS2*/ + #ifdef sparc + #include + error(num, va_alist) + int num; + va_dcl + #else error(num, msg) int num; char *msg; + #endif sparc { + #ifdef sparc + va_list xp; + char *x; + #else register char **x; + #endif sparc pb_t pb; extern jmp_buf CmReset; typedef int ftype(); *************** *** 60,68 **** --- 72,87 ---- /* create an error context & set the message parameters */ initp(); setp(PV_INT, (char *) num, 0); + #ifdef sparc + va_start(xp); + while((x = va_arg(xp, char *)) != NULL) + setp(PV_STR, x, 0); + va_end(xp); + #else x = &msg; while (*x != NULL) setp(PV_STR, *x++, 0); + #endif sparc /* send it to my caller */ pb_prime(&pb, PB_ERR); *************** *** 89,106 **** --- 108,143 ---- */ /*VARARGS2*/ + #ifdef sparc + nferror(num, va_alist) + int num; + va_dcl + #else nferror(num, msg) int num; char *msg; + #endif sparc { + #ifdef sparc + va_list xp; + char *x; + #else register char **p; + #endif sparc pb_t pb; typedef int ftype(); initp(); setp(PV_INT, (char *) num, 0); + #ifdef sparc + va_start(xp); + while((x = va_arg(xp, char *)) != NULL) + setp(PV_STR, x, 0); + va_end(xp); + #else for (p = &msg; *p != NULL; p++) setp(PV_STR, *p, 0); + #endif sparc pb_prime(&pb, PB_ERR); call_setup(&pb, PB_NONE, (ftype *) NULL); pb.pb_stat |= PB_INFO; *** h/tree.h.orig Tue Feb 6 21:00:45 1990 --- h/tree.h Tue Feb 6 21:01:00 1990 *************** *** 138,144 **** --- 138,148 ---- ** the start to this structure and where the value field starts */ + #ifdef sparc + #define SYMOFF 8 + #else #define SYMOFF 4 + #endif sparc struct symbol { *************** *** 202,210 **** --- 206,220 ---- # define SYM_HDR_SIZ 2 # define TYP_LEN_SIZ 2 # else + # ifdef sparc + # define QT_HDR_SIZ 16 + # define SYM_HDR_SIZ 8 + # define TYP_LEN_SIZ 2 + # else # define QT_HDR_SIZ 12 # define SYM_HDR_SIZ 4 # define TYP_LEN_SIZ 2 + #endif sparc