/* Dummy file used for nothing at this point
*
* see univel.h
- */\r
+ */
/*-------------------------------------------------------------------------
*
- * port-protos.h--
+ * univel.h--
* port-specific prototypes for Intel x86/UNIXWARE
*
*
* Copyright (c) 1994, Regents of the University of California
*
- * port-protos.h,v 1.2 1995/03/17 06:40:18 andrew Exp
+ * univel.h,v 1.2 1995/03/17 06:40:18 andrew Exp
*
*-------------------------------------------------------------------------
- */\r
-#ifndef PORT_PROTOS_H\r
-#define PORT_PROTOS_H\r
-\r
-#include <dlfcn.h>\r
-#include "fmgr.h" /* for func_ptr */\r
-#include "utils/dynamic_loader.h"\r
-\r
- /* dynloader.c */\r
+ */
+#ifndef PORT_PROTOS_H
+#define PORT_PROTOS_H
+
+#include <dlfcn.h>
+#include "fmgr.h" /* for func_ptr */
+#include "utils/dynamic_loader.h"
+
+ /* dynloader.c */
/*
* Dynamic Loader on Intel x86/Intel SVR4.
*
* libraries (ie. dlopen/dlsym/dlclose). The user must specify a shared
* library as the file to be dynamically loaded.
*
- */\r
-#define pg_dlopen(f) dlopen(f,RTLD_LAZY)\r
-#define pg_dlsym dlsym\r
-#define pg_dlclose dlclose\r
-#define pg_dlerror dlerror\r
-\r
-#endif /* PORT_PROTOS_H */\r
+ */
+#define pg_dlopen(f) dlopen(f,RTLD_LAZY)
+#define pg_dlsym dlsym
+#define pg_dlclose dlclose
+#define pg_dlerror dlerror
+
+#endif /* PORT_PROTOS_H */
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: heapam.h,v 1.30 1998/02/26 04:40:05 momjian Exp $
+ * $Id: heapam.h,v 1.31 1998/03/01 04:46:56 scrappy Exp $
*
*-------------------------------------------------------------------------
*/
*
* ----------------
*/
+#if !defined(USE_UNIVEL_CC)
+
#define fastgetattr(tup, attnum, tupleDesc, isnull) \
( \
AssertMacro((attnum) > 0) ? \
) \
)
+#else /* !defined(USE_UNIVEL_CC) */
+
+extern Datum nocachegetattr(HeapTuple tup, int attnum,
+ TupleDesc att, bool *isnull);
+
+static Datum fastgetattr(HeapTuple tup, int attnum, TupleDesc tupleDesc,
+ bool *isnull)
+{
+ return (
+ (attnum) > 0 ?
+ (
+ ((isnull) ? (*(isnull) = false) : (dummyret)NULL),
+ HeapTupleNoNulls(tup) ?
+ (
+ ((tupleDesc)->attrs[(attnum)-1]->attcacheoff != -1 ||
+ (attnum) == 1) ?
+ (
+ (Datum)fetchatt(&((tupleDesc)->attrs[(attnum)-1]),
+ (char *) (tup) + (tup)->t_hoff +
+ (
+ ((attnum) != 1) ?
+ (tupleDesc)->attrs[(attnum)-1]->attcacheoff
+ :
+ 0
+ )
+ )
+ )
+ :
+ nocachegetattr((tup), (attnum), (tupleDesc), (isnull))
+ )
+ :
+ (
+ att_isnull((attnum)-1, (tup)->t_bits) ?
+ (
+ ((isnull) ? (*(isnull) = true) : (dummyret)NULL),
+ (Datum)NULL
+ )
+ :
+ (
+ nocachegetattr((tup), (attnum), (tupleDesc), (isnull))
+ )
+ )
+ )
+ :
+ (
+ (Datum)NULL
+ )
+ );
+}
+#endif
/* ----------------
* heap_getattr
* Define this if you are compiling with
* the native UNIXWARE C compiler.
***************************************/
-#define USE_UNIVEL_CC_ASM
+#define USE_UNIVEL_CC
typedef unsigned char slock_t;
/***************************************************************
- * strcasecmp() is in c89, but is not in any include file :-(
+ * strcasecmp() is in c89.a. The following include will get the
+ * needed prototype.
***************************************************************/
-int strcasecmp(char *, char *);
+#include <strings.h>
#ifndef BIG_ENDIAN
#define BIG_ENDIAN 4321
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/include/storage/s_lock.h,v 1.27 1998/02/26 04:43:32 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/include/storage/s_lock.h,v 1.28 1998/03/01 04:47:24 scrappy Exp $
*
*-------------------------------------------------------------------------
*/
#if defined(NEED_I386_TAS_ASM)
-#if defined(USE_UNIVEL_CC_ASM)
+#if defined(USE_UNIVEL_CC)
asm void
S_LOCK(char *lval)
{
- %lab again;
+% lab again;
/* Upon entry, %eax will contain the pointer to the lock byte */
- pushl % ebx
- xchgl % eax, %ebx
- movb $ - 1, %al
+ pushl %ebx
+ xchgl %eax, %ebx
+ movb $255, %al
again:
lock
- xchgb % al, (%ebx)
- cmpb $0, %al
- jne again
- popl % ebx
+ xchgb %al, (%ebx)
+ cmpb $0, %al
+ jne again
+ popl %ebx
}
#else
SRCH_LIB:
USE_LOCALE:no
DLSUFFIX:.so
-YACC=/usr/ccs/bin/yacc
YACC:yacc
+YFLAGS:-d
CC:cc
+LIBS:-lc89