Commit Graph

144 Commits

Author SHA1 Message Date
Leonid Yuriev
fc41cd64d1 mdbx: add MDBX_CONFIG_MANUAL_TLS_CALLBACK.
Change-Id: I3ed60348f532cc9206f9ec0e7c1d3428b4f037a2
2018-06-20 13:47:14 +03:00
Leo Yuriev
9db090087e mdbx: reformat by clang-format 6.0 (cosmetic). 2018-06-18 21:29:12 +03:00
Leo Yuriev
a2ec7f2be1 mdbx: add mdbx_txn_flags(). 2018-03-19 18:08:45 +03:00
Leo Yuriev
c05d179035 mdbx: temporary workaround for Elbrus's libc bug.
https://bugs.mcst.ru/bugzilla/show_bug.cgi?id=2820
2018-03-19 15:05:56 +03:00
Leo Yuriev
62f36ea499 mdbx: bump version to 0.1
Change-Id: I31cdcd598c532d1dd96a4aea961495c838ce0b81
2018-03-07 12:25:35 +03:00
Leo Yuriev
a93fafceff mdbx: strip utf8-bom for Elbrus (minor).
Change-Id: I9030abe267c4abfa2c5c2deb439c0b8025b83047
2018-03-07 12:09:43 +03:00
Leo Yuriev
260c1d71dd mdbx: add self_latter_reader_txnid into MDBX_envinfo.
Change-Id: I17ac6e921f99df6ed61096ff0fbfbacf5a7e4608
2018-02-04 17:13:27 +03:00
Leo Yuriev
72557af2b5 mdbx: HNY!
Change-Id: I2a91b986964d96bb3e5f848e3c17408bd7745866
2018-02-04 13:10:54 +03:00
Leo Yuriev
6a0ff097ee mdbx: immediately share dbi-handles for present TBLs (major).
Change-Id: I75c998e06b3ccc25bd22ef389d119052d524d70b
2018-02-04 12:59:47 +03:00
Leo Yuriev
3e9308eb0e mdbx: check for running write-txn inside mdbx_env_close(). 2017-12-19 16:38:21 +03:00
Leo Yuriev
b1c7fa30c0 mdbx: fix MDBX_BUSY comment/description (typo). 2017-12-19 16:37:20 +03:00
Leo Yuriev
17b8e48bf4 mdbx: cleanup after last pull-request.
Cleanup after 4e40af60e7 (Merge pull request #20 from rouzier/feature/txn_try).
2017-10-26 21:49:38 +03:00
James Rouzier
7c466e53f0 Add the ability to not block when opening a write transaction 2017-10-25 19:41:28 -04:00
Leo Yuriev
86a15f4ef1 mdbx: IMPENDING CHANGES WARNING.
Change-Id: I2ea6ec8adb14f60794db7872a6fce4e72774d1c3
2017-09-17 15:33:21 +03:00
Leo Yuriev
f518c48dfe mdbx: add Acknowledgements.
Change-Id: I085c66fb11f3ad107d8c3577fcfad38833e60340
2017-09-17 15:07:32 +03:00
Leo Yuriev
876faab1d8 mdbx: fix mode_t typedef.
Fix https://github.com/leo-yuriev/libmdbx/issues/15

Change-Id: I32bb6b0fbc710c3706a66b398711c29cb6b9a241
2017-08-16 11:19:25 +03:00
Leo Yuriev
0f37ae56d8 mdbx: minor cleanup version-info.
Change-Id: I1c208af0264ed6254d942b29b9e0fc25a745f4e0
2017-07-27 18:10:07 +03:00
Leonid Yuriev
092156ee4f mdbx: fix/redefine ssize_t, PRI*PTR nad PRI*size macros for MSVC.
Change-Id: I6cb565087350cf1d1e1735bff1c5480c3d4c02db
2017-07-26 19:17:11 +03:00
Leo Yuriev
17e8429a29 mdbx: rework mmap-functions for osal.
- add 'length' and 'current' fields to mmap-object;
 - drop mdbx_mremap();
 - do remap on-demand inside mdbx_mresize();
 - add mdbx_mapresize() which re-creates Valgrind's region.
 - call resize on txn-begin.

Change-Id: I82780f92c4947804e3f14fb7cb71ee655382f9bb
2017-07-19 14:13:31 +03:00
Leo Yuriev
0167694457 mdbx: building mdbx-tools for Windows.
Change-Id: I9019c4382b7108ec7c442d2b0d4be044a3cb136a
2017-07-12 02:20:47 +03:00
Leo Yuriev
aec35300c4 mdbx: fix new API function after the merge.
Change-Id: Ic929444ceb137ccaa2ab4fe82b4f93a3cb5a92aa
2017-07-04 10:46:46 +03:00
Leo Yuriev
b34e92d308 mdbx: cleanup/reformat after the merge.
Change-Id: I3e0fe8f1292a6387e8d3ff8b904170f05d8e1770
2017-07-04 10:35:32 +03:00
Leo Yuriev
594834bc9c mdbx: Merge branch 'nexenta' into devel.
Change-Id: I7a00f98e088f21ebc91a3861309b697f01e1fa66
2017-07-04 09:22:09 +03:00
Leo Yuriev
3c5ae4cc9c mdbx: disable C4548 as workaround for buggy WinSDK 10.0.10240.0 2017-07-03 12:50:48 +03:00
Leo Yuriev
9a2fff91f3 mdbx: dynamic mapsize/geometry and API (mostly done).
Change-Id: Ifb768ff3207cae1755c53c211a3ae552c6455e12
2017-06-21 01:42:41 +03:00
Leo Yuriev
71e2fe3df0 mdbx: add MDBX_DBG_DUMP for mdbx_setup_debug().
So, meta-pages and lck-section now will be included into a coredump.
2017-06-15 13:45:16 +03:00
Leo Yuriev
2392c70e2b mdbx: refine MDBX_oom_func description. 2017-06-15 05:09:36 +03:00
Leo Yuriev
6f53dd0719 mdbx: add mdbx_dbi_flags_ex(). 2017-06-09 16:44:34 +03:00
Leo Yuriev
204904df7c mdbx: disallow begin txn if env not yet opened. 2017-06-06 20:28:00 +03:00
Leo Yuriev
465459dc58 mdbx: add MDBX_txn.mt_owner and MDBX_THREAD_MISMATCH. 2017-06-06 17:11:29 +03:00
Leonid Yuriev
bfa6dea784 mdbx: fix size_t/unsigned/int warnings.
Change-Id: Ic5a8684aed232b8b732d6e7a87a6757f3f7afcec
2017-06-06 04:15:08 +03:00
Leonid Yuriev
7e85ad82f1 mdbx: refine read_header(), add MDBX_TOO_LARGE.
Change-Id: I25b9bb2e3817993d627b2b784dfa496d9ba7e7b0
2017-06-06 04:15:08 +03:00
Leonid Yuriev
e7ee0bc762 mdbx: refine testing-jitter, add MDBX_DBG_JITTER.
Change-Id: Ibc3bd8a16626e97aabc2cc544a3803f2e2bc3a10
2017-06-06 04:15:08 +03:00
Leo Yuriev
70fe982c3a mdbx: fix MDBX_WANNA_RECOVERY description. 2017-05-29 19:38:43 +03:00
Leo Yuriev
77f0e5e38e mdbx: drop unused debug features. 2017-05-28 17:06:04 +03:00
Leo Yuriev
9eeb00f448 mdbx: trinity of meta-pages. 2017-05-28 17:02:19 +03:00
Leo Yuriev
96de36baef mdbx: refine mdbx_cursor_count() API. 2017-05-25 16:21:29 +03:00
Leo Yuriev
924e81ed92 mdbx: refine includes, drop midl.h and mdbx_osal.h 2017-05-24 17:05:59 +03:00
Leo Yuriev
06de7a5155 mdbx: rename the rest MDBX_xyz. 2017-05-24 02:24:38 +03:00
Leo Yuriev
62ebc59330 mdbx: rework version info (stub for now). 2017-05-24 02:17:10 +03:00
Leo Yuriev
2c43997026 mdbx: change mdbx_env_set_oomfunc() API. 2017-05-23 22:18:21 +03:00
Leo Yuriev
8c18622592 mdbx: rework MDBX_val. 2017-05-23 22:18:21 +03:00
Leo Yuriev
ac8e987346 mdbx: rework MDBX_txn. 2017-05-23 22:18:21 +03:00
Leo Yuriev
277bdfb4c4 mdbx: cleanup formatting for mdbx.h 2017-05-23 17:45:58 +03:00
Leo Yuriev
398b839b98 mdbx: drops old/obsolete API (mdbx_env_copy and mdbx_env_copydf). 2017-05-23 17:45:58 +03:00
Leo Yuriev
994481e4f4 mdbx: replace size_t with uint64_t/uint32_t in API. 2017-05-23 17:45:58 +03:00
Leo Yuriev
d0793a1daf mdbx: fix MDB_DUPSORT with MDB_CURRENT update bug. 2017-05-22 15:35:33 +03:00
Leo Yuriev
82d3595b76 mdbx: add MDBX_EKEYMISMATCH. 2017-05-22 15:35:33 +03:00
Leo Yuriev
818e742c58 mdbx: cleanup mdbx_env_create(). 2017-05-18 16:17:24 +03:00
Leo Yuriev
4481555c90 mdbx: refine mdbx_dkey() API. 2017-05-18 16:02:29 +03:00
Leo Yuriev
00be62e235 mdbx: cleanup formating. 2017-05-18 15:57:06 +03:00
Leo Yuriev
677625ead1 mdbx: add MDBX_WANNA_RECOVERY. 2017-05-18 04:31:54 +03:00
Leo Yuriev
ed46246931 mdbx: rework mdbx_dbi_open(). 2017-05-16 00:50:12 +03:00
Leo Yuriev
533e01cc93 mdbx: change mdbx_dbi_close() API. 2017-05-11 10:08:22 +03:00
Leo Yuriev
7ec571c9a0 mdbx: partial cleanup/reformat comments.
Change-Id: Ia96a5b307dc065b4d1920234c3cce93a0e585876
2017-04-27 01:36:31 +03:00
Leo Yuriev
e98a1e5319 mdbx: move MDBX_LOCK_SUFFIX to API defs. 2017-04-24 17:52:56 +03:00
Leo Yuriev
2e54210e79 mdbx: add mdbx_osal.h with platform-like err codes. 2017-04-24 16:15:01 +03:00
Leo Yuriev
1bddc9dcbc mdbx: change mdbx_canary_get() API.
Change-Id: Ie8831d8acb7113916b8a44b870596a9bf1ccc8b2
2017-04-23 19:16:22 +03:00
Leo Yuriev
1b490fda24 mdbx: add mdbx_dbi_sequence(). 2017-04-17 21:38:33 +03:00
Leo Yuriev
dfc3020426 mdbx: fix mdbx_canary_put(). 2017-04-17 21:38:25 +03:00
Leo Yuriev
a3644aa6d0 mdbx: new testset (initial, stub).
Initial stub for https://github.com/ReOpen/libmdbx/issues/8
2017-04-10 23:20:22 +03:00
Leo Yuriev
ab4597cedc mdbx: add MDBX_MAXDATASIZE. 2017-03-31 17:59:45 +03:00
Leo Yuriev
a2593625cc mdbx: add mdbx_get_maxkeysize(). 2017-03-31 17:59:45 +03:00
Leo Yuriev
5c5ef256b3 mdbx: change mdbx_dkey(). 2017-03-31 17:04:45 +03:00
Leo Yuriev
f8eb858ef3 mdbx: drop MDB_MAXKEYSIZE. 2017-03-31 17:04:36 +03:00
Leo Yuriev
cb6ac8912f mdbx: now MDBX_MODE_ENABLED always. 2017-03-31 12:46:09 +03:00
Leo Yuriev
7d351f74c4 mdbx: rename mdbx_stat() to mdbx_dbi_stat(). 2017-03-29 18:52:55 +03:00
Leo Yuriev
0f49ed6e53 mdbx: big-bang (initial).
- OS Abstraction Layer;
 - Windows Support.
 - preparation for more changes.

Change-Id: I53772eda9091ba361cbc9a28656190ea0d4c5cee
2017-03-29 00:53:39 +03:00
Leo Yuriev
95e606606a mdbx: subdirs.
Change-Id: Iea70b29ed39f55ee363729300f6ce54127b4e880
2017-03-16 18:04:56 +03:00
Leo Yuriev
f4bf454298 mdbx: refine error-msg. 2017-02-28 19:41:47 +03:00
Leo Yuriev
57dc59ecfb mdbx: add mdbx_strerror_r(). 2017-02-28 16:54:10 +03:00
Leo Yuriev
8fb2523276 mdbx: add MDBX_EBADSIGN. 2017-02-27 21:37:45 +03:00
Leo Yuriev
00ec50cfb3 mdbx: partially remove Doxygen tags. 2017-02-27 20:55:17 +03:00
Leo Yuriev
d2d8403f45 mdbx: drop MDB_rel_func and related. 2017-02-27 20:12:55 +03:00
Leo Yuriev
2dc3e1ee5f mdbx: reformat and some cleanup (1/3 for rebirth). 2017-02-21 23:13:03 +03:00
Leo Yuriev
2b924524ec mdbx: initial mdbx_cursor_on_ first/last(). 2017-02-15 21:09:05 +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
6882d9c104 mdbx: add MDBX_RESULT_FALSE and MDBX_RESULT_TRUE for libfpta. 2017-01-30 20:17:27 +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
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
f8a14d7d54 mdbx: Merge branch 'positive' into 'devel' branch. 2017-01-08 14:27:31 +03:00
Leo Yuriev
ddb3c32258 mdbx: HNY 2017!
Change-Id: Ie80fc1dc407ec45c828aa3b1bdc42933741a863a
2017-01-01 14:56:00 +03:00
Leo Yuriev
9b38d8d422 mdbx: adds mdbx_replace() for libfpta. 2016-12-22 16:28:57 +03:00
Leo Yuriev
b980878b07 mdbx: adds mdbx_cursor_eof() for libfpta. 2016-12-06 20:32:24 +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
43d87b4d97 mdbx: move to the OpenLDAP Public License.
Finally for https://github.com/ReOpen/libmdbx/issues/3
2016-09-27 13:44:23 +03:00
Leo Yuriev
9c5d029417 mdbx: clarify copyright and license.
Change-Id: Ib1b9516ce09497559937f749d520719046c5b7e6
2016-06-09 13:21:20 +03:00
Leo Yuriev
e84b420227 mdbx: minor (cleanup non-ascii).
Change-Id: I46dc4f4fb3c984210d65fa31af65f570a98f4813
2016-05-10 16:47:17 +03:00
Leo Yuriev
c05fb6862d mdbx: mdbx_env_set_syncbytes() only for MDBX-mode.
Change-Id: I7836d4b7b538fc15407122ea40c36a2f8a5ae033
2016-03-12 20:45:16 +03:00
Leo Yuriev
a2db88baf6 mdbx: 2016 Copyright.
Change-Id: I0bc1bab1ddef1faaaad9fae68691f7d8197e697d
2016-02-01 21:06:27 +03:00
Leo Yuriev
68171d5f5d lmdb: provide both interfaces - advanced 'mdbx' and original 'lmdb'. 2015-10-13 23:50:25 +03:00