Pierangelo Masarati
83d6a5d56e
fix tool name (ITS#7534)
2013-03-01 10:20:57 +01:00
Pierangelo Masarati
d6b82ec6d0
more about ITS#7525
2013-03-01 10:20:57 +01:00
Howard Chu
bc1d4424c5
Define MDB_WRITES_PER_COMMIT, default to 500
...
The former default of 1000 may fail for DBs with many indices.
2013-02-23 19:04:13 -08:00
Howard Chu
04b95ec6ee
ITS#7525 more for quoting
2013-02-21 01:56:58 -08:00
Howard Chu
f839815778
Merge remote-tracking branch 'origin/mdb.master'
2013-02-21 05:20:20 +00:00
Howard Chu
3394bac2c0
Update error code instances
2013-02-20 05:08:52 -08:00
Hallvard Furuseth
80cd881184
Tweak MDB_INCOMPATIBLE description
2013-02-20 12:19:45 +01:00
Hallvard Furuseth
fbd76c44e4
Tweak prev commit: Restore if-test as an assert
2013-02-20 09:08:41 +01:00
Howard Chu
70892f0b37
ITS#7523 document the valsort control's value syntax
...
Not really sure that we like this syntax, but it's been there
for 8 years now so unlikely to change.
2013-02-19 21:48:59 -08:00
Hallvard Furuseth
208e5c614d
ITS#7515 Fix mdb_txn_commit(nested txn).
...
Don't modify the parent txn until the current txn cannot fail.
Don't assume new dirty child pgnos > dirty parent pgnos.
Page alloc/touch: Fail if child+parent dirty pages would exceed
dirty_list's maxsize. Avoids an error situation in commit.
2013-02-19 18:44:10 -08:00
Howard Chu
03b0319b46
ITS#7488 really turn off threaded indexing code
2013-02-19 18:20:17 -08:00
Howard Chu
f827aa683e
ITS#7527 add missing error checks for corrupt index
2013-02-19 18:19:47 -08:00
Hallvard Furuseth
f43ae20be7
ITS#7512 Plug mdb_txn_abort(nested txn) page leaks.
...
Also catch mdb_cursor_shadow() errors.
2013-02-19 22:03:04 +01:00
Hallvard Furuseth
f97552a83a
Check DB flags when refreshing a stale MDB DBI.
...
It's hairy to figure out when a DBI is valid. Catch destructive
user errors, and flags which another process changed under us.
2013-02-19 22:02:37 +01:00
Hallvard Furuseth
2dbb8bb833
mdb_cursor_prev,mdb_cursor_next: Fix return value.
...
Return mdb_node_read()'s return value if it fails, not 1.
(Can happen if mdb_page_get() fails and NDEBUG is #defined.)
2013-02-19 22:02:15 +01:00
Hallvard Furuseth
e4af9ee5da
ITS#7515 mdb_dbi_open(): Also open in parent txns.
...
This makes aborting nested and non-nested txns more
similar: The new DBI is available to the surrounding
context (parent txn and MDB_env respectively).
2013-02-19 22:01:29 +01:00
Hallvard Furuseth
4b67270374
mdb_page_alloc(): Handle freeDB txnid range holes.
...
A txn writes no freeDB entry if previous txn dropped mainDB and a read
txn prevents freelist entry reuse. This surprised mdb_page_alloc (and
mdb_txn_commit too before 65c053a6e7
).
2013-02-19 21:17:33 +01:00
Hallvard Furuseth
f19655eabc
ITS#7517 Document that dirty DBs may not be closed
2013-02-19 21:15:26 +01:00
Hallvard Furuseth
8ad25001ff
ITS#7485 Document key/data size limits in lmdb.h.
...
mdb.c already describes them. The user doc should too.
2013-02-19 21:14:23 +01:00
Hallvard Furuseth
ef25056cfb
Revert "ITS#7515 update parent's mt_next_pgno on child commit"
...
This reverts commit fd4861bf00
.
It duplicated earlier code.
2013-02-17 08:42:14 +01:00
Howard Chu
fd4861bf00
ITS#7515 update parent's mt_next_pgno on child commit
2013-02-17 00:49:53 +00:00
Howard Chu
890f1da3ee
Don't limit retries when coalescing freelist
...
Try to use whatever's available.
2013-02-17 00:48:43 +00:00
Hallvard Furuseth
00d7a96bd5
ITS#7515 Fix MDB parent/child txn interaction.
...
mdb_txn_commit(child): Copy more state. Copy all of mt_dbs:
Include mainDB, and even freeDB since mdb_drop() can update
it. Don't skip DBs with unchanged root, this could break
when the new was newly opened and the old unused junk.
mdb_page_get(): Search parents' dirty lists.
2013-02-16 19:11:20 +01:00
Hallvard Furuseth
d90581fa5a
ITS#7377 Catch MDB failure updating root pointers.
...
"cannot fail" was wrong, it fails at least when exceeding mapsize.
2013-02-16 19:08:54 +01:00
Hallvard Furuseth
c7db955a94
ITS#7517 Don't save dropped dirty MDB databases.
...
mdb_txn_commit's attempt to save the DB could corrupt another DB if
another thread had called mdb_dbi_open and reused the closed DBI.
2013-02-16 19:08:37 +01:00
Hallvard Furuseth
8e1bbdf0dd
mdb_stat -ff[f]: show contiguous page spans.
2013-02-16 19:07:16 +01:00
Hallvard Furuseth
7aba5f5ab9
Add error code MDB_MAP_RESIZED.
2013-02-16 19:06:28 +01:00
Howard Chu
c6a4982793
More for ITS#7455
...
Don't memmove freelist entry when chunking it. Just advance the pointer,
now that it's no longer a complex struct. Also just calculate maxfree_1pg
at startup; it's a constant during runtime.
2013-02-15 13:33:50 +00:00
Hallvard Furuseth
1f953c5559
ITS#7455 Save freelist in single-page chunks
2013-02-15 13:33:50 +00:00
Hallvard Furuseth
7cacc0ec81
Freelist cleanup/streamlining
...
Drop unneeded definitions, redundant code.
2013-02-15 13:33:49 +00:00
Howard Chu
5e59695b8d
Don't memmove freelist entry when chunking it
...
Just advance the pointer, now that it's no longer a complex struct
2013-02-15 13:27:50 +00:00
Hallvard Furuseth
52ecd38e18
ITS#7455 Save freelist in single-page chunks
2013-02-15 13:27:50 +00:00
Hallvard Furuseth
1b8bfc5756
Freelist cleanup/streamlining
...
Drop unneeded definitions, redundant code.
2013-02-15 13:27:02 +00:00
Pierangelo Masarati
648d28fb0b
DELETE needs pointer initialization like EMIT (ITS#7526)
2013-02-12 23:28:18 +01:00
Pierangelo Masarati
ecb7fc4243
quotes needed for spaces in DN (ITS#7525)
2013-02-12 17:18:06 +01:00
Quanah Gibson-Mount
5b89b47321
ITS#7523
...
Document valsort control
2013-02-11 13:50:02 -08:00
Howard Chu
9f227f7661
More for dn2id_upgrade
...
handle 0-length suffix
2013-02-10 00:17:51 +00:00
Howard Chu
5c91a27277
Add error checks to prev commit
2013-02-09 19:50:08 +00:00
Howard Chu
2bbee4bb23
Add mdb_dn2id_upgrade
...
Check if upgrade is needed in mdb_db_open()
Run from tool_reindex. Upgrade must not be interrupted.
2013-02-09 19:38:42 +00:00
Howard Chu
9ac070beb3
Merge remote-tracking branch 'origin/mdb.master'
2013-02-07 18:30:58 +00:00
Howard Chu
853b9d1335
ITS#6365 wait for read locks in tool mode
...
Fix commit e5b96f2c76
2013-02-07 18:23:25 +00:00
Hallvard Furuseth
65c053a6e7
ITS#7512 Fix MDB page leak when malloc error.
...
mdb_page_alloc(): Delay moving me_pgfirst,me_pglast
until malloc(MDB_oldpages to hold the IDs) succeeds.
2013-02-07 08:17:30 +01:00
Ted C. Cheng
1c99711ede
ITS#7518 1. Sync'ed up with nss-pam-ldapd 0.8.11 * added nssov_config support * added password_prohibit_message, similar to PADL * self-password-changes are made as user identities; root changing user passwords as nssov-pam-pwdmgr-dn 2. Fixed a bug that connection DN was not constructed correctly 3. Fixed a service crash issue when protocol value is NULL 4. Added more debugging msgs. 4. added rights info
2013-02-05 15:55:54 -08:00
Howard Chu
e0eb495fb3
Revert "ITS#7515 fix mdb_dbi_open/close"
...
This reverts commit 48dc782ea6
.
2013-02-04 10:53:17 -08:00
Howard Chu
33c98df18e
More explicit logging if mdb_txn_commit fails
...
Change LDAP_DEBUG_TRACE to LDAP_DEBUG_ANY.
Add log msg if it wasn't being logged before.
2013-02-02 05:31:39 -08:00
Howard Chu
744e311939
NULL key is allowed for MDB_CURRENT
2013-02-01 06:19:23 -08:00
Howard Chu
48dc782ea6
ITS#7515 fix mdb_dbi_open/close
...
If a DBI handle is opened by a txn that aborts, the DBI handle
should no longer be valid.
2013-01-31 20:05:48 -08:00
Quanah Gibson-Mount
bc4e47a5a4
Merge remote branch 'origin/mdb.master'
2013-01-31 16:46:55 -08:00
Ralf Haferkamp
de4de15a3f
Add some simple checks for certificate directories/files
2013-01-31 14:32:20 +01:00
Howard Chu
a8352c03b3
ITS#7473 fix b1a6f6980f
...
uninit'd size in dn2id_walk, bogus pagedresults
2013-01-29 17:15:09 -08:00