Hallvard Furuseth
99427aa7de
Drop me_pgfree, add mdb_freelist_save().
...
Split up saving me_pghead, to make me_pgfree unneeded. Also mf_pghead
is now a midl. Needed after e7f6767ea8
("Return fresh overflow pages to current pghead").
Tweak MDB_DEBUG freelist output, make it ascending.
2013-06-12 17:20:42 +02:00
Howard Chu
c2cac4588a
Fix CURSOR_NEXT/PREV on emptied DB
2013-06-11 17:13:08 -07:00
Howard Chu
bcb67dd22f
Make sure mdb_stat() gets valid data
2013-06-08 14:10:08 -07:00
Howard Chu
e7f6767ea8
Return fresh overflow pages to current pghead
...
And remove them from the current dirty list.
2013-06-06 16:44:02 -07:00
Howard Chu
aff123ba11
ITS#7594 more for subDB cursor fix
2013-06-05 16:13:43 -07:00
Howard Chu
3b623d66e1
ITS#7594 better fix
...
Update the subDB cursor, don't invalidate it
2013-06-05 15:23:54 -07:00
Howard Chu
65faa5ed7e
tweak mdb_copy, trap signals
2013-05-30 15:56:30 -07:00
Howard Chu
d29b9600e6
Windows portability fixes for prev commit
2013-05-30 15:33:59 -07:00
Howard Chu
f207c50b15
Add warning about interrupting copy
2013-05-30 13:13:33 -07:00
Howard Chu
ad573fe125
Fix prev commit
2013-05-30 13:09:28 -07:00
Howard Chu
c68e5ae9be
Add mdb_env_copyfd()
...
Allow writing backup to an already opened file handle, for piping
to tar/gzip/ssh/whatever.
2013-05-30 13:06:12 -07:00
Jan Synacek
95241fae6c
ITS#7611 Fix loglevel2bvarray
2013-05-29 07:31:15 -07:00
Howard Chu
1d252a9236
Disable databases & overlays (experimental)
...
Do not use. backend/overlay code needs to be fixed accordingly.
In particular, code which currently frees configuration in _db_close()
must be changed to free only in _db_destroy().
After restructuring, it must be possible to call _db_close()/_db_open()
multiple times in succession without requiring _db_config() in between.
2013-05-28 13:09:44 -07:00
Howard Chu
b7df586674
ITS#7608 allow slapadd w/unknown RDNs for config DB
2013-05-27 18:51:34 -07:00
Howard Chu
288e0041de
ITS#7590 tweak bdb/hdb/mdb notes
2013-05-27 11:34:46 -07:00
Howard Chu
f27236b0c0
ITS#7588 plug memleak
2013-05-27 11:17:05 -07:00
Howard Chu
6dab36e97a
ITS#7608 promoted attrs must have valid ad_index
2013-05-27 08:57:15 -07:00
Howard Chu
9649281f7b
ITS#7609 add per-target filter patterns
2013-05-26 18:43:46 -07:00
Howard Chu
4b49291653
Add _M_IX86 macro for MSVC
2013-05-25 10:16:55 -07:00
Howard Chu
a3de7c29ae
ITS#7604 fix modrdn, base-scope search
2013-05-24 11:08:25 -07:00
Howard Chu
1748f03041
ITS#7588 fix possible NULL-deref in prev commit
2013-05-24 08:23:44 -07:00
Stef Walter
ffe383c27b
ITS#7583 Fix ldap_init_fd() for LDAP_PROTO_UDP
...
ldap_init_fd() tried to handle UDP sockets but was missing
certain key pieces to make it work. Fill in the address and
set the UDP flag correctly.
2013-05-23 12:40:09 -07:00
Howard Chu
63312f109f
ITS#7582 CLDAP, avoid ref to uninit'd memory
2013-05-23 12:36:15 -07:00
Howard Chu
e31c7d3b31
ITS#7594 De-init other subcursors in page_touch
2013-05-23 12:17:21 -07:00
Howard Chu
3d5e7ef0d2
ITS#7581 more for prev commit
2013-05-23 11:45:05 -07:00
Howard Chu
82d7e9d8ab
ITS#7581 fix back-meta config checks
...
Allow base entry to be added online with targets
added later. Add SLAP_SERVER_RUNNING flag to note
that main slap_startup has already occurred.
2013-05-23 10:54:50 -07:00
Hallvard Furuseth
92fe958805
Drop unused liblmdb MIDL-range support.
2013-05-21 23:58:57 +02:00
Hallvard Furuseth
feaeab0c04
Factor out mdb_find_oldest,mdb_dlist_free,dirty_list.
...
Do not rescan reader table (mdb_find_oldest) after "goto again".
Skip clearing dirty_list[nonzero].mid in mdb_dlist_free(); it
was not done in mdb_reset0() anyway.
2013-05-21 23:55:13 +02:00
Hallvard Furuseth
5ea1cd8f6d
mdb_stat cleanup.
...
Exit with success when there was no failure.
Do not use data containing NUL as a DB name (which is a C string).
2013-05-21 23:48:27 +02:00
Hallvard Furuseth
a1b16ce5f0
ITS#7598 Tweak MDB_<NEXT/PREV>_NODUP,fix mdb_stat.
...
MDB_NEXT_NODUP, MDB_PREV_NODUP: Allow for non-MDB_DUPSORT databases.
No mdb.c code changes needed.
mdb_stat.c: Use MDB_NEXT_NODUP, to avoid a crash with a DUPSORT mainDB.
2013-05-21 22:44:51 +02:00
Hallvard Furuseth
1b6d7ee7e1
ITS#7598 mdb_dbi_open(named DB): Check mainDB flags.
...
Reject attempts to open named databases if the main
database has flag MDB_DUPSORT or MDB_INTEGERKEY.
DUPSORT would require an xcursor for the DB, INTEGERKEY
would expect the DB name to be a binary integer.
2013-05-21 19:04:52 +02:00
Hallvard Furuseth
a2ce25482a
ITS#7515 Fix nested txn touch of subpage/ovpage.
...
mdb_page_touch(): Don't touch a subpage, replacing with non-subpage.
mdb_cursor_put(): Don't overwrite ancestor txn's dirty overflow page.
2013-05-20 23:12:52 +02:00
Hallvard Furuseth
5bdf2aae6e
Tweak mdb_page_malloc(),mdb_page_get() semantics.
...
mdb_page_malloc(): Add "number of pages" parameter.
mdb_page_get(): Add output param for how page was found.
Do not set return params on error.
mdb_cursor_put(): Catch mdb_page_get() error.
Prepares for next commit, no change in caller behavior other
than on mdb_page_get error.
2013-05-20 23:12:26 +02:00
Hallvard Furuseth
2eb50b1d2e
More ITS#7589 followup: OVPAGES() -> mp_pages.
2013-05-19 19:08:07 +02:00
Hallvard Furuseth
e4ce404992
More ITS#7589: Fix prev commit.
...
mp_pages gives #pages in the ovpage. OVPAGES() no longer does.
2013-05-19 18:38:13 +02:00
Hallvard Furuseth
0cdd9dffdd
ITS#7589 mdb_cursor_put(): Update ovpage nodesize.
...
Update the nodesize when overwriting an overflow page.
As before, do not attempt to shrink the page.
2013-05-17 19:31:17 +02:00
Howard Chu
a8c1438688
ITS#7577 more alias deref checks
2013-05-17 09:15:36 -07:00
Howard Chu
37c8b35ebd
Cleanup, fix syncrepl config errmsg
2013-05-17 07:51:23 -07:00
Howard Chu
5ba27410ae
Merge remote-tracking branch 'origin/mdb.master'
2013-05-16 17:23:29 -07:00
Howard Chu
833cd905b7
Include <netinet/in.h> for Solaris 8
...
Needed for <resolv.h>, which is needed for BYTE_ORDER.
2013-05-15 11:50:40 -07:00
Howard Chu
81f4d50c77
Merge remote-tracking branch 'origin/mdb.master'
2013-05-14 17:12:33 -07:00
Howard Chu
7233bc295b
Fix mdb_page_split - nested split
...
If updating a page's separator triggers a split in its parent,
we may have missed adjusting the parent's cursor position.
2013-05-14 16:57:50 -07:00
Howard Chu
1105aa35ba
Doxygen cleanup
2013-05-13 12:36:47 -07:00
Howard Chu
68cb9ae250
ITS#7588 fix double-free for sorted paged search
2013-05-13 08:12:40 -07:00
Howard Chu
4a6adbf589
Merge remote-tracking branch 'origin/mdb.master'
2013-05-10 13:04:44 -07:00
Howard Chu
9ebd5992c9
Fix 66c839f029
...
Forgot #include <errno.h>
2013-05-10 05:56:16 -07:00
Howard Chu
66c839f029
Refactor mdb_midl_append, add mdb_midl_grow()
2013-05-09 17:27:29 -07:00
Hallvard Furuseth
2d6aed7537
ITS#7515 Fix nested transaction error handling.
...
mdb_txn_begin(): Do not free(mt_free_pgs), it needs mdb_midl_free().
mdb_txn_commit(): Catch commit(child) error.
2013-05-05 15:13:31 +02:00
Hallvard Furuseth
521fdb00cc
Fix mdb_env_close(unopened MDB_env).
...
Do not try to scan me_dbxs in a closed/never-opened MDB_env.
Broken by 7d643d3acb
and 151c416b46 .
2013-05-05 14:26:05 +02:00
Hallvard Furuseth
0b9a208530
Simplify/cleanup mdb_cursor_init, C_ALLOCD.
...
No real change.
mdb_cursor_init() checks if it needs mx, so pass it unconditionally.
Set C_ALLOCD for shadow cursors, for clarity. (It was always set as
it should anyway from the origin cursor, which would have C_ALLOCD.)
2013-05-04 12:53:43 +02:00