Problem with server/utils/snapmgr.h - Mailing list pgsql-hackers

From Chris Browne
Subject Problem with server/utils/snapmgr.h
Date
Msg-id 607ierndr1.fsf_-_@dba2.int.libertyrms.com
Whole thread Raw
In response to HELP all women were raped during the May riots in Jakarta  (adm@pu.go.id)
Responses Re: Problem with server/utils/snapmgr.h  (Alvaro Herrera <alvherre@commandprompt.com>)
Re: Problem with server/utils/snapmgr.h  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
There's a new #include file that it turns out we need for Slony-I to
reference, namely include/server/utils/snapmgr.h

I tried adding an autoconf rule to Slony-I to check for its existence
(goal then is to do a suitable #define so that we can #ifdef the
#include, so that we #include this only with versions of PostgreSQL
that have the file).

If I use: AC_CHECK_HEADER(utils/snapmgr.h, HAVE_SNAPMGR=1)

this turns out to fail.  Apparently autoconf wants to compile the
#include file to validate that it's an OK #include file.

GCC barfs on it, thus:

cbbrowne@dba2:~/Slony-I/CMD/slony1-HEAD> gcc -I/opt/OXRS/dbs/pgsql84-beta/include/server
/opt/OXRS/dbs/pgsql84-beta/include/server/utils/snapmgr.h
In file included from /opt/OXRS/dbs/pgsql84-beta/include/server/storage/itemptr.h:17,                from
/opt/OXRS/dbs/pgsql84-beta/include/server/access/htup.h:17,               from
/opt/OXRS/dbs/pgsql84-beta/include/server/utils/snapshot.h:16,               from
/opt/OXRS/dbs/pgsql84-beta/include/server/utils/tqual.h:18,               from
/opt/OXRS/dbs/pgsql84-beta/include/server/utils/snapmgr.h:16:
/opt/OXRS/dbs/pgsql84-beta/include/server/storage/block.h:31: error: expected '=', ',', ';', 'asm' or '__attribute__'
before'BlockNumber'
 
/opt/OXRS/dbs/pgsql84-beta/include/server/storage/block.h:55: error: expected specifier-qualifier-list before 'uint16'
In file included from /opt/OXRS/dbs/pgsql84-beta/include/server/storage/off.h:17,                from
/opt/OXRS/dbs/pgsql84-beta/include/server/storage/itemptr.h:18,               from
/opt/OXRS/dbs/pgsql84-beta/include/server/access/htup.h:17,               from
/opt/OXRS/dbs/pgsql84-beta/include/server/utils/snapshot.h:16,               from
/opt/OXRS/dbs/pgsql84-beta/include/server/utils/tqual.h:18,               from
/opt/OXRS/dbs/pgsql84-beta/include/server/utils/snapmgr.h:16:
/opt/OXRS/dbs/pgsql84-beta/include/server/storage/itemid.h:46: error: expected '=', ',', ';', 'asm' or '__attribute__'
before'ItemOffset'
 
/opt/OXRS/dbs/pgsql84-beta/include/server/storage/itemid.h:47: error: expected '=', ',', ';', 'asm' or '__attribute__'
before'ItemLength'
 
In file included from /opt/OXRS/dbs/pgsql84-beta/include/server/storage/itemptr.h:18,                from
/opt/OXRS/dbs/pgsql84-beta/include/server/access/htup.h:17,               from
/opt/OXRS/dbs/pgsql84-beta/include/server/utils/snapshot.h:16,               from
/opt/OXRS/dbs/pgsql84-beta/include/server/utils/tqual.h:18,               from
/opt/OXRS/dbs/pgsql84-beta/include/server/utils/snapmgr.h:16:
/opt/OXRS/dbs/pgsql84-beta/include/server/storage/off.h:24: error: expected '=', ',', ';', 'asm' or '__attribute__'
before'OffsetNumber'
 
In file included from /opt/OXRS/dbs/pgsql84-beta/include/server/access/htup.h:17,                from
/opt/OXRS/dbs/pgsql84-beta/include/server/utils/snapshot.h:16,               from
/opt/OXRS/dbs/pgsql84-beta/include/server/utils/tqual.h:18,               from
/opt/OXRS/dbs/pgsql84-beta/include/server/utils/snapmgr.h:16:
/opt/OXRS/dbs/pgsql84-beta/include/server/storage/itemptr.h:40: error: expected specifier-qualifier-list before
'OffsetNumber'
/opt/OXRS/dbs/pgsql84-beta/include/server/storage/itemptr.h:143: error: expected '=', ',', ';', 'asm' or
'__attribute__'before 'ItemPointerEquals'
 
/opt/OXRS/dbs/pgsql84-beta/include/server/storage/itemptr.h:144: error: expected '=', ',', ';', 'asm' or
'__attribute__'before 'ItemPointerCompare'
 
In file included from /opt/OXRS/dbs/pgsql84-beta/include/server/access/htup.h:18,                from
/opt/OXRS/dbs/pgsql84-beta/include/server/utils/snapshot.h:16,               from
/opt/OXRS/dbs/pgsql84-beta/include/server/utils/tqual.h:18,               from
/opt/OXRS/dbs/pgsql84-beta/include/server/utils/snapmgr.h:16:
/opt/OXRS/dbs/pgsql84-beta/include/server/storage/relfilenode.h:44: error: expected specifier-qualifier-list before
'Oid'
In file included from /opt/OXRS/dbs/pgsql84-beta/include/server/utils/snapshot.h:16,                from
/opt/OXRS/dbs/pgsql84-beta/include/server/utils/tqual.h:18,               from
/opt/OXRS/dbs/pgsql84-beta/include/server/utils/snapmgr.h:16:
/opt/OXRS/dbs/pgsql84-beta/include/server/access/htup.h:106: error: expected specifier-qualifier-list before
'TransactionId'
/opt/OXRS/dbs/pgsql84-beta/include/server/access/htup.h:118: error: expected specifier-qualifier-list before 'int32'
/opt/OXRS/dbs/pgsql84-beta/include/server/access/htup.h:142: error: expected specifier-qualifier-list before 'uint16'
/opt/OXRS/dbs/pgsql84-beta/include/server/access/htup.h:442: error: expected specifier-qualifier-list before 'uint32'
/opt/OXRS/dbs/pgsql84-beta/include/server/access/htup.h:498: error: expected specifier-qualifier-list before 'uint32'
/opt/OXRS/dbs/pgsql84-beta/include/server/access/htup.h:623: error: expected specifier-qualifier-list before 'uint16'
/opt/OXRS/dbs/pgsql84-beta/include/server/access/htup.h:671: error: expected specifier-qualifier-list before
'BlockNumber'
/opt/OXRS/dbs/pgsql84-beta/include/server/access/htup.h:684: error: expected specifier-qualifier-list before
'BlockNumber'
/opt/OXRS/dbs/pgsql84-beta/include/server/access/htup.h:694: error: expected specifier-qualifier-list before
'TransactionId'
/opt/OXRS/dbs/pgsql84-beta/include/server/access/htup.h:714: error: expected specifier-qualifier-list before
'BlockNumber'
/opt/OXRS/dbs/pgsql84-beta/include/server/access/htup.h:722: error: expected '=', ',', ';', 'asm' or '__attribute__'
before'HeapTupleHeaderGetCmin'
 
/opt/OXRS/dbs/pgsql84-beta/include/server/access/htup.h:723: error: expected '=', ',', ';', 'asm' or '__attribute__'
before'HeapTupleHeaderGetCmax'
 
/opt/OXRS/dbs/pgsql84-beta/include/server/access/htup.h:725: error: expected declaration specifiers or '...' before
'CommandId'
/opt/OXRS/dbs/pgsql84-beta/include/server/access/htup.h:726: error: expected declaration specifiers or '...' before
'bool'
In file included from /opt/OXRS/dbs/pgsql84-beta/include/server/utils/tqual.h:18,                from
/opt/OXRS/dbs/pgsql84-beta/include/server/utils/snapmgr.h:16:
/opt/OXRS/dbs/pgsql84-beta/include/server/utils/snapshot.h:30: error: expected declaration specifiers or '...' before
'*'token
 
/opt/OXRS/dbs/pgsql84-beta/include/server/utils/snapshot.h:31: error: 'bool' declared as function returning a function
/opt/OXRS/dbs/pgsql84-beta/include/server/utils/snapshot.h:35: error: expected specifier-qualifier-list before
'SnapshotSatisfiesFunc'
In file included from /opt/OXRS/dbs/pgsql84-beta/include/server/utils/snapmgr.h:16:
/opt/OXRS/dbs/pgsql84-beta/include/server/utils/tqual.h:22: error: expected '=', ',', ';', 'asm' or '__attribute__'
before'SnapshotData'
 
/opt/OXRS/dbs/pgsql84-beta/include/server/utils/tqual.h:23: error: expected '=', ',', ';', 'asm' or '__attribute__'
before'SnapshotData'
 
/opt/OXRS/dbs/pgsql84-beta/include/server/utils/tqual.h:24: error: expected '=', ',', ';', 'asm' or '__attribute__'
before'SnapshotData'
 
/opt/OXRS/dbs/pgsql84-beta/include/server/utils/tqual.h:25: error: expected '=', ',', ';', 'asm' or '__attribute__'
before'SnapshotData'
 
/opt/OXRS/dbs/pgsql84-beta/include/server/utils/tqual.h:69: error: 'HeapTupleSatisfiesMVCC' declared as function
returninga function
 
/opt/OXRS/dbs/pgsql84-beta/include/server/utils/tqual.h:71: error: 'HeapTupleSatisfiesNow' declared as function
returninga function
 
/opt/OXRS/dbs/pgsql84-beta/include/server/utils/tqual.h:73: error: 'HeapTupleSatisfiesSelf' declared as function
returninga function
 
/opt/OXRS/dbs/pgsql84-beta/include/server/utils/tqual.h:75: error: 'HeapTupleSatisfiesAny' declared as function
returninga function
 
/opt/OXRS/dbs/pgsql84-beta/include/server/utils/tqual.h:77: error: 'HeapTupleSatisfiesToast' declared as function
returninga function
 
/opt/OXRS/dbs/pgsql84-beta/include/server/utils/tqual.h:79: error: 'HeapTupleSatisfiesDirty' declared as function
returninga function
 
/opt/OXRS/dbs/pgsql84-beta/include/server/utils/tqual.h:83: error: expected declaration specifiers or '...' before
'CommandId'
/opt/OXRS/dbs/pgsql84-beta/include/server/utils/tqual.h:85: error: expected declaration specifiers or '...' before
'TransactionId'
/opt/OXRS/dbs/pgsql84-beta/include/server/utils/tqual.h:88: error: expected declaration specifiers or '...' before
'uint16'
/opt/OXRS/dbs/pgsql84-beta/include/server/utils/tqual.h:88: error: expected declaration specifiers or '...' before
'TransactionId'
/opt/OXRS/dbs/pgsql84-beta/include/server/utils/snapmgr.h:20: error: expected '=', ',', ';', 'asm' or '__attribute__'
before'Snapshot'
 
/opt/OXRS/dbs/pgsql84-beta/include/server/utils/snapmgr.h:21: error: expected '=', ',', ';', 'asm' or '__attribute__'
before'Snapshot'
 
/opt/OXRS/dbs/pgsql84-beta/include/server/utils/snapmgr.h:22: error: expected '=', ',', ';', 'asm' or '__attribute__'
before'Snapshot'
 
/opt/OXRS/dbs/pgsql84-beta/include/server/utils/snapmgr.h:24: error: expected '=', ',', ';', 'asm' or '__attribute__'
before'TransactionXmin'
 
/opt/OXRS/dbs/pgsql84-beta/include/server/utils/snapmgr.h:25: error: expected '=', ',', ';', 'asm' or '__attribute__'
before'RecentXmin'
 
/opt/OXRS/dbs/pgsql84-beta/include/server/utils/snapmgr.h:26: error: expected '=', ',', ';', 'asm' or '__attribute__'
before'RecentGlobalXmin'
 

Is there something in here that needs cleaning?

Note: I pulled CVS HEAD earlier today, so this is the state of the
code just a little while ago.
-- 
"cbbrowne","@","linuxfinances.info"
http://linuxfinances.info/info/advocacy.html
Humpty Dumpty sat on the wall,
Humpty Dumpty had a great fall!
All the king's horses,
And all the king's men,
Had scrambled eggs for breakfast again!


pgsql-hackers by date:

Previous
From: Zoltan Boszormenyi
Date:
Subject: Re: TRUNCATE TABLE with IDENTITY
Next
From: Tino Wildenhain
Date:
Subject: Re: TODO, FAQs to Wiki?