Commit Graph

2511 Commits

Author SHA1 Message Date
Hallvard Furuseth
ef00ee6095 mdbx: backport - Doxygen fixes. Use DISTRIBUTE_GROUP_DOC.
- DISTRIBUTE_GROUP_DOC makes doxygen give several fields the
  same doc: mn_hi + mn_lo in MDB_node.
- Don't hide a doxygen #name inside double quotes.

Change-Id: I173ff54a78349344d38e175cf9de741efab29e82
2016-12-23 04:45:52 +03:00
Leo Yuriev
ef375647c7 mdbx: fix mdbx_replace().
Always return `old_data`, even no changes.
2016-12-22 21:50:06 +03:00
Leo Yuriev
9b38d8d422 mdbx: adds mdbx_replace() for libfpta. 2016-12-22 16:28:57 +03:00
Leo Yuriev
91bb3ab9fa mdbx: mdb_chk - cosmetics (no extra \n). 2016-12-21 20:31:46 +03:00
Leo Yuriev
7e68254051 mdbx: mdb_chk - don't close dbi-handles, set_maxdbs() instead. 2016-12-21 20:30:33 +03:00
Leo Yuriev
92e8d32c7f mdbx: Merge branch 'devel'. 2016-12-20 09:00:33 +03:00
Leo Yuriev
a866d8b6c2 mdbx: Merge branch 'devel' into 'pt' branch. 2016-12-20 08:51:07 +03:00
Leo Yuriev
efcf60dfaa mdbx: fix MDB_GET_CURRENT for dupsort's subcursor. 2016-12-18 20:16:55 +03:00
Leo Yuriev
578fe9e258 mdbx: allows zero-length keys for libfpta. 2016-12-18 00:58:26 +03:00
Lorenz Bauer
b950e39c10 mdbx: backport - mdb_env_copyfd2(): Don't abort on SIGPIPE (ITS#8504).
Return EPIPE instead.
Never clear mc_error, we could lose a failure in the other thread.

Change-Id: Ief08803ed56293309f07be116e69123c10907e77
2016-12-16 08:27:52 +03:00
Hallvard Furuseth
70a138472b mdbx: backport - Mention MDB_PREV_MULTIPLE along with MDB_NEXT_MULTIPLE.
Change-Id: I0c216203c3aa2005ef254293c1c472c9b7f257f3
2016-12-16 08:08:25 +03:00
Leo Yuriev
2956095c6d mdbx: rework MDB_CURRENT handling for libfpta. 2016-12-15 22:06:06 +03:00
Leo Yuriev
b4dc91d276 mdbx: Merge branch 'devel' into 'pt' branch. 2016-12-15 22:05:45 +03:00
Leo Yuriev
5865c74876 mdbx: rework overwrite support for mdbx_put(). 2016-12-15 22:03:33 +03:00
Leo Yuriev
cbff647579 mdbx: fix ov-pages copying in cursor_put().
I think I just lost one line of code.
This bug was added by 09d7904317
2016-12-15 20:09:28 +03:00
Hallvard Furuseth
3627145129 mdbx: backport - catch mdb_cursor_sibling() error (ITS#7377).
Change-Id: I440ff1f9f92156e19935195d656f4d77b088f605
2016-12-11 08:43:13 +03:00
Hallvard Furuseth
fca2f4d929 mdbx: backport - clean up and comment C_UNTRACK.
Don't use it as a "cursor is tracked" hint in mdb_pages_xkeep().
It's been harmless so far, but would break after mdb_cursor_copy().
Checking m0 directly short-circuits better anyway.

Change-Id: Ibf180214db603e08ed11e298cff85866eb79f4bb
2016-12-11 08:31:50 +03:00
Hallvard Furuseth
fe4e9993d6 mdbx: backport - Pass cursor to mdb_page_get(), mdb_node_read().
No change in behavior.

Change-Id: I19054cfd96fa883970a0dc66a0088596a142ea07
2016-12-10 20:41:48 +03:00
Hallvard Furuseth
ca97abb7f3 mdbx: backport - mdb_dbi_open(): Protect mainDB cursors (ITS#8542).
Change-Id: I5bdd3727eddc16a518c4b88534a3e7253e9789fd
2016-12-10 16:21:22 +03:00
Hallvard Furuseth
7b773e6f2d mdbx: backport - Cleanup: Add flag DB_DUPDATA, drop DB_DIRTY hack.
Change-Id: I5d30367104d025c1d2f8c39d29455faca59d7f19
2016-12-10 16:18:26 +03:00
Hallvard Furuseth
b33fe4a3f0 mdbx: backport - note about reserved vs. actual mem/disk usage.
Change-Id: Ibd75bdafac646f4a577c7cbebda8173e5b7e5ef1
2016-12-10 15:57:00 +03:00
Leo Yuriev
c4f4d9ebf3 mdbx: rethink mdbx_cursor_eof() for libfpta. 2016-12-08 16:33:50 +03:00
Hallvard Furuseth
207f43003c mdbx: backport (comments) - MDB_CP_COMPACT comments.
Change-Id: I4965d5e511395fceafcd922f513dcf0d5050c9b8
2016-12-08 00:55:28 +03:00
Hallvard Furuseth
baf61da42b mdbx: backport (minor) - doxygen cleanup.
Change-Id: Ide60614f4fc631aa2bfba3609115f39ec294b3de
2016-12-08 00:55:11 +03:00
Hallvard Furuseth
ba688e63dc mdbx: backport (comments) - Note functions which must set MDB_TXN_ERROR on failure.
Other functions depend on them to do so.
For mdb_node_read(), instead remove such a dependence.

Change-Id: I49c1c8bbb1c20527cbf76ef004cb7a1300ef465c
2016-12-08 00:54:30 +03:00
Leo Yuriev
9775b409bc mdbx: Merge branch 'devel' into 'pt' branch. 2016-12-06 21:20:23 +03:00
Leo Yuriev
b980878b07 mdbx: adds mdbx_cursor_eof() for libfpta. 2016-12-06 20:32:24 +03:00
Leo Yuriev
f9f132671c mdbx: explicit overwrite support for mdbx_put(). 2016-12-06 20:08:08 +03:00
Leo Yuriev
2fb5a54264 mdbx: minor simplify mc_signature.
Change-Id: Ib3952853350d220dd62910bcd55ac74cf5f47886
2016-12-03 17:39:26 +03:00
Hallvard Furuseth
2196a9b72c mdbx: backport - factor out refreshing sub-page pointers.
Change-Id: If2d3efde19ff751da208959f6f2834ece1f64e56
2016-12-03 13:50:09 +03:00
Howard Chu
533ad276bb mdbx: backport - more for cursor tracking after deletion (ITS#8406).
xcursor fixup depends on init state

Change-Id: I13139c401e2ae6bbe3d7e6b9fda3739f9ec789cf
2016-11-30 00:14:32 +03:00
Leo Yuriev
e381191c0f mdbx: fix typo.
Change-Id: I46344bf13a71b04b32d84bf0e0bc0a34ae6ef162
2016-11-27 12:56:27 +03:00
Leo Yuriev
dac4534cb7 mdbx: Merge branch 'master' into 'nexenta'. 2016-11-27 12:46:58 +03:00
Leo Yuriev
b7cb7d6046 mdbx: Merge branch 'devel'. 2016-11-27 12:18:53 +03:00
Leo Yuriev
787aeea162 mdbx: Merge branch 'devel' into 'pt' branch.
Change-Id: Ieac23894deaffdc5e5e5110471f0491e0605c7d8
2016-11-27 11:11:34 +03:00
Leo Yuriev
7ea16c1daf mdbx: fix build mtest1.
Change-Id: I8d206bb45ee4b99b1e12b32897c5b5b31c4df760
2016-11-27 11:08:55 +03:00
Leo Yuriev
ff70f5feb0 mdbx: avoid large '.data' section in mdbx_chk.
Initializes walk-array in runtime, for placing it
in the '.bss' section instead of '.data'.

Change-Id: I5bd1d9cabd2094f8ae517d91488840ce12844bfa
2016-11-27 11:08:55 +03:00
Leo Yuriev
ae61e9ebdf mdbx: distinct signature of internal objects for LMDB/MDBX modes. 2016-11-27 11:08:53 +03:00
Leo Yuriev
17c6555a7f mdbx: add 'canary' support for libfpta.
Change-Id: I62c68f149adf38d65aa9371a1fb3adac405d23ed
2016-11-27 03:46:22 +03:00
Leo Yuriev
aa4fd0ec76 mdbx: more isolation MDBX/LMDB API. 2016-11-22 13:08:59 +03:00
Leo Yuriev
dbacbafa2d mdbx: Merge branch 'master' into 'nexenta' branch. 2016-11-21 19:32:51 +03:00
Leo Yuriev
a5b8b83170 mdbx: Merge branch 'devel'. 2016-11-21 18:55:01 +03:00
Leo Yuriev
36b1ad02fb mdbx: fix MDB_CORRUPTED while walk/checking empty sub-db.
This fixes https://github.com/ReOpen/libmdbx/issues/4
2016-11-21 18:42:19 +03:00
Leo Yuriev
55b832977b mdbx: Merge branch 'master' into 'nexenta' branch.
Change-Id: I84d5f511bacf0753c5fabec5b32c23520825ad3c
2016-11-13 13:10:07 +03:00
Leo Yuriev
a26a38be2d mdbx: Merge branch 'devel'.
Change-Id: I96fc12a4b3e7191a19aa7620ca4d36cf192ff15c
2016-11-13 13:06:43 +03:00
Howard Chu
b7502306c1 mdbx: backport - More for ITS#8406.
Revert excess cursor fixup

Change-Id: Ic1863feda49e793dd8890a77bd9bf223d1320826
2016-11-13 13:04:57 +03:00
Leo Yuriev
a15ebc9923 mdbx: Merge branch 'master' into 'nexenta'. 2016-10-27 18:54:37 +03:00
Leo Yuriev
14f49fd278 mdbx: Merge branch 'devel'.
Change-Id: I8d1e96b04421b0c0e4374980027e218fe4f646d7
2016-10-25 11:19:52 +03:00
Hallvard Furuseth
23389c8f6e mdbx: backport - ITS#8505 Clarify fork() caveat, mdb_env_get_fd(), flock->fcntl.
Change-Id: I987c4790e3ac590030c847a1f2f9b24048ce136a
2016-10-25 09:12:38 +03:00
Leo Yuriev
38d57e66c6 mdbx: use O_CLOEXEC/FD_CLOEXEC for me_fd,env_copy as well (ITS#8505).
Change-Id: I1db158f1371e557a78fc11fc0ca9e371d1590067
2016-10-25 09:12:11 +03:00