Howard Chu
68822b1e15
Trim dead BDB_HIER stuff
2003-04-22 17:06:35 +00:00
Howard Chu
d290145776
memory context tweaks
2003-04-21 18:28:38 +00:00
Howard Chu
6fd41cd254
Add shm_key config keyword to use shared memory for BDB environment
...
Unmeasurable performance difference on my tests, but who knows...
2003-04-18 09:43:22 +00:00
Howard Chu
2048c05a82
Added CACHE_ENTRY_NO_KIDS flag to bei_state to shortcut dn2id_children.
2003-04-17 00:52:31 +00:00
Howard Chu
377bccbc6c
Hierarchical cache management.
2003-04-16 16:23:36 +00:00
Jong Hyuk Choi
420210a2a3
IDL cache locking change (mutex -> rwlock)
2003-04-08 06:57:07 +00:00
Howard Chu
c0ee56c306
Define MINIMUM_SEARCH_STACK_DEPTH=8, search_aliases needs at least this.
2003-04-05 10:05:27 +00:00
Howard Chu
48a9cf3416
Added code for BDB_ALIASES. Please test.
2003-04-05 06:35:16 +00:00
Howard Chu
e8c58b4e7f
Major API change - (SLAP_OP_BLOCKS) All request parameters are
...
consolidated into the Operation structure. All reply parameters
are consolidated into the new SlapReply structure. Most operations
now have identical call signatures... Changes are not #ifdef'd,
revert to -r NO_SLAP_OP_BLOCKS if necessary to back out.
2003-03-30 09:03:54 +00:00
Howard Chu
0be6cb5a67
Deleted bi_database_mutex, use DB_LOCK instead. Changed bdb_locker_id to
...
lookup the threadctx if no Op * is provided. (bdb_db_cache doesn't know
its thread context when it acquires a locker ID.)
2003-03-29 05:15:48 +00:00
Howard Chu
51e10cf23c
Save DB_LOCK structure so it can be released later.
2003-03-26 13:33:51 +00:00
Howard Chu
79f3ea6e80
BDB_HIER was defined by accident, undef
...
Fix up for SLAP_NVALUES_ON_DISK
2003-03-23 15:27:43 +00:00
Howard Chu
a0c58e5f40
Don't use DB_AUTO_COMMIT when opening a database
2003-03-18 00:04:16 +00:00
Howard Chu
44be38c0f0
ITS#2371, fix BDB_SUBDIRs
2003-03-13 15:53:19 +00:00
Howard Chu
18554e7511
Fix attribute/group to allow TXN to abort on lock failure. Save and
...
restore op->o_do_not_cache on TXN retry, bdb_group will set it if it
fails to get a lock.
2003-02-26 12:09:10 +00:00
Jong Hyuk Choi
55cf8bbd88
use of pre-assigned locker in bdb_group() / bdb_attribute()
2003-02-07 15:47:32 +00:00
Jong Hyuk Choi
85b1783d5c
LDAP Sync Operation (draft-zeilenga-ldup-sync) as a groundwork for an LDAP replication design
2003-02-05 07:37:02 +00:00
Kurt Zeilenga
6939c53170
Happy new year
2003-01-03 20:20:47 +00:00
Howard Chu
349e05ff4d
Added config keyword "searchstack" for setting search stack cache depth.
...
Default is still 16.
Added IDL caching, modified from ITS#2182. Uses "idlcachesize" config
keyword. Code is #ifdef'd, currently defined, with default cache of 0.
2002-12-10 20:33:49 +00:00
Howard Chu
d4a422329b
From ITS#2183, use a long-lived IDL stack per thread.
2002-12-10 17:59:21 +00:00
Kurt Zeilenga
4e223d588b
Reorder header inclusion to resolve ITS#2204.
2002-11-26 20:22:24 +00:00
Jong Hyuk Choi
8074294f1d
LCUP persistent search code drop
2002-10-25 17:51:30 +00:00
Howard Chu
104f8cc409
Simpler fix for NO_THREADS
2002-09-19 06:34:53 +00:00
Howard Chu
ff9e580d33
Updated BDB_HIER for current API
2002-09-19 06:08:12 +00:00
Howard Chu
919274432b
Fixes for NO_THREADS
...
Use a per-env locker ID
Always set lock_detect, since we allow slapadd etc. concurrently
Also removed unused lock_detect_task code. lockdetect config keyword only
needs <policy>, no <seconds> argument.
2002-09-19 01:13:27 +00:00
Howard Chu
35e8b8325d
Unifdef BDB_IDL_MULTI.
2002-09-10 04:20:45 +00:00
Howard Chu
5ff509f2d3
Fix previous commit, BDB_REUSE_LOCKERS was inside a BDB version #ifdef
...
but is not version-dependent.
2002-08-25 11:06:35 +00:00
Howard Chu
d6449b1d57
Experimental code that uses one locker ID per thread. Seems to work OK,
...
is enabled by default. #undef BDB_REUSE_LOCKERS in back-bdb.h to disable.
Probably needs to be disabled when built with NO_THREADS.
2002-08-24 08:11:08 +00:00
Howard Chu
3b9f4a82ee
Added support for BDB 4.1.17
2002-08-22 04:00:06 +00:00
Jong Hyuk Choi
7341dc5db6
redesign of back-bdb locking :
...
cache entry is locked by Berkeley DB lock primitives.
2002-05-31 20:49:19 +00:00
Jong Hyuk Choi
60b1ee1ba9
Patch for ITS# 1643
2002-04-19 21:41:32 +00:00
Jong Hyuk Choi
efa7b93b23
concurrent cache access: separation of cache lock (reader/writer) and lru lock (mutex)
2002-04-15 16:40:04 +00:00
Kurt Zeilenga
6b29def1c8
switch to openldap-data directory
2002-02-02 06:26:06 +00:00
Kurt Zeilenga
1bf1621efe
Add cache txn_prepare code based upon submission (ITS#1575) by
...
Jong Hyuk Choi <jongchoi@us.ibm.com>. Needs a bit more work
(GID should be globally unique).
2002-02-02 03:28:32 +00:00
Kurt Zeilenga
b57c11f4bd
BDB_ALIASES and BDB_SUBENTRIES cleanup
2002-01-29 04:53:47 +00:00
Kurt Zeilenga
98a2c60c3a
Delete CDB (no transactions) support
2002-01-28 22:57:50 +00:00
Kurt Zeilenga
14662be692
Add whoami extended operation.
...
Add no-op control (needs backend implementation)
Updated modify password extended option API
Kludged control infrastructure to support frontend only controls
2002-01-28 20:25:30 +00:00
Howard Chu
713e6beb8d
Entry caching. Based on ITS#1545 from Jong Hyuk Choi, jongchoi@us.ibm.com
2002-01-25 07:19:01 +00:00
Howard Chu
6d58126c34
Added compatibility macros for BDB3/4 lock_get, txn_id.
2002-01-18 13:27:25 +00:00
Howard Chu
8b969479f4
Turn on BDB_IDL_MULTI by default
2002-01-13 22:26:29 +00:00
Kurt Zeilenga
0e2af54a3f
Update copyright statements
2002-01-04 21:17:25 +00:00
Howard Chu
dd59babf43
More cleanup
2001-12-29 10:25:19 +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
Howard Chu
2721df21d4
Changed be_nsuffix from char ** to struct berval **, removed nsufflen
2001-12-08 05:17:31 +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
66266f9c25
Bare minimum changes to support BDB 4.0
2001-12-07 05:05:00 +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
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
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
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
323689da57
Added "dbnotxn" config keyword. If present, back-bdb uses DB_INIT_CDB
...
(Concurrent Data Store mode) instead of DB_INIT_TXN. Faster, but tends
to impede writers.
2001-11-27 02:35:20 +00:00
Howard Chu
ad5e8c9e16
Removed unused "range" argument from indexing functions. Fixed more
...
bugs in indexing. Uncommented #define to turn on indexing in back-bdb.h.
It looks like it's working.
2001-11-24 03:46:02 +00:00
Kurt Zeilenga
d6730e5f50
BDB updates... haven't had a chance to work on this for a while,
...
committin what I have so that someone else might be able to work it.
2001-10-13 16:55:54 +00:00
Kurt Zeilenga
78adfde54e
BDB_INDEX code does no harm (but no good yet, not used by filters yet).
2001-10-05 20:12:16 +00:00
Kurt Zeilenga
9f1fc48659
Another round. BDB_INDEX almost ready for functional testing.
2001-10-05 17:00:21 +00:00
Kurt Zeilenga
96e0038832
Initial idl fetch code, undef BDB_INDEX for now, other cleanup
2001-10-05 01:19:58 +00:00
Kurt Zeilenga
5160da05e5
Add some initial BDB_INDEX code... needs much work.
2001-10-04 22:29:34 +00:00
Kurt Zeilenga
191853eb51
An incremental step.
2001-10-03 23:28:20 +00:00
Kurt Zeilenga
0135c8dbb1
Add BDB index config code
2001-10-03 21:11:52 +00:00
Kurt Zeilenga
292b6c8757
Replace #if 0 with #if MACRO
2001-10-03 20:34:00 +00:00
Kurt Zeilenga
86a680a4ec
Enable management of attribute indices. Not yet used by test_filter.
2001-10-03 20:20:29 +00:00
Kurt Zeilenga
bee0650d9c
Work in progress codes. !UNTESTED!
2001-06-15 07:08:37 +00:00
Kurt Zeilenga
283a8f1b4f
Add dead lock detection thread.
2000-09-29 00:18:29 +00:00
Kurt Zeilenga
819b5303da
Add txn_checkpoint()'ing
...
disable moddn/newSuperior (needs re'IDing)
2000-09-28 04:09:13 +00:00
Kurt Zeilenga
ddb1124e42
Rough in extended ops, modify, and modrdn.
...
General code cleanup.
2000-09-27 22:28:59 +00:00
Kurt Zeilenga
077c47c2a6
replace ALLIDS with RANGE IDLs
2000-09-26 22:22:42 +00:00
Kurt Zeilenga
c182511f91
Add bdb_bind, clean up init, s/Backend/BackendDB/
2000-09-25 23:41:16 +00:00
Kurt Zeilenga
61f5f03a23
Disable sub directory support for now
2000-09-25 21:30:15 +00:00
Kurt Zeilenga
61a15be30a
Rough in search routine
2000-09-25 18:59:15 +00:00
Kurt Zeilenga
64c521085b
Add compare routine
2000-09-24 06:04:58 +00:00
Kurt Zeilenga
68a5db572c
rough in an add/delete and deadlock avoidance
2000-09-23 23:15:40 +00:00
Kurt Zeilenga
aaab54e142
Add bdb_add() and supporting routines
2000-09-22 06:46:32 +00:00
Kurt Zeilenga
2b82d4f486
remove lint
...
update bdb codes
2000-09-22 01:40:57 +00:00
Kurt Zeilenga
95627d674a
Add dn2id code
...
Add idl_insert
2000-09-20 07:21:09 +00:00
Kurt Zeilenga
7ab0916488
Reply on DB_CONFIG for tuning...
2000-09-20 02:01:05 +00:00
Kurt Zeilenga
67e3f97097
Add new nextid code.
2000-09-19 20:13:41 +00:00
Kurt Zeilenga
22e739b736
Add rough implementation of tool callbacks.
2000-09-19 18:08:04 +00:00
Kurt Zeilenga
b0f3bcb552
Don't set DB_PRIVATE yet.
2000-09-18 21:51:19 +00:00
Kurt Zeilenga
c1fdf4587c
Add errpfx and errcall
2000-09-18 21:35:08 +00:00
Kurt Zeilenga
da5da64ef8
Add set_*_dir calls
2000-09-18 21:19:19 +00:00
Kurt Zeilenga
4077211117
Fix up back-bdb framework
2000-09-18 20:03:41 +00:00
Kurt Zeilenga
583cbc8c25
Framework for back-bdb
2000-09-18 18:51:07 +00:00