Leo Yuriev
4681620e66
mdbx: don't ignore data
arg in mdb_del() for libfpta.
2017-02-02 13:15:16 +03:00
Leo Yuriev
c9b7c0f4d1
mdbx: rework mdbx_replace() for libfpta.
2017-01-31 19:16:16 +03:00
Leo Yuriev
18654ccf22
mdbx: fix MDB_CURRENT for MDB_DUPSORT in mdbx_cursor_put() for libfpta.
2017-01-31 19:16:16 +03:00
Leo Yuriev
d3518bf75b
mdbx: fix LEAF2-pages handling in mdb_cursor_count().
2017-01-31 19:16:16 +03:00
Leo Yuriev
7bf9d381ee
mdbx: minor simplify mdb_del0().
2017-01-31 19:16:16 +03:00
Leo Yuriev
61e1efeb85
mdbx: add mdbx_dbi_open_ex() for libfpta.
2017-01-31 02:52:59 +03:00
Leo Yuriev
e080be1631
mdbx: add mdbx_is_dirty() for libfpta.
2017-01-30 22:03:27 +03:00
Leo Yuriev
55c43291c6
mdbx: undef NDEBUG when MDB_DEBUG != 0.
2017-01-30 20:17:33 +03:00
Leo Yuriev
6882d9c104
mdbx: add MDBX_RESULT_FALSE and MDBX_RESULT_TRUE for libfpta.
2017-01-30 20:17:27 +03:00
Leo Yuriev
ab6cc14480
mdbx: zero-length key is not an error for MDBX.
2017-01-27 19:30:55 +03:00
Leo Yuriev
aacd468c05
mdbx: check __OPTIMIZE__ for __hot/__cold/__flatten.
2017-01-27 19:24:43 +03:00
Leo Yuriev
72de33c8e9
mdbx: use MDB_SET_KEY inside mdbx_replace() for libfpta.
2017-01-27 03:18:59 +03:00
Leo Yuriev
a148bcea70
mdbx: more checks for mdbx_replace().
2017-01-26 23:12:31 +03:00
Leo Yuriev
cc6e1c5119
mdbx: fix MDB_CURRENT for mdb_cursor_put() with MDB_DUPSORT.
2017-01-24 20:51:23 +03:00
Leo Yuriev
6aa60c61c5
mdbx: allows cursors to be free/reuse explicitly, regardless of transaction wr/ro type.
2017-01-24 20:21:51 +03:00
Leo Yuriev
8b045ab626
mdbx: MDBX_EMULTIVAL errcode for libfpta.
2017-01-24 19:10:35 +03:00
Leo Yuriev
688b711e31
mdbx: adds mdbx_get_ex() for libfpta.
2017-01-19 17:11:43 +03:00
Leo Yuriev
c2d58ea480
mdbx: Merge branch 'devel'.
2017-01-18 19:31:39 +03:00
Leo Yuriev
5bb931f7c4
mdbx: fix xflags inside mdb_cursor_put().
...
Fix xflags preparation bug from 2956095c6d
2017-01-18 19:05:48 +03:00
Leo Yuriev
14b466bd2d
mdbx: fix cursor EOF tricks.
...
LY: Don't touch cursor's C_EOF flag in functions
that don't moves the cursor.
HYC: Further fix f8ce8a82717ddefdc912fa47c07f1bdee2a3336b
Fully revert the change to GET_MULTIPLE
Change-Id: Ia8e6dc0af04e5c7b2fd1a2fc9632ccfecc01819a
2017-01-18 17:48:32 +03:00
Leo Yuriev
c4142c9a35
mdbx: refine README.
2017-01-18 16:42:31 +03:00
Leo Yuriev
ad7113419b
mdbx: CHANGES for glibc bugs #21031 and #21032 .
...
Change-Id: I621a68161dc4f47ed30c3557f19e26a4e1db42a1
2017-01-13 00:53:22 +03:00
Leo Yuriev
71ae2aba8d
mdbx: refine mdbx_cursor_eof().
...
Change-Id: I786c5f2eedb273f44fd2ef5065d200f63dfec84b
2017-01-13 00:50:15 +03:00
Howard Chu
460eb64a6f
mdbx: backport - Tweak cursor_next C_EOF check.
...
Squash of relevant commits.
HYC: Allow C_EOF flag to be stale.
LY: Fixed parenthesis arrors.
Change-Id: I5a26498763358a08f98481cacf582c881d59393d
2017-01-13 00:50:15 +03:00
Leo Yuriev
97e1d9b685
mdbx: fix mdb_cursor_last (ITS#8557).
...
This is a port of http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=commit;h=d84dee516fa4cca41b5234e95c2105eb4737dfb3
HYC: Optimize mdb_page_search_root(PS_LAST) when cursor is already
near last position, ignoring C_EOF flag for now.
LY: Fixed C_EOF check. Don't ignore it, otherwise in some cases
we got a "MDB_PAGE_NOTFOUND", instead of just "MDB_NOTFOUND".
Change-Id: I2edbf6b64403abfa830a2fcb84162125634a85d0
2017-01-13 00:50:07 +03:00
Leo Yuriev
bc0d45df09
mdbx: Merge branch 'devel'.
...
Change-Id: I7e5916ef2a9be46aa912d7c3166a372370630b6b
2017-01-09 02:06:11 +03:00
Leo Yuriev
c96cc9c567
mdbx: minor refine README.md
...
Change-Id: I7e2253fc83240b7653eac1690493dcd3ee5ebe97
2017-01-09 02:04:31 +03:00
Leo Yuriev
81861084fc
mdbx: cosmetics for README.md
...
Change-Id: I02eca38563bb26f67a434dfbecaab3d066dd3d6d
2017-01-09 01:39:16 +03:00
Leo Yuriev
17b8feac57
mdbx: adds README.md
...
Initial for https://github.com/ReOpen/libmdbx/issues/2
Change-Id: I8e2afc659a8874405a85456da9904612c5bf8089
2017-01-09 00:40:32 +03:00
Leo Yuriev
488ee06595
mdbx: adds -ffunction-sections for CFLAGS.
...
Change-Id: I38e24e9424b75424ff12e57f3906282338a95989
2017-01-08 21:47:26 +03:00
Leo Yuriev
f8a14d7d54
mdbx: Merge branch 'positive' into 'devel' branch.
2017-01-08 14:27:31 +03:00
Howard Chu
234faf9770
mdbx: backport - ITS#8558 fix mdb_load with escaped plaintext.
...
Change-Id: I8646e876190529812476bac28e244a8eb6202336
2017-01-07 23:36:14 +03:00
Leo Yuriev
1fa026f332
mdbx: adds thread's cleanup test into mtest0.
...
Change-Id: I542425e5df1fb97d15030a681bc0e5173cf3c902
2017-01-07 23:21:53 +03:00
Leo Yuriev
478b7f00d9
mdbx: refine make ci
target.
...
Change-Id: I4b50ded5cf4b03b7a10951e7d7ae2e08fd05d81b
2017-01-07 23:21:53 +03:00
Leo Yuriev
9c02fad4cd
mdbx: support glibc < 2.18 for TLS cleanup on thread termination.
...
One more for https://github.com/ReOpen/ReOpenLDAP/issues/48
against https://sourceware.org/bugzilla/show_bug.cgi?id=21031
and https://sourceware.org/bugzilla/show_bug.cgi?id=21032
It is impossible to completely fix this issue for glibc prior to 2.18,
in such case this fix just minimizes the probability of a crash.
Change-Id: If2317275928e8f6d96c2682df99989da03aedaaa
2017-01-07 21:14:47 +03:00
Leo Yuriev
02de457f3c
mdbx: more rework TLS cleanup on thread termination.
...
One more re-fix https://github.com/ReOpen/ReOpenLDAP/issues/48
Here is only part of the work for glibc >= 2.18
--
Unfortunately, the two bugs related to pthread_key_delete()
are present in all glibc versions:
1) The race condition between pthread_key_delete() and thread's
finalization path, from where a TSD-destructors are called.
Therefore some TSD-destructor(s) could be executed after that
the pthread_key_delete() was competed.
2) ld.so infrastructure does not tracks a TDS-destructors.
Therefore a lib.so could be unloaded while corresponding a
TSD-destructor(s) were even not completed or still were not called.
Change-Id: I47eba97df57fd4c7a5bf3a8f9f12d72ba898cae5
2017-01-06 18:39:03 +03:00
Leonid Yuriev
f42b6a982a
mdbx: enable C99.
2017-01-04 20:09:31 +03:00
Leo Yuriev
ee4d5bb5d2
mdbx: rework TLS cleanup on thread termination.
...
Re-fix https://github.com/ReOpen/ReOpenLDAP/issues/48
Change-Id: Ie47d2ede0f47b382a30ab6a27546f249f56cf4f6
2017-01-04 00:09:50 +03:00
Leo Yuriev
855c60a554
mdbx: remote extra LNs (cosmetics).
...
Change-Id: I3ea352c9d088367756543f8313d6598de3b80bf0
2017-01-03 16:45:23 +03:00
Leo Yuriev
5b160be128
mdbx: assert_fail() when INDXSIZE(key) > nodemax
.
...
Change-Id: I2fadc68a3e682dd3d8b3b8b5f48ed096e9a92288
2017-01-03 16:11:19 +03:00
Leo Yuriev
a23e55f1d9
mdbx: Merge branch 'devel'.
2017-01-01 14:57:06 +03:00
Leo Yuriev
ddb3c32258
mdbx: HNY 2017!
...
Change-Id: Ie80fc1dc407ec45c828aa3b1bdc42933741a863a
2017-01-01 14:56:00 +03:00
Leo Yuriev
1edceae1a1
mdbx: adds travis-ci.
...
Change-Id: Ic7034ae538bcc70ad1584f4aeae857594ceeded1
2016-12-29 00:21:34 +03:00
Leo Yuriev
ec49580a84
mdbx: sync version timestamp with LMDB-0.9.19
...
Change-Id: I4a50b38042ebd57ea2f2fec5b837b16f8a2e3ff3
2016-12-28 23:52:14 +03:00
Leo Yuriev
dbc57d3eaf
mdbx: fix cursor_count() for libfpta.
2016-12-23 15:35:42 +03:00
Leo Yuriev
68cac36832
mdbx: Merge branch 'devel' into 'pt' branch.
2016-12-23 05:03:27 +03:00
Leo Yuriev
598989c6a5
mdbx: Merge branch 'devel'.
2016-12-23 05:02:37 +03:00
Howard Chu
bb7d3b4639
mdbx: backport - More 0.9.19 updates.
...
Change-Id: I4571ba200677124ab41f80a9c0cf37d620d5d230
2016-12-23 05:00:55 +03:00
Hallvard Furuseth
5bed0413f3
mdbx: backport - More MDB_node doc.
...
Change-Id: I2a4d2596af8d2c551d891b567e4d3366b2d6ad8c
2016-12-23 04:47:38 +03:00
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