Commit Graph

165 Commits

Author SHA1 Message Date
Howard Chu
98212b7e08 Start removing custom sort functions from hdb 2005-01-11 19:47:05 +00:00
Kurt Zeilenga
dc0eacd40b Happy New Year! 2005-01-01 20:49:32 +00:00
Jong Hyuk Choi
35c19ef342 misc fix for the component indexing commit 2004-12-20 20:28:30 +00:00
Jong Hyuk Choi
273052b573 adaptive caching implementation 2004-12-14 17:22:22 +00:00
Pierangelo Masarati
bc478dee46 log the right function names 2004-11-17 14:53:03 +00:00
Pierangelo Masarati
b29bf83e7e remove back-*/external.h 2004-11-15 19:45:49 +00:00
Howard Chu
ab25b43364 Update BDB 4.3 errcall prototype again to silence warnings 2004-11-13 13:22:48 +00:00
Pierangelo Masarati
be32dce97f rework static backend initialization 2004-11-11 00:38:11 +00:00
Howard Chu
504d7ea261 Assist in cache debugging 2004-11-08 04:23:37 +00:00
Howard Chu
e6a12272cc BDB 4.3 compatibility 2004-10-16 22:10:32 +00:00
Howard Chu
62b6b32633 Add SLAP_MR_ORDERED_INDEX - support for inequality indexing. Currently
only implemented for generalizedTime syntax.
2004-09-28 13:11:11 +00:00
Jong Hyuk Choi
70314bd98b SLAP_IDL_CACHE macro removed 2004-07-09 03:31:52 +00:00
Jong Hyuk Choi
b459e59394 patch for ITS#3173
- passing transaction ptr to psearch
2004-06-22 23:22:16 +00:00
Howard Chu
113870c194 Revert to original code 2004-03-06 19:15:39 +00:00
Howard Chu
896beebadc unifdef SLAP_IDL_CACHE 2004-03-05 13:43:18 +00:00
Kurt Zeilenga
3c598e89fb Happy new year 2004-01-01 19:15:16 +00:00
Howard Chu
94f7141dda Consolidate passwd extop in frontend 2003-12-01 12:38:11 +00:00
Kurt Zeilenga
9d811eb1fa Notices 2003-11-28 21:08:20 +00:00
Jong Hyuk Choi
f3586499d0 update ldapsync/syncrepl code according to the new version of
the protocol (draft-zeilenga-ldup-sync-04)
2003-11-11 20:25:19 +00:00
Jong Hyuk Choi
279760a467 1. Session history support
- memory based session history to minimize sync traffic
	- when client is covered by a session history, then
      [add+delete] mode is used
	- when client cookie is not covered by the history because
      the cookie is too outdated and/or the history is truncated,
	  [add+present] mode is used
2. Sync cookie syntax : comma separated name=value pairs
	- csn=yyyymmddhh:mm:ssZ#0xSSSS#r#ssssr,sid=nnn
2003-11-10 02:44:25 +00:00
Howard Chu
040a9cf64c Fix HDB's use of IDL cache 2003-10-03 02:19:09 +00:00
Hallvard Furuseth
b10daf623f Declare bdb_cache_entry_db_unlock(). 2003-09-29 23:32:11 +00:00
Howard Chu
121c73d838 Add EntryInfo free list 2003-09-27 04:58:36 +00:00
Jong Hyuk Choi
eee84463c0 do not cache internal search results for present entry priming 2003-09-25 07:49:50 +00:00
Howard Chu
76dd6bb6da Revert to previous behavior:
always use DB_AUTO_COMMIT when opening a database, don't make it
  dependent on an in-progress transaction

  use mutex instead of DB lock for db access.
2003-09-25 00:27:22 +00:00
Howard Chu
5fb7ea2294 Cleanup prev commit 2003-09-22 10:11:10 +00:00
Howard Chu
0342904699 back-hdb caching updates, use EntryInfo cache for hdb_dn2idl. 2003-09-22 08:37:32 +00:00
Howard Chu
fddbe13c6e Revert broken index optimizations 2003-09-21 10:11:46 +00:00
Jong Hyuk Choi
d5be4896a3 add bdb_get_commit_csn() for use in bdb_search 2003-09-10 17:03:01 +00:00
Jong Hyuk Choi
c36f32a9e4 slaptool update for LDAP Sync replication 2003-08-30 15:19:35 +00:00
Jong Hyuk Choi
090ac0a772 unifdef LDAP_SYNC and LDAP_SYNCREPL 2003-08-27 22:16:04 +00:00
Jong Hyuk Choi
9faedad3e5 Context CSN updates for hdb 2003-08-26 18:57:09 +00:00
Jong Hyuk Choi
3be0b77c88 Context CSN Patch (2)
- BDB context csn codes moved to a separate function in back-bdb/ctxcsn.c
2003-08-25 19:15:04 +00:00
Luke Howard
3301a31755 Fix symbol name collision when LDAP_SYNC && BDB_HIER 2003-08-23 11:58:33 +00:00
Jong Hyuk Choi
660617ae66 Context CSN patch (1)
- currenty works for refreshOnly mode of LDAP Sync
- Context CSN for add / modify is implemented
- code for delete / modrdn / refreshAndPersist will be soon committed
2003-08-23 02:51:33 +00:00
Jong Hyuk Choi
5bc1e1a3c9 Berkeley DB congestion avoidance 2003-07-01 11:55:18 +00:00
Jong Hyuk Choi
262f8bf11f LCUP primitive routines removed 2003-06-27 17:39:48 +00:00
Howard Chu
0c8a4b1756 More fixes for modify - don't delete index keys that are still being used
by other values of the attribute.

Also, filter out duplicate keys to avoid redundant DB operations.

Key collisions due to separate attributes indexed by supertype are still
not safe. Yuck.
2003-06-13 06:09:45 +00:00
Howard Chu
4a3748b6cf Restructured to avoid direct use of sl_malloc functions. Minimizes impact
of #ifdef USE_SL_MALLOC...
2003-05-25 00:53:08 +00:00
Howard Chu
2bb9a15d57 ITS#2541 added bdb_cache_delete_cleanup() to defer cache delete. 2003-05-23 02:04:03 +00:00
Howard Chu
759996c6e9 Fix HDB search_aliases crash, cleanup search scope processing: call dn2idl
directly instead of going thru filter_candidates. Use hdb_ function prefix
in dn2id.c to avoid ambiguities...
2003-05-01 11:59:08 +00:00
Howard Chu
02217c9183 Subtree rename support for the cache 2003-04-23 08:46:23 +00:00
Howard Chu
6f461690c1 Function renaming, make internal funcs static, etc. 2003-04-23 06:34:55 +00:00
Howard Chu
7c39a5e726 filter_candidate tweaks, search_stack tweaks 2003-04-22 18:22:51 +00:00
Howard Chu
68822b1e15 Trim dead BDB_HIER stuff 2003-04-22 17:06:35 +00:00
Howard Chu
89127c93d0 Mem context tweaks for bdb_dn2idl 2003-04-22 06:29:13 +00:00
Howard Chu
bd871d710d Moved IDL cache code to standalone functions.
Use IDL cache in bdb_dn2id_children.
2003-04-22 05:14:27 +00:00
Howard Chu
f0577fcb08 Pass parent EntryInfo instead of parent DN to dn2id_add/delete.
Add bdb_cache_children, remove cache flag manipulation from dn2id_children
2003-04-22 04:06:09 +00:00
Howard Chu
d290145776 memory context tweaks 2003-04-21 18:28:38 +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
Howard Chu
ece7452b05 More memory context tweaks 2003-04-11 01:29:28 +00:00
Pierangelo Masarati
b2075ea932 cleanup & more 2003-04-05 09:57:21 +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
99950e4fe4 Deleted BackendInfo->bi_acl_attribute, bi_acl_group.
Replaced with bi_entry_get_rw.
Implemented for back-bdb, back-ldbm, back-ldap.
2003-03-26 11:50:03 +00:00
Howard Chu
a0c58e5f40 Don't use DB_AUTO_COMMIT when opening a database 2003-03-18 00:04:16 +00:00
Jong Hyuk Choi
0d0d5ffddf declaration of bdb_idl_entry_cmp() 2003-03-12 16:36:28 +00:00
Kurt Zeilenga
1a14def903 Use function pointers to get at backend routines. 2003-02-14 20:51:35 +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
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
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
Pierangelo Masarati
f4c5362955 add bdb_hasSubordinates() helper 2002-08-29 10:50:53 +00:00
Kurt Zeilenga
fb7ac08ada cleanup 2002-08-26 19:13:44 +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
cd60deb4a9 OS/390 EBCDIC support 2002-08-22 04:39:59 +00:00
Jong Hyuk Choi
09a2a8fbce DB_RMW flag to dn2id and id2entry 2002-06-10 19:02:25 +00:00
Jong Hyuk Choi
976fb2265f remove dbenv->lock_put() call from transaction-protected operations 2002-06-06 10:14:14 +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
Howard Chu
cc21d814b3 Use a single malloc'd block for all the temporary IDL storage in the
filter processing, to avoid runtime stack blowout. Also removes the
need for gigantic thread stacks.
2002-03-18 11:40:58 +00:00
Kurt Zeilenga
488862105f Use UUID to generate a GID for txn_prepare. Based upon submission
from Jong Hyuk Choi <jongchoi@us.ibm.com> (ITS#1585 for ITS1575).
2002-02-11 17:45:39 +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
ac1332cdb8 Renamed BVarray to BerVarray. Moved slapd:bvarray_{add,free} to
liblber:ber_bvarray_{add,free}.
2002-01-14 01:43:17 +00:00
Howard Chu
92481f7057 Modify performance patch from Gertjan van Wingerde <gwingerde@home.nl> 2002-01-13 23:23:23 +00:00
Kurt Zeilenga
0e2af54a3f Update copyright statements 2002-01-04 21:17:25 +00:00
Howard Chu
f52cc9bab5 Change struct berval ** to BVarray 2002-01-02 11:00:36 +00:00
Howard Chu
dd59babf43 More cleanup 2001-12-29 10:25:19 +00:00
Howard Chu
ef31250591 More struct berval fixes 2001-12-27 01:38:15 +00:00
Kurt Zeilenga
b503ca65ee Misc cleanup 2001-12-27 00:31:55 +00:00
Kurt Zeilenga
b144879650 Quick struct berval DN support for defer alias API.
Underlying code needs work.
2001-12-27 00:26:59 +00:00
Howard Chu
66dc664930 Some more (incomplete) struct berval conversion 2001-12-26 23:26:17 +00:00
Howard Chu
68b1bbb89d Changed search attrs to struct berval **.
Use typedefs for all backend functions, to minimize work in future API
updates. (back-*/external.h will never need updating in the future.)
2001-12-26 08:17:44 +00:00
Kurt Zeilenga
f6085d3f82 Every quick mod to use a struct berval for e_dn/e_ndn. No bv_len yet. 2001-12-24 16:53:47 +00:00
Howard Chu
a06bc9007c Switched to dn_parent1, cleaned up dn2id_add/delete 2001-12-08 10:10:04 +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
6e0861b671 Minor rearrangement, give pdn to dn2id_add to avoid getting it twice. 2001-12-06 03:26:37 +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
763faf21b1 Some tweaks to cut down on IDL stack usage. idl_intersection and idl_union
now take only two arguments instead of 3, overwriting the result onto the
first argument. (glibc2.0.7 defaults to a 2MB stack per thread; 3 IDLs at
1.5MB plus various other runtime overhead is enough to trash the stack.)
Also pass in a tmp IDL from search_candidates instead of allocating it in
each candiate function.
2001-11-26 19:32:39 +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
Howard Chu
a3ded4782e Changed AttributeType.sat_cname from char * to struct berval.
Forced SLAP_USE_AD code, removed ifdefs of old code. filterindex.c is
still badly broken when BDB_FILTER_INDICES is defined, working on that...
2001-11-16 08:18:58 +00:00
Howard Chu
0b037b5566 Added bdb_attribute and bdb_group ACL support routines 2001-11-12 20:52:25 +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
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
3120d37951 More changes to let BDB build without LDBM. 2001-10-04 06:34:03 +00:00
Kurt Zeilenga
9b98f46a5e Add prelim index code from LDBM, needs work... 2001-10-04 02:55:09 +00:00
Kurt Zeilenga
0135c8dbb1 Add BDB index config code 2001-10-03 21:11:52 +00:00
Kurt Zeilenga
0bcc892fdf Fix basic operations 2001-07-31 04:24:29 +00:00