|
From: Neal R. <ne...@ri...> - 2003-06-18 18:00:12
|
Hey,
I think I have found something here.. no idea of importance yet.
In db/db.c line 1049 we have an #ifdef:
/*
* If compression is on, the minimum page size must be multiplied
* by the compression factor.
*/
#ifdef HAVE_ZLIB
if(F_ISSET(dbp, DB_AM_CMPR)) {
if(iopsize < DB_CMPR_MULTIPLY(dbenv, DB_MIN_PGSIZE))
iopsize = DB_CMPR_MULTIPLY(dbenv, DB_MIN_PGSIZE);
}
#endif /* HAVE_ZLIB */
This was added to db.c 3 years ago when Geoff merged Loic's code from
milfuz.
The problem is that it needs to be HAVE_LIBZ rather than HAVE_ZLIB! Our
db_config.h contains HAVE_LIBZ & HAVE_ZLIB_H .. no HAVE_ZLIB.
I am not sure yet how this affects us yet... it looks like a range check
and may be part of why db-compression doesn't work when I try and set the
wordlist_page_size to 64K.
I also checked and this is the only occurance of this screwup.
Obviously it must not be too important since we do have functional
libz-based DB compression.
Thanks.
Neal Richter
Knowledgebase Developer
RightNow Technologies, Inc.
Customer Service for Every Web Site
Office: 406-522-1485
|