mirror of
https://github.com/postgres/postgres.git
synced 2025-06-26 12:21:12 +03:00
First round of changes for new fmgr interface. fmgr itself and the
key call sites are changed, but most called functions are still oldstyle. An exception is that the PL managers are updated (so, for example, NULL handling now behaves as expected in plperl and plpgsql functions). NOTE initdb is forced due to added column in pg_proc.
This commit is contained in:
@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
|
||||
* Portions Copyright (c) 1995, Regents of the University of California
|
||||
*
|
||||
* $Id: postgres.h,v 1.38 2000/04/12 17:16:24 momjian Exp $
|
||||
* $Id: postgres.h,v 1.39 2000/05/28 17:56:12 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -47,11 +47,6 @@
|
||||
* ----------------------------------------------------------------
|
||||
*/
|
||||
|
||||
typedef int16 int2;
|
||||
typedef int32 int4;
|
||||
typedef float float4;
|
||||
typedef double float8;
|
||||
|
||||
typedef int4 aclitem;
|
||||
|
||||
#define InvalidOid 0
|
||||
@ -61,26 +56,6 @@ typedef int4 aclitem;
|
||||
typedef Oid regproc;
|
||||
typedef Oid RegProcedure;
|
||||
|
||||
/* ptr to func returning (char *) */
|
||||
#if defined(__mc68000__) && defined(__ELF__)
|
||||
/* The m68k SVR4 ABI defines that pointers are returned in %a0 instead of
|
||||
* %d0. So if a function pointer is declared to return a pointer, the
|
||||
* compiler may look only into %a0, but if the called function was declared
|
||||
* to return return an integer type, it puts its value only into %d0. So the
|
||||
* caller doesn't pink up the correct return value. The solution is to
|
||||
* declare the function pointer to return int, so the compiler picks up the
|
||||
* return value from %d0. (Functions returning pointers put their value
|
||||
* *additionally* into %d0 for compability.) The price is that there are
|
||||
* some warnings about int->pointer conversions...
|
||||
*/
|
||||
typedef int32 ((*func_ptr) ());
|
||||
|
||||
#else
|
||||
typedef char *((*func_ptr) ());
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#define RegProcedureIsValid(p) OidIsValid(p)
|
||||
|
||||
/* ----------------------------------------------------------------
|
||||
|
Reference in New Issue
Block a user