mirror of
https://github.com/postgres/postgres.git
synced 2025-11-10 17:42:29 +03:00
I am attempting to integrate postgres (v 7.0) with an open source
project I am working on (Recall - a distributed, fault-tolerant, replicated, storage framework @ http://www.fault-tolerant.org). Recall is written in C++. I need to include the postgres headers and there are some problems when including the headers w/C++. Attached is a patch generated from postgres/src that fixes my problems. I was hoping to get this into the main source. It's very small (2k) and 3 files are changed: backend/utils/fmgr/fmgr.c, backend/utils/Gen_fmgrtab.sh.in, and include/access/tupdesc.h. In C++, you get a multiply defined symbol because the variable (FmgrInfo *fmgr_pl_finfo) is defined in the header (the patch moves it to the .c file). The other problem in tupdesc.h is the use of typeid is a problem in c++ (I renamed it to oidtypeid). Thanks, Neal Norwitz
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/access/common/tupdesc.c,v 1.62 2000/04/12 17:14:37 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/access/common/tupdesc.c,v 1.63 2000/05/22 02:34:20 momjian Exp $
|
||||
*
|
||||
* NOTES
|
||||
* some of the executor utility code such as "ExecTypeFromTL" should be
|
||||
@@ -304,7 +304,7 @@ bool
|
||||
TupleDescInitEntry(TupleDesc desc,
|
||||
AttrNumber attributeNumber,
|
||||
char *attributeName,
|
||||
Oid typeid,
|
||||
Oid oidtypeid,
|
||||
int32 typmod,
|
||||
int attdim,
|
||||
bool attisset)
|
||||
@@ -378,7 +378,7 @@ TupleDescInitEntry(TupleDesc desc,
|
||||
* ----------------
|
||||
*/
|
||||
tuple = SearchSysCacheTuple(TYPEOID,
|
||||
ObjectIdGetDatum(typeid),
|
||||
ObjectIdGetDatum(oidtypeid),
|
||||
0, 0, 0);
|
||||
if (!HeapTupleIsValid(tuple))
|
||||
{
|
||||
@@ -431,7 +431,7 @@ TupleDescInitEntry(TupleDesc desc,
|
||||
*/
|
||||
if (attisset)
|
||||
{
|
||||
Type t = typeidType(OIDOID);
|
||||
Type t = oidtypeidType(OIDOID);
|
||||
|
||||
att->attlen = typeLen(t);
|
||||
att->attbyval = typeByVal(t);
|
||||
|
||||
Reference in New Issue
Block a user