Commit graph

170 commits

Author SHA1 Message Date
Howard Chu
773b3aff16 more cleanup from jon@symas.com 2001-12-18 04:52:55 +00:00
Howard Chu
7c8c5213b1 BDB_MULTI still needs the dupsort function. 2001-12-18 04:41:40 +00:00
Howard Chu
4ddb7c5730 Use a 4-byte constant for the presence index key. Set the index db hash
function to simply pass thru the key value, which is already a hash value.
2001-12-16 14:21:47 +00:00
Howard Chu
bf61a1ca9d Use DB_HASH instead of DB_BTREE for index databases. Since index keys are
mainly 4-byte hashes already, there is no locality-of-reference to exploit
as a Btree. About a 7% performance gain.
2001-12-15 23:21:37 +00:00
Howard Chu
4ed4b3f0c0 Revert previous checkin, DB_NODUPDATA is not valid on db->set_flags().
It must be specified on individual put() operations (and already is).
2001-12-15 23:00:46 +00:00
Howard Chu
335294e190 More cleanup for bdb_db_close 2001-12-15 08:11:59 +00:00
Howard Chu
ce81cef289 Do a regular entry_free on entries from do_add 2001-12-15 06:25:47 +00:00
Howard Chu
67a64c2935 Fixed suffix DN_SUBTREE again. Index was still being written even though
it was not being read.
2001-12-10 18:09:07 +00:00
Howard Chu
75064ce91d Fix check for DN_SUBTREE on be suffix 2001-12-10 16:59:37 +00:00
Howard Chu
efe8ac1bf9 Revert previous commit. Checked in by mistake. 2001-12-10 12:25:24 +00:00
Howard Chu
ef0b308bea Changed backglue configuration. Added noSubordinates arg to select_backend
to deal with glued subordinates.
2001-12-10 12:09:40 +00:00
Kurt Zeilenga
30831a4012 misc cleanup 2001-12-09 18:57:46 +00:00
Kurt Zeilenga
abd9be4def Remove lint and misc MSVC updates 2001-12-09 02:34:45 +00:00
Howard Chu
109307547e Clean up bdb_entry_release / bdb_entry_return 2001-12-09 01:14:32 +00:00
Howard Chu
21c5674d34 Fix previous commit... 2001-12-08 13:07:01 +00:00
Howard Chu
fd93e0721b Cleanup previous commit 2001-12-08 11:15:55 +00:00
Howard Chu
ad9d17d537 Added dn_rdnlen. Fixed rdn leak in limits.c. 2001-12-08 11:08:26 +00:00
Howard Chu
e2c2de11c3 Converted all use of dn_parent to the in-place version. (Fixed a pdn leak
in back-sql along the way.)
2001-12-08 10:37:42 +00:00
Howard Chu
a06bc9007c Switched to dn_parent1, cleaned up dn2id_add/delete 2001-12-08 10:10:04 +00:00
Howard Chu
2721df21d4 Changed be_nsuffix from char ** to struct berval **, removed nsufflen 2001-12-08 05:17:31 +00:00
Howard Chu
55a217d9ae Changed be_nsuffix from char ** to struct berval ** to eliminate strlen's 2001-12-08 05:15:58 +00:00
Kurt Zeilenga
e2173e3c20 Disallow duplicate duplicate data 2001-12-08 04:30:23 +00:00
Howard Chu
840a8c95ed Fix typos in previous commit 2001-12-08 01:16:10 +00:00
Kurt Zeilenga
d46252fb21 Port reference scope fix from back-ldbm 2001-12-07 22:41:43 +00:00
Howard Chu
505a8693e6 Some fixes for BDB_IDL_MULTI. Experimental back-hdb code. 2001-12-07 12:38:25 +00:00
Howard Chu
1d9818a8da Re-introduce BDB_ID2ENTRY_PAGESIZE. Even if the index databases can get
by on 4K pages, the id2entry database still needs more (16K).
2001-12-07 07:07:55 +00:00
Howard Chu
d0c0dfcce6 Minor fixes for BDB_IDL_MULTI 2001-12-07 06:48:38 +00:00
Howard Chu
efa14463ec Missed a spot where root DN_SUBTREE index was still getting written. 2001-12-07 06:48:12 +00:00
Howard Chu
66266f9c25 Bare minimum changes to support BDB 4.0 2001-12-07 05:05:00 +00:00
Howard Chu
0552b1c53f NT updates from jon@symas.com. 2001-12-07 04:03:25 +00:00
Howard Chu
a19a5d8c15 When using BDB_IDL_MULTI, there are no longer any issues with storing
large IDLs. Concurrency is improved by using as small a page size as
possible. So, set the pagesize back to the default 4096 in this case.
2001-12-07 01:40:08 +00:00
Howard Chu
11b3c142e4 Fix for BDB_IDL_MULTI to work. 2001-12-06 14:15:47 +00:00
Howard Chu
859e283834 Experimental index management. Uncomment BDB_IDL_MULTI in back-bdb.h
to activate. Needs to check limits in bdb_idl_insert_key, will get to
that later.
2001-12-06 13:20:18 +00:00
Howard Chu
6a5a30ec34 Fix previous commit 2001-12-06 03:29:23 +00:00
Howard Chu
6e0861b671 Minor rearrangement, give pdn to dn2id_add to avoid getting it twice. 2001-12-06 03:26:37 +00:00
Howard Chu
52beecbdf4 Fix, index databases were not being closed on shutdown. 2001-12-06 03:24:09 +00:00
Howard Chu
19c7fd49ca tool_reindex now regenerates the dn2id index as well as the others. 2001-12-05 01:36:18 +00:00
Howard Chu
8697aa4b8d Fixup bdb_entry_release now that entry_decode uses two memory blocks
instead of just one.
2001-12-05 00:24:13 +00:00
Kurt Zeilenga
493b415255 Rework indexing code, removing "autolang" and making
"subtypes" and "lang" default behavior.
2001-12-05 00:06:03 +00:00
Howard Chu
180e1d5269 Don't maintain a DN_SUBTREE index for the backend suffix, just return
BDB_IDL_ALL. This has a huge impact on I/O and txn logs.
2001-12-03 14:04:06 +00:00
Howard Chu
70a900e34e Rewrote entry_encode/entry_decode again, uses 50% less disk space. 2001-12-03 14:00:19 +00:00
Howard Chu
d68b891ced In presence_candidates(), always return a full match for objectClass. 2001-11-30 01:21:52 +00:00
Howard Chu
295e14bd54 Renamed BDB_ID2ENTRY_PAGESIZE to just BDB_PAGESIZE; set it on each database
instead of just the id2entry db. It helps. I also found that tweaking the
environment (set_lg_bsize 2MB; set_cachesize 2MB) helps but those can be
taken care of in a DB_CONFIG file. Tweaked the bdb_bt_compare function; it
really only needs to be set on little-endian machines. (On big-endian machines
a lexical sort gives the same result as an integer sort.) Moved the final
checkpoint back to the dbenv_close, I think this leaves a cleaner log file.
2001-11-28 20:48:06 +00:00
Howard Chu
24d1ab848c Added experimental support for DB_DIRTY_READ. 2001-11-28 03:11:04 +00:00
Howard Chu
5d8f2b8ba6 Cleanup a while() loop. 2001-11-27 22:10:01 +00:00
Kurt Zeilenga
2ac7c91cae Replace existing SLAP_MR_ matching flags with:
SLAP_MR_ASSERTION_SYNTAX_MATCH
	SLAP_MR_VALUE_SYNTAX_MATCH
	SLAP_MR_VALUE_SYNTAX_CONVERTED_MATCH,
add supporting evaluation macros, and update code as needed.
Misc other code cleanup included.
2001-11-27 21:59:56 +00:00
Howard Chu
5c7a7998a9 Set the id2entry database pagesize to BDB_ID2ENTRY_PAGESIZE to avoid
overflow/fragmentation. (This is now 16K vs default 4K.) It turns out
that the entries' on-disk format is quite space-inefficient, storing
4 bytes per pointer or integer when typically >50% of those bytes are
zero. Oh well. It's about a 2:1 space increase over ldbm now, vs 4:1
before when all the entries were overflowing the 4K pages.
2001-11-27 12:36:52 +00:00
Howard Chu
b45133c958 Eliminated nextid database. id2entry database is now maintained in numerical
order, so the lastid is always the same as the last entry's ID. This is
an incompatible db file change.
2001-11-27 10:15:23 +00:00
Howard Chu
0a25cddcf3 Fix segv in slapcat. Tool must use be_entry_return to free entries
returned from the backend.
2001-11-27 09:34:53 +00:00
Howard Chu
91f47e0ee6 Add #define SLAP_BDB_ALLOW_DBNOTXN to control dbnotxn keyword 2001-11-27 04:35:58 +00:00