Leonid Yuriev
17ba1f4d22
mdbx-cmake: fix/refine RPATH for tools.
...
Change-Id: Id97db43475b757f74eb5a5532390e0e65d610df0
2019-09-11 02:09:21 +03:00
Leonid Yuriev
5cfcc0e3c1
mdbx-cmake: add template for build amalgamated source code.
...
Change-Id: Ie0908ab62460eb51f2f050fcce915fe4e64f61ca
2019-09-11 02:09:21 +03:00
Leonid Yuriev
5e9e417cf6
mdbx-install: refine cmake-install, install man-pages.
2019-09-11 00:56:07 +03:00
Leonid Yuriev
acc6969594
mdbx-tools: minor refine mdbx_chk.
...
Change-Id: I71db479944a305f03019d985b91a39cd51ba9981
2019-09-10 19:28:07 +03:00
Leonid Yuriev
aa1c609c28
mdbx: set MIN_TXNID=1.
...
Change-Id: If67d371c0681d7b85886c83b423d1b9c039d18c3
2019-09-10 19:27:46 +03:00
Leonid Yuriev
7433436ec5
mdbx: add man-page for mdbx_chk, refine other.
...
Change-Id: I0c5026f0b753525ec5b21e11957c23bf570fbe0b
2019-09-10 19:01:39 +03:00
Leonid Yuriev
d1d1258591
mdbx-build: made 'config.h' optional.
...
Change-Id: Iafc968cb7000f77cf23169ce07b532386bbce029
2019-09-10 15:52:37 +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
449307a69f
mdbx-build: sourcery pinning (but cmake requires manually config-files removal for now).
2019-09-09 14:29:05 +03:00
Leonid Yuriev
0667f4f211
mdbx-windows: define the dll's entry point only depending on the MDBX_AVOID_CRT option.
2019-09-09 11:32:50 +03:00
Leonid Yuriev
1829a2a5c1
mdbx: workaround for FreeBSD shared mutexes initialization.
...
- pass inprocess_neighbor into mdbx_lck_init().
- don't perform mutexes initialization if LCK already used in the current process.
- don't perform additional in-process mutex initialization if LCK used in any other process(es), except for FreeBSD.
2019-09-04 11:46:03 +03:00
Leonid Yuriev
a45c0d9026
mdbx-posix: minor fix lck_op().
2019-09-04 03:51:18 +03:00
Leonid Yuriev
a55cffaae8
mdbx-osx: ignore fcntl(F_RDADVISE) error (RAM-disk, etc).
2019-09-04 03:09:18 +03:00
Leonid Yuriev
b8ac1daae0
mdbx-tools: print git-tree while show version info.
2019-09-03 23:43:29 +03:00
Leonid Yuriev
6495e2f87c
mdbx-windows: add cmake-generation of extra-import-library for ntdll.dll
2019-09-03 21:18:05 +03:00
Leonid Yuriev
967900e2e9
mdbx-cmake: refine/fix MDBX_BUILD_TARGET for Windows.
2019-09-03 19:13:26 +03:00
Leonid Yuriev
263837094e
mdbx-build: refine CMake scripts, add build options.
...
Change-Id: Ie3db2f6439d5cc7ef3cd9ebb5b8e5d5d34f743dd
2019-09-03 02:56:01 +03:00
Leonid Yuriev
874418a301
mdbx: rework POSIX-lck and merge with Linux-lck.
...
Change-Id: Id8fbc81b9a2ad3a3a7499ecf9a012314e1f8062a
2019-09-03 02:43:14 +03:00
Leonid Yuriev
098f8a0d77
mdbx: add MDBX_READERS_LIMIT.
...
Change-Id: I2ee97004c084aeb6290c56b8f6415adc464a1bcb
2019-09-03 02:43:14 +03:00
Leonid Yuriev
6f39d8228d
mdbx-cmake: add MDBX_ALLOY_MODE option.
...
Change-Id: I486f737fc24a48ecd3444859bee2132c9606aef5
2019-09-03 02:43:09 +03:00
Leonid Yuriev
5a87faf9af
mdbx-build: start using CMake (incomplete; no properly installation for now).
2019-09-03 02:33:57 +03:00
Leonid Yuriev
f81374a9ce
mdbx-build: amalgamation.
...
Change-Id: Ic32de6ee119df2bc12136b882f4f7cabaa1314a9
2019-09-03 02:30:55 +03:00
Leonid Yuriev
b42462c484
mdbx: minor/paranoid fix mdbx_strerror().
2019-08-31 13:34:05 +03:00
Leonid Yuriev
113b29e68d
mdbx: add LCK-tracking to resolve double-open issue with POSIX-filelocks.
...
Change-Id: I29377000e4dde3c43527302b55d0daec58b709f5
2019-08-31 00:55:15 +03:00
Leonid Yuriev
a66cefb198
mdbx-tools: use ANSI2OEM-versions of mdbx_strerror() for Windows.
...
Change-Id: I15500eec60b20e45c2881499a809a00fb4d661fa
2019-08-30 00:01:38 +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
10ab5dc032
mdbx: refine mdbx_strerror() and mdbx_strerror_r().
...
Change-Id: I47588cea9f281e71d0e6b81a86a50124e55bc3d4
2019-08-30 00:01:38 +03:00
Leonid Yuriev
51e7159f36
mdbx: dynamically discarding unused tail pages of DB file.
...
Change-Id: I1a0eee50cd27de26521e65c9f7ea51a527a0424e
2019-08-30 00:01:38 +03:00
Leonid Yuriev
327e5feb97
mdbx-windows: one more fix build for Windows/SDK pair.
...
Change-Id: Ifa480703b153625d0fa96a15d70bd0c452352cb6
2019-08-29 23:48:51 +03:00
Leonid Yuriev
648f991a5b
mdbx-windows: fix build with modern SDK but for legacy Windows.
...
Change-Id: Ic443815838715be8cc6565d4d7735651af0b58cc
2019-08-29 23:21:22 +03:00
Leonid Yuriev
60d6685665
mdbx: fix typo inside mdbx_setup_debug().
...
Change-Id: I1df92033889572cefa6ff6a54ec2cff9d977fc12
2019-08-28 04:56:36 +03:00
Leonid Yuriev
25e20315ae
mdbx: minor fix for MSVC2019.
...
Change-Id: I628049e7c3a653ec3b549c45450677ec5ab883a7
2019-08-28 04:53:03 +03:00
Leonid Yuriev
9ddfa4f9c8
mdbx-windows: use PrefetchVirtualMemory().
2019-08-28 02:35:34 +03:00
Leonid Yuriev
fd0c92927a
mdbx: refine usage of posix_fadvise()madvise()/posix_madvise()/F_RDADVISE.
2019-08-27 21:35:43 +03:00
Leonid Yuriev
8329f5b6a1
mdbx-load: fix backslash escaping (for compatibility with ITS#9068).
...
In fact MDBX not affected by this bug, since a very long time mdbx_dump was fixed to not produce a problematic sequence of backslash.
For compatibility with LMDB after http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=commit;h=5c012bbe033f9bbb273078b07dded59f080d348d
Change-Id: I8ff8e003ae29504605402b937becd4fb37120408
2019-08-27 14:50:19 +03:00
Leonid Yuriev
b3a9b3ca1a
mdbx: avoid refs to mdbx_runtime_flags from tools.
2019-08-27 00:29:15 +03:00
Leonid Yuriev
55ca2f0ed1
mdbx: makes handling NDEBUG option more convenient.
...
Change-Id: Icb8f2ddc66273d4ef4b17f1a27e6a34d2ffadd47
2019-08-26 22:57:14 +03:00
Leonid Yuriev
5eb3b77efe
mdbx-posix: rework LCK seize/destroy.
2019-08-25 22:40:35 +03:00
Leonid Yuriev
2536dc47ac
mdbx: refine features-macros for xBSD.
2019-08-25 16:04:33 +03:00
Leonid Yuriev
a03c5d1f3f
mdbx-posix: destroys shared mutexes in the last process.
2019-08-25 14:18:06 +03:00
Leonid Yuriev
ed58af2512
mdbx-posix: minor fix mdbx_lck_destroy().
2019-08-25 05:20:58 +03:00
Leonid Yuriev
137d652d77
mdbx: refine attribute-based macros.
2019-08-25 04:37:15 +03:00
Leonid Yuriev
7780b76cf0
mdbx: fix internal typo.
...
Change-Id: Ib31e8f02d816758a66b5e6b260714e25648f66c2
2019-08-25 04:36:30 +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
33a4f31f92
mdbx: fix reclaiming_detent() for out-of-txn case.
...
Change-Id: I5275f4f3676b125e860f6a7c204a5f9cdc65dd5f
2019-08-23 17:46:33 +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
6f8238e1e9
mdbx: LCK-format version 3.
...
The LCK file is re-created at every opportunity when the process that
opens the database is the only one that works with it. Thus the change
of the format of the file LCK creates only minimal compatibility
problems.
Applications using different versions of _libmdbx_ will be able to work
with one database alternately, but not at the same time. This appears to
be an acceptable inconvenience in exchange for new features.
Change-Id: I9414b3fffd53d5519c8172c57345b1eaf6e51c77
2019-08-23 03:38:11 +03:00