Commits

David Wilson authored 91e0fc00d29
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