Commit Graph

533 Commits

Author SHA1 Message Date
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
Kurt Zeilenga
d5d801d152 Misc code cleanup 2001-11-27 03:41:03 +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
78066c08c0 Fixed exit code processing. passwd.c never committed its password change
tranasaction.
2001-11-27 01:09:19 +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
df28982b43 More indexing fixes. Now passes tests 0-7, 10, and 11. 2001-11-24 12:41:54 +00:00
Howard Chu
13696c0b22 Fixed exit condition code checks and log msg, was returning fail on success. 2001-11-24 12:28:52 +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
939028b43f Fixed initialization bug. 2001-11-24 03:44:28 +00:00
Howard Chu
02b464b684 Fix initialization bugs 2001-11-24 03:43:52 +00:00
Howard Chu
49e3e8899d Fix typo that prevented rootdn logins. 2001-11-24 02:40:59 +00:00
Howard Chu
5657b6ec4e equality_candidates: s/BDB_IDL_RANGE_CPY/BDB_IDL_CPY/ 2001-11-17 04:51:08 +00:00
Howard Chu
02936edd27 First pass at indexing cleanup. Both filterindex.c and search.c now
compile cleanly when BDB_FILTER_INDICES is defined, but I have not
yet seen whether any of it actually works. In particular, I don't
understand the "range" argument to the candidate functions...
2001-11-17 04:41:47 +00:00
Pierangelo Masarati
d51dc13a0b moved the empty dn static entry into a global const object 2001-11-16 17:05:32 +00:00
Pierangelo Masarati
4c283cfe65 update dn can add/modrdn/delete entries rooted at '' (according to ACLs) 2001-11-16 15:06:18 +00:00
Pierangelo Masarati
563694039f check children access for old and new parent when = '' 2001-11-16 15:00:03 +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
Pierangelo Masarati
0ebba25d99 hack to make '' base work; please check side-effects 2001-11-14 17:27:24 +00:00
Pierangelo Masarati
098c4a15d4 fix a couple of misformats 2001-11-14 16:17:30 +00:00
Pierangelo Masarati
a8437c2038 non-root add/delete of entries rooted at '' checks children write permission (forward port from back-ldbm) 2001-11-14 16:09:33 +00:00
Kurt Zeilenga
525cd6f783 Port ITS#1430 changes from ldbm 2001-11-13 19:45:47 +00:00
Howard Chu
0b037b5566 Added bdb_attribute and bdb_group ACL support routines 2001-11-12 20:52:25 +00:00
Howard Chu
efb6c24f6b Fix missing case 2001-11-12 20:28:23 +00:00
Pierangelo Masarati
afd0037eda Fixes ITS#1433 2001-11-12 17:12:43 +00:00
Kurt Zeilenga
f8611a1296 Don't use indices to support not [!] filters.
Use pres indices to support LE/GE [<=,>=] filters.
2001-11-05 17:25:44 +00:00
Howard Chu
e47e31ad0a Fix for dbnosync - DB_TXN_NOSYNC is not a valid flag for dbenv_open,
must be set later using dbenv_set_flags.
2001-11-05 07:01:12 +00:00
Howard Chu
09cddf9188 Ported referral patches from back-ldbm. I believe search.c still needs
the patch from ITS#1289 to be ported here.
2001-11-05 06:24:11 +00:00
Julio Sánchez Fernández
aee598dba7 Remove bogus refusal to index ;binary attributes. Notice that I left
in a check.  This way you have to say:

	index userCertificate eq

If we remove it, we could say:

	index userCertificate;binary eq

I have not tried the latter.
2001-10-23 13:42:37 +00:00
Julio Sánchez Fernández
bf5ea315b6 Compares get values in the matching rule syntax (see RFC2251, 4.1.7),
so we need to tell value_find about this.
2001-10-23 09:48:18 +00:00
Howard Chu
0185b79559 Don't free entries since the tools realloc the buffers. 2001-10-22 15:58:44 +00:00
Howard Chu
11d884b8cf Fix some uninitialized variables 2001-10-22 15:57:58 +00:00
Howard Chu
c05de965b5 Moved binary entry_encode/entry_decode into main code. Removed lber version. 2001-10-22 14:07:42 +00:00
Howard Chu
0e16f6acf9 Moved AttributeDescription caching into main code:
Changed AttributeDescription.{ad_cname,ad_lang} to struct berval everywhere
   Deleted ad_free() everywhere
   Added ad_mutex to init.c

The AttributeDescriptions are in a linked list hanging off of the
corresponding AttributeType.
2001-10-22 13:23:05 +00:00
Howard Chu
ce6243f009 Patches for modify/modrdn to work with BDB_USE_BINARY_RW. 2001-10-19 20:28:48 +00:00
Howard Chu
98d6a4f2bf Added new bdb_encode/bdb_decode functions, must #define BDB_USE_BINARY_RW
to activate. The bdb_decode works in-place on the db data. Add/Search are
OK, I think Modify needs to be tweaked. Don't use this yet unless you want
to help finish it.
2001-10-19 11:53:15 +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
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
433eb73ef8 Add BDB_INDEX error handling 2001-10-03 23:49:38 +00:00
Kurt Zeilenga
3ad55b225e Add error handling to BDB_INDEX code 2001-10-03 23:39:29 +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
Pierangelo Masarati
8a3768276a candidate check using new macro from Kurt 2001-10-02 19:15:05 +00:00
Kurt Zeilenga
773b1907d2 Add BDB_IDL_N() macro for ando 2001-10-02 19:04:12 +00:00
Pierangelo Masarati
becb7ff0ce forward porting of time/size limits from back-ldbm (pending the definition of the most appropriate way to determine the number of candidates) 2001-10-02 12:00:01 +00:00
Pierangelo Masarati
4ac9b37db7 forward porting of empty parent dn checks from back-ldbm 2001-10-02 10:44:14 +00:00
Pierangelo Masarati
5544720505 forward porting of composite rdn handling from back-ldbm 2001-10-02 10:39:04 +00:00
Kurt Zeilenga
c45a6f5c23 Fix up binary search 2001-09-26 03:50:48 +00:00
Kurt Zeilenga
5f4d8a71e6 Use a 64MB stack (instead of a 64K on some systems) by default.
This should be tunable...
2001-09-26 02:35:41 +00:00
Kurt Zeilenga
8c758b34f8 Fix build errors 2001-09-26 01:54:39 +00:00
Kurt Zeilenga
37d44620a5 idl_check for back-bdb 2001-09-25 23:56:49 +00:00
Kurt Zeilenga
50223981d9 Fix typo 2001-07-31 07:53:21 +00:00
Kurt Zeilenga
b09727567d Clean up 2001-07-31 04:55:14 +00:00
Kurt Zeilenga
60c4893b93 Last changes should have been #ifdef 2001-07-31 04:30:11 +00:00
Kurt Zeilenga
0bcc892fdf Fix basic operations 2001-07-31 04:24:29 +00:00
Kurt Zeilenga
ca7ba1a3fd Fix slapadd crash when only a subset of databases have been initialized.
Likely should have a general solution to this.
2001-07-31 00:16:44 +00:00
Kurt Zeilenga
bee0650d9c Work in progress codes. !UNTESTED! 2001-06-15 07:08:37 +00:00
Kurt Zeilenga
5eaa8fc85f Fix error text bugs 2001-03-15 03:02:23 +00:00
Kurt Zeilenga
e0e0b255f7 Fix typo in $SRCS 2001-03-15 03:01:54 +00:00
Kurt Zeilenga
468664c443 Adjust result code when entry is not found to noSuchObject 2000-10-11 18:19:26 +00:00
Kurt Zeilenga
492bb0263f Fix thread handling and error printing 2000-10-01 19:21:07 +00:00
Kurt Zeilenga
bd9e1b772c Fix no_threads build 2000-09-30 01:04:43 +00:00
Kurt Zeilenga
283a8f1b4f Add dead lock detection thread. 2000-09-29 00:18:29 +00:00
Kurt Zeilenga
160bf00975 Disable debugging 2000-09-28 22:25:19 +00:00
Kurt Zeilenga
11ba8fcf8f report retries 2000-09-28 18:29:50 +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
f106722ebf working modrdn...
(need to fix leaks on transaction retries)
2000-09-28 02:42:20 +00:00
Kurt Zeilenga
67a595b328 fix up bdb_entry_return() calls 2000-09-28 02:27:49 +00:00
Kurt Zeilenga
fe23e0b875 Fix idl_insert... add/modify/delete now working w/ binary IDL search!
Leave debugging in place until post indexing work.
2000-09-28 01:27:01 +00:00
Kurt Zeilenga
75ee0afb30 Add idl_dump for testing purposes 2000-09-28 01:02:59 +00:00
Kurt Zeilenga
b64782a7c0 Clean up logging... need to hand run idl_delete to find bug 2000-09-28 00:24:28 +00:00
Kurt Zeilenga
ce01b5d755 Don't complain about non-existance IDL "range" candidates 2000-09-28 00:10:41 +00:00
Kurt Zeilenga
373479e5b8 Mostly working modify 2000-09-28 00:02:47 +00:00
Kurt Zeilenga
45b0ae2e7d Fix referrals no-referrals case 2000-09-27 23:25:15 +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
cb2734eef0 Fix cursor logic 2000-09-26 22:28:12 +00:00
Kurt Zeilenga
077c47c2a6 replace ALLIDS with RANGE IDLs 2000-09-26 22:22:42 +00:00
Kurt Zeilenga
21cc085854 Add reindex 2000-09-26 20:41:54 +00:00
Kurt Zeilenga
fdeffe84e1 Add kludge to get working tests add/populate. 2000-09-26 20:31:34 +00:00
Kurt Zeilenga
dccdd30497 Got base entry... 2000-09-26 19:26:08 +00:00
Kurt Zeilenga
fcb3ccc526 Fix ber_scanf and init bugs 2000-09-26 17:47:24 +00:00
Kurt Zeilenga
63df7da68e include external.h 2000-09-26 05:33:37 +00:00
Kurt Zeilenga
e2c2ff8deb Apparently working slapadd! 2000-09-26 04:28:17 +00:00
Kurt Zeilenga
ebae2e5c62 Rough in passwd and referral routines
add diag and fix a few idl bugs
2000-09-26 03:47:56 +00:00
Kurt Zeilenga
5a30d0a9dd Add more diagnostics including linear search version of idl_search() 2000-09-26 01:36:35 +00:00
Kurt Zeilenga
7b97ddabeb Add diagnostics 2000-09-26 01:18:00 +00:00
Kurt Zeilenga
922cd5f41e Fix nextid 2000-09-26 00:56:33 +00:00
Kurt Zeilenga
b6d63b8e17 Add additional diagnostics 2000-09-26 00:43:00 +00:00
Kurt Zeilenga
11797cdbeb Fix initialization, add additional diagnostics 2000-09-26 00:12:31 +00:00
Kurt Zeilenga
0518820376 Add bind() 2000-09-25 23:46:54 +00:00
Kurt Zeilenga
c182511f91 Add bdb_bind, clean up init, s/Backend/BackendDB/ 2000-09-25 23:41:16 +00:00
Kurt Zeilenga
6a74325e5d Clean up debug messages 2000-09-25 21:58:41 +00:00
Kurt Zeilenga
61f5f03a23 Disable sub directory support for now 2000-09-25 21:30:15 +00:00
Kurt Zeilenga
e50c9b1588 Add minimal config support 2000-09-25 21:10:21 +00:00
Kurt Zeilenga
c3ab074c00 Update build environment for back-bdb 2000-09-25 20:16:19 +00:00
Kurt Zeilenga
ec1f989c79 Finish search rough in (w/o alias nor indexing support) 2000-09-25 19:59:45 +00:00
Kurt Zeilenga
61a15be30a Rough in search routine 2000-09-25 18:59:15 +00:00
Kurt Zeilenga
3874e8571d Add dn2entry.c 2000-09-24 22:48:13 +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
101ec9c57f modify idl_search to use binary search algorithm 2000-09-21 01:56:10 +00:00
Kurt Zeilenga
4830b23b9d Add idl_delete routines 2000-09-20 23:29:41 +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
fe186a9c8f Add BDB errcall 2000-09-19 01:59:08 +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
c3b0c9bd0a Initial autoconf support for back-bdb 2000-09-18 19:02:03 +00:00
Kurt Zeilenga
583cbc8c25 Framework for back-bdb 2000-09-18 18:51:07 +00:00