On Tue, Dec 21, 2010 at 7:06 PM, Mark Kirkwood
<mark.kirkw...@catalyst.net.nz> wrote:
> On 22/12/10 13:05, Mark Kirkwood wrote:
>>
>> On 22/12/10 11:42, Merlin Moncure wrote:
>>>
>>> Attached is an incomplete patch disabling hint bits based on compile
>>> switch.  It's not complete, for example it's not reconciling some
>>> assumptions in heapam.c that hint bits have been set in various
>>> routines.  However, it mostly passes regression and I deemed it good
>>> enough to run some preliminary benchmarks and fool around.  Obviously,
>>> hint bits are an annoying impediment to a couple of other cool pending
>>> features, and it certainly would be nice to operate without them.
>>> Also, for particular workloads, the extra i/o hint bits can cause a
>>> fair amount of pain.
>>
>> Looks like a great idea to test, however I don't seem to be able to
>> compile with it applied: (set#define DISABLE_HINT_BITS 1 at the end of
>> src/include/pg_config_manual.h)
>>
>> gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith
>> -Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing -fwrapv -g
>> -I../../../../src/include -D_GNU_SOURCE -c -o heapam.o heapam.c
>> heapam.c: In function ‘HeapTupleHeaderAdvanceLatestRemovedXid’:
>> heapam.c:3867: error: ‘HEAP_XMIN_COMMITTED’ undeclared (first use in this
>> function)
>> heapam.c:3867: error: (Each undeclared identifier is reported only once
>> heapam.c:3867: error: for each function it appears in.)
>> heapam.c:3869: error: ‘HEAP_XMIN_INVALID’ undeclared (first use in this
>> function)
>> make[4]: *** [heapam.o] Error 1
>>
>
> Arrg, sorry - against git head on Ubuntu 10.03 (gcc 4.4.3)

did you check to see if the patch applied clean? btw I was working
against postgresql-9.0.1...

it looks like you are missing at least some of the changes to htup.h:

../postgresql-9.0.1_hb2/src/include/access/htup.h

#ifndef DISABLE_HINT_BITS
#define HEAP_XMIN_COMMITTED             0x0100  /* t_xmin committed */
#define HEAP_XMIN_INVALID               0x0200  /* t_xmin invalid/aborted */
#define HEAP_XMAX_COMMITTED             0x0400  /* t_xmax committed */
#define HEAP_XMAX_INVALID               0x0800  /* t_xmax invalid/aborted */
#endif

merlin

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to