Commit Graph

21210 Commits

Author SHA1 Message Date
Howard Chu
80d8c56afd ITS#7725 add nordahead envflag 2013-10-12 16:25:33 -07:00
Howard Chu
1d81f01b13 Merge remote-tracking branch 'origin/mdb.master' 2013-10-12 16:21:00 -07:00
Howard Chu
ab9b08f8af ITS#7725 add MDB_NORDAHEAD flag for env_open 2013-10-12 16:20:04 -07:00
Howard Chu
d47524d8f9 ITS#7692 no-op if target entry doesn't exist 2013-10-12 15:35:05 -07:00
Howard Chu
20503000d0 Merge remote-tracking branch 'origin/mdb.master' 2013-10-12 15:26:02 -07:00
Ted C. Cheng
a2e1b9b545 ITS#7699 fixed one dds start-up assertion failure 2013-10-12 15:23:19 -07:00
Howard Chu
5a9ddfd289 ITS#7589 silence warnings 2013-10-12 13:40:28 -07:00
Howard Chu
2211fb15db ITS#7589 Fix typo in prev commit 2013-10-12 13:31:09 -07:00
Howard Chu
400e21370b ITS#7589 Cleanup unneeded vars in prev patch 2013-10-12 13:20:02 -07:00
Howard Chu
310b656a2e ITS#7589 avoid wasting space in mdb_page_split
Also, check the split point on branch pages as well as leaf pages.
2013-10-12 09:34:40 -07:00
Howard Chu
01dfb2083d Add MDB_USE_HASH
There may be other uses for it besides semaphore names.
2013-10-12 09:28:37 -07:00
Stef Walter
5c91989477 ITS#7695 Fix ldapsearch regression with CLDAP
Don't try to parse the result of a CLDAP bind request. Since these are
faked, no message is actually returned.
2013-10-10 10:53:27 -07:00
Howard Chu
d51ee964fc ITS#7694 more for IPv6 CLDAP, slapd fix 2013-10-10 10:48:08 -07:00
Stef Walter
743a9783d5 ITS#7694 Fix use of IPv6 with LDAP_CONNECTIONLESS
LDAP_CONNECTIONLESS code assumed that the size of an peer address
is equal to or smaller than sizeof (struct sockaddr).

Fix to use struct sockaddr_storage instead which is intended for
this purpose. Use getnameinfo() where appropriate so we don't
assume anything about the contents of struct sockaddr
2013-10-10 10:26:28 -07:00
Howard Chu
63314e9c4a ITS#7710 fix typo 2013-10-10 04:04:44 -07:00
Howard Chu
44504848ac ITS#7329 optimize index update for simple add ops
Don't need to reindex all the attr values if there were no deletes.
2013-10-09 07:55:50 -07:00
Howard Chu
c350b51a63 ITS#7710 fix for non-replicated internal ops
Their completion was making slap_graduate_commit_csn() cleanup
their parent op's CSN, thus preventing that CSN from propagating
to any consumers.
2013-10-09 04:58:37 -07:00
Howard Chu
940f5cb373 ITS#7722 fix page_merge for collapsing root
Other cursors being fixed up are not necessarily height 1.
2013-10-09 02:24:45 -07:00
Howard Chu
c82dcab9bd ITS#7720 don't do ptr arithmetic on void *s 2013-10-08 10:40:51 -07:00
Howard Chu
9689f20849 Merge remote-tracking branch 'origin/mdb.master' 2013-10-08 04:51:43 -07:00
Howard Chu
bf0e97aa0e ITS#7718 invalidate cursor when DB gets emptied 2013-10-08 04:43:58 -07:00
Howard Chu
42f5784ecf Merge remote-tracking branch 'origin/mdb.master' 2013-10-04 02:56:44 -07:00
Howard Chu
d327a36ad8 Fix mdb_env_set_mapsize()
Don't allow shrinking below minimum size for an already open env.
2013-10-04 02:55:34 -07:00
Howard Chu
681dbae8f0 Merge remote-tracking branch 'origin/mdb.master' 2013-10-04 02:49:00 -07:00
Howard Chu
2520247ba1 ITS#7715 always set filesize for WRITEMAP 2013-10-04 02:46:38 -07:00
Hallvard Furuseth
9f7ae8925f Add Caveat: Readers need write access. Whitespace. 2013-10-04 00:51:58 +02:00
Hallvard Furuseth
0f9b79e12c Maintain MDB_cursor.mc_top 2013-10-04 00:32:35 +02:00
Hallvard Furuseth
99ea7669a3 mdb_cursor_sibling(): Fix error result 2013-10-03 23:59:25 +02:00
Hallvard Furuseth
8f075595a1 mdb_node_add(): Plug page leak when MDB_PAGE_FULL.
Do not fail after mdb_page_new() succeeds.
2013-10-03 23:59:25 +02:00
Hallvard Furuseth
3a1d73daff Optimize code holding reader mutex 2013-10-03 23:59:24 +02:00
Hallvard Furuseth
3d67838a59 Set MDB_xcursor DB_DIRTY, clear md_name.
Both were unused and md_name was unmaintained -- except
mdb_cursor_touch(xcursor) would abuse md_name as a key to
touch MAIN_DBI if it could somehow get passed ! DB_DIRTY.
2013-10-03 23:59:24 +02:00
Hallvard Furuseth
07dc79a7c3 Set subDB DBI=parent DBI, fix MDB_DUPSORT delete.
xcursor DBIs were parent DBI+1 for debugging. Instead output
-(parent DBI).  Fixes a crash in mdb_cursor_del0()'s xcursor
tracking, it forgot to subtract 1 for C_SUB cursors.
2013-10-03 23:59:24 +02:00
Howard Chu
79eac42c0f s/MDB_NORDLOCK/MDB_NOLOCK/
Leave all lock management to the caller.
2013-10-03 10:26:44 -07:00
Howard Chu
a1685c3ef7 More doc for MDB_NORDLOCK 2013-10-01 23:36:57 -07:00
Howard Chu
f739940547 Add MDB_NORDLOCK to omit all reader table usage
Calling app wants to manage its own locking.
2013-10-01 13:16:38 -07:00
Emily Backes
85003d8a54 ITS#7712 Fix lock ordering in libldap abandon 2013-09-30 15:31:27 -07:00
Hallvard Furuseth
e3f6c152c5 Drop unneeded code.
MDB_txn.mt_toggle: Use (mt_txnid & 1) instead.
Drop error checks which will be repeated.
mdb_cursor_set(): Turn assert into if/return to match the above.
mdb_cursor_del(): 'flags' are now used as bitflags.
2013-09-23 20:21:11 +02:00
Hallvard Furuseth
2980bd30f5 Clean up and simplify mdb_page_search().
Only named DBs can have DB_STALE, and they do not use MDB_PS_MODIFY.
Replace magic key values with flags.  Drop duplicated comments at
mdb_page_search_root() vs. mdb_page_search(), and rephrase.
2013-09-23 20:21:11 +02:00
Hallvard Furuseth
31cfca9316 Tweak MDB_DEBUG output 2013-09-23 20:20:42 +02:00
Hallvard Furuseth
7bdb5be0b5 Rename SWAP() to avoid conflict with sqlightning.
Happened since sqlightning #includes mdb.c, midl.c.
2013-09-23 20:20:05 +02:00
Hallvard Furuseth
52cb8b3417 mdb_page_unspill(): Rename local vars.
The names have caused bugs, "txn" was treated as
the current transaction.
2013-09-23 20:13:27 +02:00
Hallvard Furuseth
8e1d10e828 ITS#7515 Fix mdb_page_unspill() in nested txn.
Malloc a page in this txn, not in a parent.
2013-09-23 20:13:27 +02:00
Hallvard Furuseth
a3b3482854 ITS#7515 Fix mdb_txn_commit(nested txn with spills).
Catch malloc error.
Fix hunt for dirty vs spilled pages: Don't leave x at a deleted pageno.
Cleanup: Factor out variables, squash pages already marked for deletion.
2013-09-23 20:13:27 +02:00
Hallvard Furuseth
bc48a40621 ITS#7515 Fix mt_dirty_room in nested txns.
Fix description & code: Also ignore dirty pages hidden by
spilled pages, as they won't merge into our dirty_list.
Update it in mdb_page_flush() instead of mdb_page_spill().
2013-09-23 20:13:27 +02:00
Hallvard Furuseth
cfe262dce9 ITS#7515 mdb_pages_xkeep(): Careful about xcursors.
Don't prod sub-pages or pages referring to uninitialized xcursors.
2013-09-23 20:13:27 +02:00
Hallvard Furuseth
5b96d68faf mdb_pages_xkeep(): Reformat, use common flag mask 2013-09-23 20:13:27 +02:00
Hallvard Furuseth
5b21307f29 Update MDB documentation and comments. 2013-09-23 20:09:47 +02:00
Hallvard Furuseth
3335b25834 ITS#7682 mdb_env_copy(): Avoid Linux O_DIRECT bug.
Use fcntl() to set the flag.  Linux open(,O_DIRECT...) can create
the file even on failure, if the filesystem lacks O_DIRECT support.
2013-09-23 20:07:29 +02:00
Howard Chu
912e09fd04 ITS#7681 fix 18a07eb7c2
Set rc=0 when taking the SET_RANGE branch
2013-09-21 14:51:01 -07:00
Howard Chu
0144da6eab ITS#7701 fix mdb_rebalance
Must copy tmp cursor back to real cursor when merging into tmp cursor.
2013-09-21 14:37:11 -07:00