Leonid Yuriev
6e3725457d
mdbx: fix minor comment typo.
...
Change-Id: I56a465e820a49d13c49fb3bd05add970b0eebb14
2019-03-14 00:13:13 +03:00
Leo Yuriev
73f8839a97
mdbx: minor refine/clarify estimation internals.
2019-03-06 16:45:49 +03:00
Leo Yuriev
501eb8c6ad
mdbx: more __hot/__cold attributes for functions.
2019-03-06 16:45:01 +03:00
Leonid Yuriev
7f8cd66e11
mdbx: add notes about range query estimation into READMEs.
...
Change-Id: Ia9e0b7e393082115839483ea7a3b37fb37ba0308
2019-03-06 00:40:53 +03:00
Leo Yuriev
ee899a21ed
mdbx: treat pagesize == 0/INTPTR_MAX as aliases for MIN_PAGESIZE/MAX_PAGESIZE.
2019-03-05 17:55:33 +03:00
Leo Yuriev
3535e7a6d6
mdbx: returns as-is (i.e. negative) the estimation results for an inverted ranges.
2019-03-05 15:50:45 +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
7d383350e8
mdbx: workaround for musl-libc __assert_fail() prototype bug.
2019-03-04 14:41:50 +03:00
Leo Yuriev
9ffd17d58b
mdbx: refine mdbx_filesync() to avoid hide fdatasync() error.
2019-03-04 13:53:05 +03:00
Leo Yuriev
9f410597df
mdbx: checking only _POSIX_SYNCHRONIZED_IO for fdatasync (musl).
2019-03-04 13:39:33 +03:00
Leo Yuriev
cca2c91058
mdbx: don't check __GLIBC_PREREQ/_BSD_SOURCE/_XOPEN_SOURCE for use fsync (musl).
2019-03-04 13:34:38 +03:00
Leo Yuriev
46b551e386
mdbx: add in-source definition for _POSIX_C_SOURCE and _XOPEN_SOURCE (musl).
2019-03-04 13:33:27 +03:00
Leonid Yuriev
14ae9fb2a1
mdbx: env_set_geometry() treat zero-values also as defaults.
...
Change-Id: If8c6f7d7bbeffe71ae4e28f27184103dd1da257b
2019-03-02 14:26:09 +03:00
Leonid Yuriev
01797cf1bc
mdbx: env_open() consider zero mode_t as open-existing flag.
...
Change-Id: I6f9dbf2059822afaba4c3de8f4ce380613a7dc36
2019-03-02 13:31:08 +03:00
Leonid Yuriev
7617cce0c6
mdbx-tools: fix Coverity warning (paranoia).
...
Change-Id: I3ff33a9eb2c58fe601566fd4101f9c95d76d29de
2019-02-27 23:26:15 +03:00
Leo Yuriev
ac6d423451
mdbx: fix one more comment typo (minor).
2019-02-13 20:23:43 +03:00
Leo Yuriev
44a067283a
mdbx: fix comment typo (minor).
2019-02-12 13:39:16 +03:00
Leonid Yuriev
49fa9b9c35
mdbx: fix handling MDBX_APPENDDUP mode.
...
Change-Id: I36de2a8dcab5126dab3857a7840ab3904a1d19c8
2019-02-04 01:41:11 +03:00
Leonid Yuriev
0639f54280
mdbx-test: add 'append' testcase.
...
Change-Id: I71620ea1a019e16b8e3d84a81dcc042961eae5b5
2019-02-04 01:41:11 +03:00
Leonid Yuriev
73bef80347
mdbx-check: add checking for complete duplicates.
...
Change-Id: I8308b725418ef69188eeadfc656dead4ce9cee27
2019-02-04 01:32:15 +03:00
Leonid Yuriev
460751bc01
mdbx-chk: add '-i' option for custom comparators.
...
Change-Id: Ie3d7fdb3c3a881a484d351ca9a3160eb467b43b9
2019-02-04 01:32:15 +03:00
Leo Yuriev
309955be75
mdbx-load: add '-a' option for loading dumps of custom-sorted DBs.
...
Based on http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=commitdiff;h=aa77c832b8e6fc696078017f550d119cdfc0f232
Change-Id: If7de71c8f6ffc29d4316c6074995fab38f2c1b4b
+load
Change-Id: Iff6cbca2514840ee290f801e3b273edf160913b4
2019-02-04 00:06:39 +03:00
Leo Yuriev
9ba8434c1d
mdbx: fix __ANDROID__ typo.
...
Thank to Howard Chu <hyc@openldap.org>.
Change-Id: Ibcbe2e4790a5df5758d9fd6c621793ea42a94682
2019-02-03 17:53:00 +03:00
Howard Chu
bfffaa66b8
mdbx: import - tweak mdb_page_split (ITS#8969).
...
Bump up number of keys for which we use fine-grained splitpoint search
Change-Id: Icca2e1953cbcd6898b790f657636c2195b397790
2019-02-03 13:07:17 +03:00
Leo Yuriev
9cc9116df3
mdbx: 2019 HNY.
...
Change-Id: Iec6b7affedef0ea89fad917eb17af7e8201a7482
2019-02-03 12:28:01 +03:00
Leonid Yuriev
08508d34b3
mdbx: MDBX_BAD_DBI instead of MDBX_NOTFOUND in case table was dropped.
...
Change-Id: I2894a5721d2be2bb982e7c7a607c6a0413f7e3ca
2019-01-27 00:17:57 +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
4708e0cf79
mdbx-winfdows: fix returning negative value on failure.
...
Change-Id: Iaf5fb1f0cbcc3c14e2d3edf1f57538ecc0dfdf00
2019-01-17 23:10:04 +03:00
Leonid Yuriev
624968b74c
mdbx-windows: use SetFileInformationByHandle() when available.
...
Change-Id: I27d9d4271d4328947ad68cdf30af61a31978b4f9
2018-12-28 13:53:57 +03:00
Leonid Yuriev
e3ff44d01b
mdbx-cross-ci: move alpha-linux-gnu-gcc into CROSS_LIST_NOQEMU.
...
Change-Id: I36e72126131f87db0b1394b293a1e009da207ee1
2018-11-26 19:18:11 +03:00
Leonid Yuriev
f778f4a795
mdbx: add MDBX_SAFE4QEMU option for testing under QEMU.
...
Change-Id: Ide674e0125e2746f73a7ba44828316a60633e887
2018-11-26 19:08:30 +03:00
Leonid Yuriev
9379ba7733
mdbx-make: add '--copy' testcase for check-singleprocess target.
...
Change-Id: I76946e111def7a095c01368f04f9edd1a3b31569
2018-11-26 19:06:49 +03:00
Leonid Yuriev
cbdb10a05c
mdbx-test: fix/refine entropy_ticks() for ARM.
...
Change-Id: I03b10edfcbee33c1b3107a0c1a5714aac61cf12f
2018-11-26 18:52:31 +03:00
Leonid Yuriev
68be9b39a8
mdbx-make: fix/refine recommended package-list for cross-build (minor).
...
Change-Id: I76d6972f5557cadb70a0ba8bf5802364762adb1c
2018-11-26 17:08:47 +03:00
Leo Yuriev
f55e1ec5cc
mdbx-windows: more safety/robustness for DB shriking.
2018-11-22 17:50:49 +03:00
Leo Yuriev
35f95e8ca2
mdbx-windows: always susppend local threads while resize DB (workaround for Windows kernel bug).
...
We should not concern about performance on Windows platform,
it just unreasonable. Therefore just always suspend the local
threads to avoid this issue.
This resolves https://github.com/leo-yuriev/libmdbx/issues/48
2018-11-22 14:19:49 +03:00
Leonid Yuriev
ee7ebe438c
mdbx: fix AddressSanitizer issue for mdbx_page_loose (minor, not a bug).
...
Change-Id: I0e550dabdeda92759c28d4566104ff07a92d83bb
2018-11-22 02:52:25 +03:00
Leonid Yuriev
f626acb398
mdbx: relax DBI-sequences for concurrent open DBI-handles for present tables.
...
Change-Id: I7f07d2e716074bd9c2847aeb062e366f46cca214
2018-11-19 13:31:44 +03:00
Leo Yuriev
eda424ff71
mdbx: rename __always_inline.
2018-11-06 21:08:28 +03:00
Leonid Yuriev
d5320d9252
mdbx: silently put mm_geo.now into [geo.lower...geo.upper] boundaries.
...
Copy-with-compaction by previous version of libmfbx could produce
DB-file less than meta.geo.lower bound, in case actual filling
is low or no data at all.
This is not a problem as there is no damage or loss of data.
Therefore it is better not to consider such situation as an
error, but silently correct it.
Change-Id: Ia662656cc3584c07efcfbdfc80f80e3c76e6dd59
2018-11-05 14:34:12 +03:00
Leonid Yuriev
3c684010e3
mdbx-tools: fix minor MSVC warnings.
...
Change-Id: If8b042e2d84bfed7f8b0a81a4d75d7be7e7aa7a9
2018-11-05 00:31:58 +03:00
Leonid Yuriev
aa52cb395f
mdbx: fix typo in mdbx_limits_dbsize_max().
...
Change-Id: Ie55e3ca108ac6aab9a41d65f316a3d5ff5ff6f1f
2018-11-05 00:18:41 +03:00
Leo Yuriev
73c7742db4
mdbx-test: fix osal_actor_poll() for 32-bit builds.
...
Change-Id: I36b2f955295d8ca5435a68737c0c2e7f069bfe34
2018-11-05 00:02:48 +03:00
Leonid Yuriev
c3432c158e
mdbx-test: add checks for db-copy
after the basic
testcase.
...
Change-Id: I5e7d343266c66418a8798d272e697e1c3d5c775b
2018-11-05 00:02:48 +03:00
Leonid Yuriev
24d42c1583
mdbx: add db-copy testcase.
...
Change-Id: Ib554880ebbabcb5dfc55bdb3c71767d0fa1630fd
2018-11-05 00:02:48 +03:00
Leonid Yuriev
40e3f735ab
mdbx-tests: cleanup/simplity code (minor).
...
Change-Id: I9813ed3a29b331c1f995ce76766709f454bb49c2
2018-11-04 20:34:16 +03:00
Leonid Yuriev
12174187e8
mdbx-tests: add osal_removefile().
...
Change-Id: Ifdacd1f799e3ed12f6b83bcdef0effbc0c41011c
2018-11-04 20:34:16 +03:00
Leonid Yuriev
2770e193b6
mdbx: take in account shrink/growing thresholds while copy-with-compactification.
...
Change-Id: Id93e62089819dfcc8cbc83620e0bdd806d8c1950
2018-11-04 20:34:16 +03:00
Leonid Yuriev
83f1effff1
mdbx: refine mdbx_env_copy() internals.
...
Change-Id: I9e8f0dc87398564524a5ec98eda2cb9bde100909
2018-11-04 20:34:16 +03:00
Leonid Yuriev
629637d95e
mdbx-osal: add mdbx_fseek().
...
Change-Id: I5744aa3ba51bd1acaeedd866e6b21a1330c3f711
2018-11-04 20:34:16 +03:00