Commit Graph

360 Commits

Author SHA1 Message Date
Leonid Yuriev
2e0d2e65af mdbx: fix minor typos. 2020-07-07 23:16:43 +03:00
Leonid Yuriev
e989cb05ed mdbx: deprecate mdbx_dbi_open_ex() and custom comparators.
Change-Id: I1d20f77b9ba5d8d5ec891df17019377afb466b06
2020-07-07 19:33:59 +03:00
Leonid Yuriev
fab6ddee14 mdbx: add MDBX_DEPRECATED macro.
Change-Id: I87e14b37a6d152fa1f69f4a74e16244870dedb0f
2020-07-07 19:33:17 +03:00
Leonid Yuriev
fc9ae9ebc6 mdbx: bump version to 0.8.2
Change-Id: I99ace837318d3aef4086392272c8256d966ef2fd
2020-07-06 16:37:35 +03:00
Leonid Yuriev
5dbb0b4cfe mdbx: rename internal flags & fields for clarity.
Change-Id: I79d6d8e88b0b4c30cbb8a464ca17f07dc2ab44c6
2020-07-06 14:35:41 +03:00
Leonid Yuriev
0afc21eed9 mdbx: add mdbx_get_keycmp() & mdbx_get_datacmp().
Change-Id: I11f8a54f7eb21b0bab575c8f6b89081b7eaf1bb8
2020-06-24 17:15:56 +03:00
Leonid Yuriev
428f753c03 mdbx: add key-to-value functions.
Change-Id: Ie0acd8c58833047931444fd9d94d5b82e6d541bb
2020-06-24 17:15:56 +03:00
Leonid Yuriev
0fc2d39cce mdbx: allow mixind with/without MDBX_WRITEMAP for the same database.
Change-Id: I916bb9e9b44a58cf78786e76a8c42d62e0bfc579
2020-06-20 23:55:15 +03:00
Leonid Yuriev
0117473cbc mdbx: bump version to 0.8.x
Change-Id: I6d2a1a3b04341461288e18c66d11e79d343750b0
2020-06-05 03:00:43 +03:00
Leonid Yuriev
f5066996b8 mdbx-doc: clarify mdbx_cursor_put() description.
Fixes https://github.com/erthink/libmdbx/issues/110.

Change-Id: Ieaeae763661d42ac333e2c12cdc141d01e719a54
2020-06-04 13:37:35 +03:00
Leonid Yuriev
44be200e28 mdbx-doc: clarify mdbx_del() and mdbx_cursor_del() description.
Related to https://github.com/erthink/libmdbx/issues/109.

Change-Id: I810597f8a1217db3a16cc7c3de3822218ab7d055
2020-06-04 13:37:30 +03:00
Leonid Yuriev
97b4679ca8 mdbx-doc: clarify MDBX_GET_BOTH_RANGE description.
Related to https://github.com/erthink/libmdbx/issues/109.

Change-Id: Id4026121128699ba8141bed9a7c577ce52635da3
2020-06-04 12:48:20 +03:00
Leonid Yuriev
5cc1cb3f87 mdbx: add mdbx_dbi_dupsort_depthmask().
Change-Id: Ib056663f26baea517d6f2b9d58cd64c643619ef9
2020-05-25 14:53:38 +03:00
Leonid Yuriev
42dd0219e4 mdbx: minor fix/refine comments. 2020-05-15 11:30:35 +03:00
Leonid Yuriev
57d76d1f7a mdbx: checking the order of keys on all pages during the audit (squashed). 2020-05-15 11:29:23 +03:00
Leonid Yuriev
8b2a5a0fc7 mdbx: update MDBX_NOSUBDIR description.
Change-Id: I1d86e2d9147494dff9cf54795416370eafbb53b7
2020-04-30 16:59:52 +03:00
Leonid Yuriev
fac0d47913 mdbx: add MDBX_CP_FORCE_RESIZEABLE option.
Change-Id: I5fcdae7933dbbfbf8629e8a0423545a4f6b9f6b6
2020-04-29 18:57:00 +03:00
Leonid Yuriev
eea1432e80 mdbx: auto-reset running transaction in mdbx_txn_renew().
Change-Id: If93ad13bb5a6dab8dd5fcb80882b5eb83fdf3dad
2020-04-26 03:32:50 +03:00
Leonid Yuriev
3b741a6d5f mdbx: automatically abort errored transaction in mdbx_txn_commit().
Change-Id: I2cfac73c69a8ff46870778f174555724f8363a79
2020-04-26 03:23:04 +03:00
Leonid Yuriev
5765d92ac7 mdbx: return MDBX_EBADSIGN when mdbx_env_close() called concurrently from several threads.
Change-Id: I03a8c87bc51eefc5236baa52cee8b12a9f8aa0e2
2020-04-20 17:00:41 +03:00
Leonid Yuriev
b64e47078f mdbx: add __deprecated MDBX_MAP_RESIZED for compatibility.
Change-Id: I82431409ecaf4a1a85ddc777ae43b086715785d9
2020-04-19 17:33:32 +03:00
Leonid Yuriev
83e303b059 mdbx: alter MDBX_CURSOR_FULL description.
Change-Id: I70d13e7503d10c6050bd17e4dd8bd814e46799af
2020-04-19 17:33:32 +03:00
Leonid Yuriev
1e9cc6b0a5 mdbx: more 'const' for API.
Change-Id: Iedea253733105acc4010e07a65a594f8ea52ce56
2020-04-19 17:33:32 +03:00
Leonid Yuriev
8f5ae79b51 mdbx: bump version to 0.7.x
Change-Id: I6cb06fbd7119eed086b54a9760db1e0edf5de07b
2020-03-18 17:19:12 +03:00
Leonid Yuriev
251d34d6e6 mdbx-doc: more for custom comparators.
Change-Id: I3326c5bdedbbdb01b1865bff68aa7ba8bc7056cc
2020-03-02 13:50:33 +03:00
Leo Yuriev
76e29c21f1 mdbx: merge branch 'devel' (crutches for Wine).
Change-Id: I1779bc6987449e403216584cdd2846e910f34c8a
2020-02-28 19:05:47 +03:00
Leo Yuriev
5072b45026 mdbx: rename MDBX_MAP_RESIZED to MDBX_UNABLE_EXTEND_MAPSIZE.
Change-Id: I22fbdb4f08fd7a6ae37da42e6827677ae8a8337b
2020-02-28 16:40:56 +03:00
Leonid Yuriev
6c76af5181 mdbx-doc: refine prev commit.
Change-Id: I3ec7544eeee5a2ebfa268d667a1724e8251e7e2e
2020-02-25 15:19:49 +03:00
Leonid Yuriev
061d3cc8fd mdbx-doc: clarify ACI for no-sync modes, reformat text.
Change-Id: I56b4f167eb334b4903d121f7cd6f33aa0b612dcd
2020-02-25 15:02:20 +03:00
Leonid Yuriev
2356f3281b mdbx: use underscores for GNU-attributes.
Change-Id: Iefd371dd91da1db8ee86554208536b3004535317
2020-02-17 14:01:11 +03:00
Leonid Yuriev
0714c07e28 mdbx: minor clarify MDBX_EKEYMISMATCH description.
Change-Id: I310feb62bc849e01dc3faf0b93a16b654b53d3bd
2020-02-03 17:07:41 +03:00
Leonid Yuriev
e475db7ade mdbx: add MDBX_DBG_LEGACY_OVERLAP.
Change-Id: I7aecb925b553587efd6698dc3d52682ca98aa950
2020-02-02 15:07:04 +03:00
Leonid Yuriev
01f65bc872 mdbx: more info about "one threat - one transaction".
Change-Id: I070750b081e02113577dac13488d01f9d18e759b
2020-02-02 02:46:41 +03:00
Leonid Yuriev
a594f79e5f mdbx: refine/clarify error messages.
Change-Id: If2a38bdfb4a9fce176acb87fa452709bcfc5c972
2020-02-02 02:46:41 +03:00
Leonid Yuriev
17fe5f106b mdbx: check read/write txn overlapping for the same thread (MDBX_TXN_OVERLAPPING).
Change-Id: If3488df96bd1903d5e4ca0a1fea504075dbd4a20
2020-02-02 02:46:41 +03:00
Leonid Yuriev
db27654330 mdbx: rename MDBX_LAST_LMDB_ERRCODE and fix description.
Change-Id: I9a855871ae8821d0d10472c48b5467fd507c01a5
2020-02-02 02:46:41 +03:00
Leonid Yuriev
08753b46a1 mdbx: cleanup tabs (cosmetics).
Change-Id: If941ea89d844f98f274da4ddfc3f2ae97986eeb7
2020-02-01 20:44:29 +03:00
Leonid Yuriev
898b6ee433 mdbx: fix mdbx_env_copy() argument description.
This resolves https://github.com/leo-yuriev/libmdbx/issues/78

Change-Id: I4d92f3939f617ffd11941793e819a0513649fed8
2020-01-26 15:27:30 +03:00
Leonid Yuriev
2ce9ace4d3 mdbx: documenting and checking key and value alignment for MDBX_INTEGERKEY and MDBX_INTEGERDUP.
This resolves https://github.com/leo-yuriev/libmdbx/issues/79.

Change-Id: I819a6eca3018361e5896d5ccce7e4c0ca57c8b38
2020-01-26 14:54:40 +03:00
Leonid Yuriev
bf28856ac5 mdbx: add key-making functions.
Related to https://github.com/leo-yuriev/libmdbx/issues/76

Change-Id: I1edc8efd323af9adb53e6c2155e2ea39a1e575f4
2020-01-22 03:43:09 +03:00
Leonid Yuriev
700f3514b3 mdbx: bump version to 0.6.x
Change-Id: I925ab0aaefb1a8f9860925c2e8e7c81015428b2e
2020-01-21 00:17:55 +03:00
Leonid Yuriev
7c894f0542 mdbx: HNY!
Change-Id: Idbd21263408f87ac2715675c9f7ccc6c44d41c9a
2020-01-21 00:17:55 +03:00
Leonid Yuriev
f3a95fe26b mdbx: minor refine API description.
Change-Id: If5615ebff66fe6928d24d22e1300fdf59361527d
2020-01-05 00:34:31 +03:00
Leonid Yuriev
0a487d0b9e mdbx: bump version to 0.5
Change-Id: Id2c82b5cbe567cffe193b86ecf13af93e58363c1
2019-12-31 20:59:13 +03:00
Leonid Yuriev
66ca7a519e mdbx: rework MDBX_DBG_DUMP to avoid performance degradation.
Change-Id: I556ae61e03fdf7d6798072bbc2583ae5d01cbf9f
2019-12-17 18:02:13 +03:00
Leonid Yuriev
4eccf901ea mdbx: rename MDBX_NOSYNC to MDBX_SAFE_NOSYNC for clarity.
Change-Id: I1d04600832cb7c86c578d72f3d6163ee22d134b7
2019-12-15 15:17:24 +03:00
Leonid Yuriev
60f4134841 mdbx: disable by-default workaround for obsolete E2K bug.
Change-Id: I9d6aaf0154e3c9f03dab7948575f4792a13dc988
2019-12-08 14:56:56 +03:00
Leonid Yuriev
a8da25c9d4 mdbx: fix minor typo.
Change-Id: I98a60691fe35b1e53e33627ab72203ed05e07e51
2019-12-06 22:07:30 +03:00
Leonid Yuriev
ba935ab8f1 mdbx: bump version to 0.4
Change-Id: I5c034cdc81df246f47e9d86c29ea5f58888a6581
2019-12-02 02:04:43 +03:00
Leonid Yuriev
d83de5bd09 mdbx: deprecate some API.
Change-Id: I0770f5ec89dc0cc71381dea1d420c2a3b506ce7f
2019-11-30 01:29:48 +03:00
Leonid Yuriev
d80654fa07 mdbx: rework max key-length and limit API.
Change-Id: I3d783f69d4ea438d8a8a0505fa9163715fbdcf9c
2019-11-30 01:29:48 +03:00
Leonid Yuriev
497aa53e28 mdbx: fix minor typos.
Change-Id: Ib0c62eace9c766844a3f44124b525a3c6373c620
2019-11-18 00:13:27 +03:00
Leonid Yuriev
d20b9d9ed7 mdbx: move boot-id from LCK to meta.
Change-Id: I7a371feb1a2c43e3606c516fe7b4c7d7a4ff6e73
2019-11-18 00:02:37 +03:00
Leonid Yuriev
dc03299dc6 mdbx: actualize list of supported OS. 2019-11-17 23:57:03 +03:00
Leonid Yuriev
42d9e06598 mdbx: add MDBX_ACCEDE environment opening flag.
Change-Id: If0a08d6fce127f35ff2992988715b7dc1fdb70a9
2019-11-16 00:23:03 +03:00
Leonid Yuriev
5af02290e6 mdbx: portability fixes for SunOS/Solaris/OpenIndiana.
Change-Id: I0442367e798903598d706c65b536a127ca982fce
2019-11-11 15:13:56 +03:00
Leonid Yuriev
bb2d2877c4 mdbx: add auto-readahead note/description.
Change-Id: Ie425416fd1afe9092b73acae4a7e3cdb5c3d8168
2019-11-11 13:10:22 +03:00
Leonid Yuriev
647d832556 mdbx: initial mdbx_check_fs_rdonly() and mdbx_check_fs_local().
Change-Id: Iff48f1ad1ef54c1e51dceebce16097be030206bd
2019-11-08 18:40:29 +03:00
Leonid Yuriev
b7ed67543f mdbx-windows: use CreateFileW() instead of CreateFileA().
Resolves https://github.com/leo-yuriev/libmdbx/issues/66

Change-Id: I0266a8a77460940332045c19cb561553a5047e7c
2019-11-08 18:39:51 +03:00
Leonid Yuriev
55395820e3 mdbx: set MDBX_MIN_PAGESIZE to 256 (useful for testing).
Change-Id: Ie7f0b68ef7b21bb2f02267752555e2d0e853fcbe
2019-11-04 00:22:13 +03:00
Leonid Yuriev
3ee269ddb6 mdbx: support for txnid of the last modification for sub-dbs/kv-spaces.
Change-Id: Ifb6684df57608cda88aa9134b275f442358ff46d
2019-11-04 00:22:09 +03:00
Leonid Yuriev
c694325ab7 mdbx: fix minor warnings.
Change-Id: Iaa614a7d4325d3de6d863c20020c62954da7a1bf
2019-10-25 23:09:23 +03:00
Leonid Yuriev
ed515d4642 mdbx: fix static library build on Windows. 2019-10-24 11:51:25 +03:00
Leonid Yuriev
bb922c208c mdbx: add mdbx_is_readahead_reasonable().
Change-Id: Iac090a9050d6b046b62b2c79cefbc70cc62c9144
2019-10-12 22:38:36 +03:00
Leonid Yuriev
99e9956410 mdbx: make mdbx_env_set_geometry() behavior equal to LMDB (i.e. fixed size).
Change-Id: I26dfcbb03362dde6fbf4b0f59530ddbf4e2b0723
2019-10-11 16:54:55 +03:00
Leonid Yuriev
1573d110f6 mdbx: minor refine mdbx.h
Change-Id: I5fee861582987cc11a648a3365b19c28e493317d
2019-10-09 23:27:16 +03:00
Leonid Yuriev
e1e2e2e935 mdbx: provide additional info via mdbx_env_info_ex().
Change-Id: Icfc751da73f090833800ad5429a9b296b4e34700
2019-10-01 17:09:57 +03:00
Leonid Yuriev
22f6e53520 mdbx: update README and refine API description.
Change-Id: I162eab823df0dbf6528dce74a9b9842fb8b79d1b
2019-09-30 03:07:07 +03:00
Leonid Yuriev
83da954725 mdbx: rework env_sync() for MDBX_NOMETASYNC, add mdbx_env_sync_poll().
Change-Id: I4d212c663853b00e221d17cb8483353231497b48
2019-09-30 00:15:13 +03:00
Leonid Yuriev
91ee841fc2 mdbx: clarify mdbx_env_set_flags().
Change-Id: I45d9af8cbaf9710e78c93d157c70fc2d305f3100
2019-09-30 00:15:13 +03:00
Leonid Yuriev
87f8c01ac4 mdbx: add space argument for oom-callback.
Change-Id: I27634e02046df375fffae66de3124e8cd90cc61c
2019-09-30 00:15:13 +03:00
Leonid Yuriev
86496e4480 mdbx: refine retired-next-reader insode mdbx_txn_info().
Change-Id: Iba57365cc4b7f4f09a0698502bc7aafcb6e67478
2019-09-28 14:41:49 +03:00
Leonid Yuriev
dcd3c497d9 mdbx-windows: rename mdbx_dll_handler() to avoid confusion with callbacks.
Change-Id: I1ee9e9aa46da33f06cf935d3be059f938416efb5
2019-09-28 00:46:16 +03:00
Leonid Yuriev
20447c877d mdbx: refine mdbx.h and API description, etc (5 of 5).
Change-Id: I851736cccb4d0271d6f351e1358cc5c4e1257bb4
2019-09-27 02:28:17 +03:00
Leonid Yuriev
40ee895aae mdbx: refine internal debug facilities.
Change-Id: I934cb8587f07c59268b16a0dd99daeb7ac440e62
2019-09-24 10:07:50 +03:00
Leonid Yuriev
83fbcb660f mdbx: add mdbx_txn_info().
Change-Id: I7bef500c23899874c996694b7cc52a38366730f0
2019-09-21 18:15:43 +03:00
Leonid Yuriev
7c39c16829 mdbx-tools: rework mdbx_reader_list() & mdbx_stat.
Change-Id: I0524cad93ca439e74eba9486cbcbeacf4253dd84
2019-09-19 01:21:35 +03:00
Leonid Yuriev
8fa718c5f9 mdbx: refine mdbx.h and API description, etc (4 of 5).
Change-Id: I36955c54f55facfb31b403f12fe6fd16c789e167
2019-09-18 04:00:57 +03:00
Leonid Yuriev
b19e180fab mdbx: refine mdbx.h and API description, etc (3 of 5).
Change-Id: I05890bdf2e29c6c5a4b1f861f5bfda920e970126
2019-09-16 02:25:06 +03:00
Leonid Yuriev
70929d45fb mdbx: refine mdbx.h for API description, etc (2 of 5).
Change-Id: I280ddbc619304c2a0367e25c8ca85eac5cd73d94
2019-09-13 04:26:35 +03:00
Leonid Yuriev
1d08f9e673 mdbx: refine mdbx.h and error strings (1 of 5).
Change-Id: Iaa6c4afeb9268d916ef1e8e23fdf12b7f603869f
2019-09-12 14:18:10 +03:00
Leonid Yuriev
3ec081c187 mdbx-build: add 'make dist' target.
Change-Id: I72c2ff2f90e9da4664bf542761fe445bb713a67a
2019-09-10 02:28:41 +03:00
Leonid Yuriev
e7095e9ada mdbx: remove UTF8-BOM (preparation for 'make dist').
Change-Id: I2d0ccc9f7bbed6d57b2fe6ef156f33531a4eeb69
2019-09-10 02:18:50 +03:00
Leonid Yuriev
be72cd81dc mdbx: add MDBX_MIN_PAGESIZE & MDBX_MAX_PAGESIZE.
Change-Id: I66ba4b637ed5acabb734bbd380e618e01019ade2
2019-09-10 02:13:33 +03:00
Leonid Yuriev
fc4f5ffa45 mdbx: replace 'impending changes warning' with MithrilDB announce.
Change-Id: I698a5d16ff8769a08a19b34abefa9a888ee9bf82
2019-09-10 02:10:22 +03:00
Leonid Yuriev
449307a69f mdbx-build: sourcery pinning (but cmake requires manually config-files removal for now). 2019-09-09 14:29:05 +03:00
Leonid Yuriev
368b48b41b mdbx-windows: add mdbx_strerror_ANSI2OEM() and mdbx_strerror_r_ANSI2OEM(). 2019-08-30 00:01:38 +03:00
Leonid Yuriev
137d652d77 mdbx: refine attribute-based macros. 2019-08-25 04:37:15 +03:00
Leonid Yuriev
93f82f47bd mdbx: refine setup_debug(), add MDBX_DBG_LEGACY_MULTIOPEN.
Change-Id: I5d144f6fa27b8f5885fa0a0fbd11fe1d44bcc41c
2019-08-25 04:36:28 +03:00
Leonid Yuriev
4ceaf842fe mdbx: add timed auto-sync feature.
Change-Id: Ia9b8529fda321d5f78b306f270d157a78f708916
2019-08-23 13:13:20 +03:00
Leonid Yuriev
68e0076ca3 mdbx: rework auto-sync by volume feature.
Change-Id: I0a34a65a974f28c6f0a950c11d55a43cfcfcab22
2019-08-23 12:05:09 +03:00
Leonid Yuriev
17407c9ecc mdbx: add mdbx_env_info2(txn) and mdbx_env_stat2(txn).
Change-Id: Ifd128185a084c9dc61da140eeeaaf4b6022d3537
2019-08-12 02:55:53 +03:00
Leonid Yuriev
f2c3fcb6a4 mdbx: portability - define MDBX_ENODATA=-1 if ENODATA not available.
Change-Id: I75a072975e3cf07d801ae3782430c0033c271947
2019-07-14 15:08:06 +03:00
Leonid Yuriev
bbf8ef0a4b mdbx-chk: fix space-usage statistics info.
Change-Id: I0cbbbc481f2e6dc37b29f6603ec1ead43b5d1864
2019-06-23 14:07:13 +03:00
Leonid Yuriev
05cf301774 mdbx: bump version to v0.3.0
Change-Id: Ic09361eda834c75d4fdb37dcbe5e8edbf0317f9b
2019-06-22 22:23:25 +03:00
Leonid Yuriev
c05702eacf mdbx: add MDBX_PGWALK-tags and refine pgwalk internals.
Change-Id: I1f4eb79463dc6eec3d94d43baab0b28ceefa8c03
2019-06-19 15:05:10 +03:00
Leonid Yuriev
e26b7501eb mdbx: add MDBX_EPSILON support for mdbx_estimate_range().
Change-Id: I2d89a9f20bfa16c8f35a4381709bc54f86f0ff67
2019-05-25 19:10:38 +03:00
Leonid Yuriev
8ddfd1f34a mdbx: adds functions for distance/move/range estimation (initial).
Change-Id: If59eccf7311123ab6384c4b93f9b1fed5a0a10d1
2019-03-05 02:57:15 +03:00
Leo Yuriev
ac6d423451 mdbx: fix one more comment typo (minor). 2019-02-13 20:23:43 +03:00
Leo Yuriev
9cc9116df3 mdbx: 2019 HNY.
Change-Id: Iec6b7affedef0ea89fad917eb17af7e8201a7482
2019-02-03 12:28:01 +03:00
Leonid Yuriev
5fd05db6ea mdbx: minor fix/refine mdbx_txn_straggler() for r/w-txn.
Change-Id: Id44a1db414de457d74a3e1d9d5c96064a7278080
2019-01-17 23:14:25 +03:00
Leonid Yuriev
777d1db5c9 mdbx-windows: add MDBX_BUILD_DLL and DllMain().
Change-Id: I715f5ea84fe77923eecbc617c4e994e3e5d44605
2018-10-08 02:19:58 +03:00
moneromooo-monero
2689d0a71f mdbx-doc: import - mdb_cursor_del does not invalidate the cursor (ITS#8857). 2018-09-24 19:34:42 +03:00
Howard Chu
d56c9a881e mdbx-doc: import - GET_MULTIPLE etc don't return the key (ITS#8908).
Unnecessary since these are DUPs, the key will always be the same
2018-09-24 19:31:47 +03:00
Leonid Yuriev
68fd9c9908 mdbx: add mdbx_get2() for testing.
Change-Id: Icd0961e464936fa2d24fd3ed87b61de038e955c2
2018-09-17 15:25:45 +03:00
Leo Yuriev
7498286e3a mdbx: verification of in-db stats. 2018-09-13 16:04:28 +03:00
Leo Yuriev
3bc339ef19 mdbx: enumeration for page types. 2018-09-13 16:00:33 +03:00
Leonid Yuriev
ee21afce1e mdbx: fix comments typo.
Change-Id: Ieb8ee5d6d76457efbd54958fe9d894f752880520
2018-09-12 19:51:05 +03:00
Leo Yuriev
c362ad9465 mdbx: fix added limit's API. 2018-08-22 16:19:42 +03:00
Leonid Yuriev
8acc1979bb mdbx: fix mdbx_env_get_maxkeysize() result type (minor).
Change-Id: I8e3a7f8c2b81b5f8ac40801313cbd6f17d2dea64
2018-08-21 22:35:53 +03:00
Leonid Yuriev
a0d10e41b8 mdbx: add mdbx_limits_xyz().
Change-Id: I56c79704c59386a0c4d84b001020484c23925e6c
2018-08-21 22:19:20 +03:00
Leo Yuriev
d90e6187f7 mdbx: support exclusive mode without lck-file.
Change-Id: I1beef09d62965d0d777f579a8aa6f15c478eebd2
2018-06-30 14:15:24 +03:00
Leo Yuriev
b9d3eac12e mdbx: minor refine mdbx_env_copy().
Change-Id: I007add822bc4d30b7a8a838981ada6d2812f669a
2018-06-29 23:54:59 +03:00
Leo Yuriev
31b5f64054 mdbx: bump version to v0.2.0
Change-Id: I113419b685c38f23c35da6790648f7f994a15f29
2018-06-21 17:54:59 +03:00
Leo Yuriev
0dfa9cd09a mdbx: add MDBX_EXCLUSIVE instead of mdbx_env_open_ex().
Change-Id: I3c817d58d971385bcd07643df14beaf7122c7836
2018-06-20 13:52:02 +03:00
Leo Yuriev
09ad941a05 mdbx: Windows XP compatibility.
Change-Id: Iafe3a83110610071e42a168ef9fc5f8d3131854f
2018-06-20 13:47:14 +03:00
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