LMDB_0.9.9 @ git://gitorious.org/mdb/mdb.git

All fixes since 0.9.8..

ITS#7725 add MDB_NORDAHEAD flag for env_open
ITS#7589 silence warnings
ITS#7589 Fix typo in prev commit
ITS#7589 Cleanup unneeded vars in prev patch
ITS#7589 avoid wasting space in mdb_page_split
ITS#7722 fix page_merge for collapsing root
ITS#7718 invalidate cursor when DB gets emptied
ITS#7715 always set filesize for WRITEMAP
ITS#7515 Fix mdb_page_unspill() in nested txn.
ITS#7515 Fix mdb_txn_commit(nested txn with spills).
ITS#7515 Fix mt_dirty_room in nested txns.
ITS#7515 mdb_pages_xkeep(): Careful about xcursors.
ITS#7682 mdb_env_copy(): Avoid Linux O_DIRECT bug.
ITS#7681 fix 18a07eb7c2dc33372455a6040984cd6b699b41a5
ITS#7701 fix mdb_rebalance
ITS#7682 In mdb_env_copy retry open if O_DIRECT fails
ITS#7681 fix mdb_cursor_set behaviour for MDB_SET_RANGE
ITS#7672 fix mdb_dbi_flags
ITS#7671 always return the key for a dup val
ITS#7670 Tweak cursor_del0
ITS#7664 better fix
ITS#7664 delete lockfile if there is no environment
ITS#7656 fix install target
ITS#7660 Add mdb_txn_env to API
ITS#7661 mdb_dbi_flags(): Allow main DBI
ITS#7652 fix I/O error checks
ITS#7615 use shorter names for semaphores
ITS#7515 Reject conflicting page versions.
ITS#7515 Fix tracking of parent txn's cursors.
ITS#7635 simplify 9474c1a0b62cad57b62855d09a201670385caa80
ITS#7635 fix read txn potential data race
ITS#7620: Keep empty IDLs. Tweak mdb_page_alloc().
ITS#7623 Clear P_SUBP on conversion from fake page
ITS#7515 Nested MDB txns: Inherit txn flags.
ITS#7594 Fix MDB cursor tracking with subDBs.
ITS#7594 Invalidate a dropped MDB DB's cursors.
ITS#7594 more for subDB cursor fix
ITS#7594 better fix
ITS#7594 De-init other subcursors in page_touch
ITS#7598 Tweak MDB_<NEXT/PREV>_NODUP,fix mdb_stat.
ITS#7598 mdb_dbi_open(named DB): Check mainDB flags.
ITS#7515 Fix nested txn touch of subpage/ovpage.
ITS#7589 mdb_cursor_put(): Update ovpage nodesize.
ITS#7515 Fix nested transaction error handling.
ITS#7574 blind fix
ITS#7570 fix MDB_GET_MULTIPLE and MDB_NEXT_MULTIPLE
ITS#7561 Fix mdb_drop bugs
ITS#7556 fix cursor_sibling for PREV
ITS#7553 better fix
ITS#7553 deinit cursor after deleting last node
ITS#7538 fallout from ITS#7536 fix.
ITS#7377 Fix c0f3d9b9a8864e744a8d1eaffc99bc86026d5351
ITS#7536 fix mdb_rebalance
ITS#7515 Fix mdb_txn_commit(nested txn).
ITS#7512 Plug mdb_txn_abort(nested txn) page leaks.
ITS#7515 mdb_dbi_open(): Also open in parent txns.
ITS#7517 Document that dirty DBs may not be closed
ITS#7485 Document key/data size limits in lmdb.h.
ITS#7515 update parent's mt_next_pgno on child commit
ITS#7515 Fix MDB parent/child txn interaction.
ITS#7377 Catch MDB failure updating root pointers.
ITS#7517 Don't save dropped dirty MDB databases.
ITS#7455 Save freelist in single-page chunks
ITS#7512 Fix MDB page leak when malloc error.
ITS#7515 fix mdb_dbi_open/close
ITS#7511 make sure cursor is marked valid after successful put
ITS#7505 fix prev commit, partial revert
ITS#7505 Fix mdb_update_key when key is too big
ITS#7485 data sizes limited to 32 bits
ITS#7485 more size checks
ITS#7485 check maxkeysize in mdb_cursor_put
ITS#7491 check for filled dirty page list
ITS#7455 don't give up so soon
ITS#7455 simplify
ITS#7467 add verbose freelist info
ITS#7465 fail if both -a and -s specified
ITS#7455 use freelist for overflow pages
ITS#7453 Fix reset of MDB_NOSYNC/MDB_NOMETASYNC.
ITS#7432 fix typo in mdb_midl_sort
ITS#7377 Errorcheck Windows calls and thread keys.
ITS#7377 Wrap fcntl F_SETLK in EINTR loop too.
ITS#7377 Catch ftruncate() error
ITS#7377 Document caveats/troubeshooting.
ITS#7385, check further for bad splits
ITS#7394 ignore WRITEMAP if RDONLY
ITS#7377 Catch MDB user errors.
ITS#7377 Catch MDB setup errors and clean up.
ITS#7364 Limit mdb lock upgrade before sem_unlink.
ITS#7364 Always sem_unlink() in mdb_env_open().
ITS#7377 Wrap sem_wait & file locks in EINTR loops
ITS#7363 Preprocessor namespace cleanup.
ITS#7383 More explicit error codes
ITS#7385 fix mdb_page_split (again)
ITS#7369 mdb_stat: cleanup in case something went wrong.
ITS#7369 abort txn before exiting
ITS#7364 also close the mutexes as needed
ITS#7364 Remove POSIX semaphores when the last user closes the mdb environment.
ITS#7363 Use posix semaphores on apple and bsd systems.
ITS#7266 fix rebalance for LEAF2 pages
ITS#7251 fix Apple/Windows shared mutex naming
ITS#7229 more mdb_page_split tweaks
ITS#7210 fix check for freelist changes
ITS#7238 doc clarification
ITS#7229 additional tweaks
ITS#7230 check and strip 0 length IDLs from freelist
ITS#7229 more mdb_page_split fixes
ITS#7219 fixup keysize in previous commit
ITS#7219 fix for odd-aligned keys in mdb_update_key()
ITS#7210 fix leak of overflow pages in freelist
ITS#7210 additional freelist fixes
ITS#7210 partial fix
ITS#7213 fix page_split with MDB_APPEND
ITS#7191 Align dirty MDB pages on the stack
ITS#7191 more alignment tweaks
ITS#7190 fix merging of branch pages in deletes
ITS#7191 Fix mdb_xcursor_init1() unaligned access
ITS#7196 use IOV_MAX if it's defined and small
ITS#7160 get BYTE_ORDER def for HPUX (and Solaris)
ITS#7121 fix page splits when newindx == 0
ITS#7126 fix cursor tracking code
ITS#7121 fix page splits when data+key size is too large