Commit Graph

  • a7e0b3ccdf mdbx-build: SunOS/Solaris/OpenIndiana support, etc. Leonid Yuriev 2019-11-09 15:15:25 +03:00
  • 5af02290e6 mdbx: portability fixes for SunOS/Solaris/OpenIndiana. Leonid Yuriev 2019-11-09 10:50:43 +03:00
  • bb2d2877c4 mdbx: add auto-readahead note/description. Leonid Yuriev 2019-11-09 00:05:30 +03:00
  • 4dfa97cda9 mdbx-posix: fix mdbx_lck_seize() and mdbx_lck_destroy() for rare race-case. Leonid Yuriev 2019-11-08 23:48:53 +03:00
  • 6a7499c8fc mdbx: refine POSIX-options detection. Leonid Yuriev 2019-11-08 16:57:54 +03:00
  • 51440b5542 mdbx: minor fix auto-readahead for buggy platforms (i.e. DragonflyBSD, NetBSD). Leonid Yuriev 2019-11-08 14:55:46 +03:00
  • 6da4c1f06b mdbx-build: add stub Makefile for non-GNU Make. Leonid Yuriev 2019-11-08 09:25:43 +03:00
  • fc48751f8f mdbx: use MAP_NOSYNC & MAP_HASSEMAPHORE if defined (compatibility). Leonid Yuriev 2019-11-08 09:06:44 +03:00
  • 885d5b2121 mdbx-test: support for systems lack of _POSIX_THREAD_PROCESS_SHARED. Leonid Yuriev 2019-11-07 16:17:08 +03:00
  • 3e7944f732 mdbx: use POSIX.1 IPC semaphores on systems without shared mutexes. Leonid Yuriev 2019-11-06 23:53:53 +03:00
  • 1f82b4ff21 mdbx-build: minor fix GNUMakefile for xBSD-compatibility. Leonid Yuriev 2019-11-05 04:43:44 +03:00
  • 647d832556 mdbx: initial mdbx_check_fs_rdonly() and mdbx_check_fs_local(). Leonid Yuriev 2019-11-04 17:19:12 +03:00
  • b7ed67543f mdbx-windows: use CreateFileW() instead of CreateFileA(). Leonid Yuriev 2019-11-04 12:57:44 +03:00
  • fff19d878f mdbx: fix update_gc() to avoid rare MDBX_KEYEXIST. Leonid Yuriev 2019-11-03 09:51:41 +03:00
  • 2cfe632296 mdbx: rework/fix rebalance & page merge (fix MDBX_PAGE_FULL). Leonid Yuriev 2019-11-02 17:22:13 +03:00
  • cf884f082f mdbx: initial osal_bootid(). Leonid Yuriev 2019-11-01 21:25:17 +03:00
  • ca06572e2a mdbx-test: add built-in help/usage. Leonid Yuriev 2019-10-31 14:45:21 +03:00
  • 5233a3cdb4 mdbx-test: add resource usage (CPU time). Leonid Yuriev 2019-10-30 17:12:46 +03:00
  • 2c48f295b0 mdbx-tests: simplify/speedup basic testcase. Leonid Yuriev 2019-10-29 21:04:49 +03:00
  • 55395820e3 mdbx: set MDBX_MIN_PAGESIZE to 256 (useful for testing). Leonid Yuriev 2019-10-29 18:54:03 +03:00
  • 582fdd7ed2 mdbx: refine mdbx_env_set_geometry(). Leonid Yuriev 2019-10-29 11:54:37 +03:00
  • e7b3a15d54 mdbx: fix/refine mdbx_setup_dxb() for case open existing DB with new geo-params. Leonid Yuriev 2019-10-29 08:23:48 +03:00
  • 3cc8e5222c mdbx: undo/promote geo-changes made by child txn on abort. Leonid Yuriev 2019-10-28 20:32:01 +03:00
  • 415cb5f886 mdbx: refactor me_dbgeo usage and osal-mmap/mresize(). Leonid Yuriev 2019-10-28 18:01:02 +03:00
  • b4729bd1d6 mdbx: minor refine pgno_align2os_bytes() usage. Leonid Yuriev 2019-10-28 10:08:38 +03:00
  • d869e20941 mdbx-chk: don't treat mm_geo.current < dxbfile_pages as an error Leonid Yuriev 2019-10-28 08:51:15 +03:00
  • b274c4a730 mdbx: fix to avoid ERROR_USER_MAPPED_FILE on Windows (minor race condition). Leonid Yuriev 2019-10-27 22:35:25 +03:00
  • 4ee3bc8be9 mdbx-ci: fix log-artifacts path for AppVeyor. Leonid Yuriev 2019-10-27 20:55:29 +03:00
  • b4a5728455 mdbx: rework readahead management. Leonid Yuriev 2019-10-27 00:34:49 +03:00
  • 9c89e7c739 mdbx: refine discarding of unused pages (MADV_FREE/MADV_REMOVE/MADV_DONTNEED). Leonid Yuriev 2019-10-26 23:57:49 +03:00
  • 40f31ea936 mdbx: add atomic_yield(). Leonid Yuriev 2019-10-26 01:18:14 +03:00
  • 3ee269ddb6 mdbx: support for txnid of the last modification for sub-dbs/kv-spaces. Leonid Yuriev 2019-10-25 13:51:21 +03:00
  • 64ecfe171a mdbx-ci: remove sh4-linux-gnu-gcc and mips64-linux-gnuabi64-gcc from cross-qemu blacklist. Leonid Yuriev 2019-10-26 01:14:08 +03:00
  • 84bff89eb1 mdbx: conform to and use -Wpedantic. Leonid Yuriev 2019-10-26 00:02:28 +03:00
  • c694325ab7 mdbx: fix minor warnings. Leonid Yuriev 2019-10-25 22:56:25 +03:00
  • a0ec89e468 mdbx: fix check-for-unique for the case when more than one new database are opening (i.e. with creation of LCK-files). Leonid Yuriev 2019-10-25 21:00:07 +03:00
  • 42f8154c39 mdbx-cmake: rename MDBX_USE_VALGRIND option. Leonid Yuriev 2019-10-25 08:10:15 +03:00
  • b905dea2ee mdbx: fix Coverity warning (insignificant). Leonid Yuriev 2019-10-25 08:08:18 +03:00
  • edf5ddad4f mdbx: get rid of macro redefinition warnings under MSVC. cryptozoidberg 2019-10-24 14:19:14 +02:00
  • 8de8072078 mdbx: minor refine options and build-info. Leonid Yuriev 2019-10-24 16:40:40 +03:00
  • 7b2034c699 mdbx-ci: extend build-matrix for AppVeyour. Leonid Yuriev 2019-10-24 13:01:58 +03:00
  • 81fd0beb1a mdbx: rework/fix unaligned access. Leonid Yuriev 2019-10-23 23:46:12 +03:00
  • b7d27c1b36 mdbx: rework internals for using C99 flexible array member (preparation for -fsanitize=undefined). Leonid Yuriev 2019-10-22 22:31:06 +03:00
  • 70350bad81 mdbx-cmake: require C99 or use C11 when available. Leonid Yuriev 2019-10-22 12:14:26 +03:00
  • 83a0c31b35 mdbx: converts macros to inline functions, rework page_fill_enough() and thresholds. Leonid Yuriev 2019-10-22 00:31:15 +03:00
  • d24df41a67 mdbx-cmake: enable MSVC 2015. Leonid Yuriev 2019-10-24 11:59:02 +03:00
  • ed515d4642 mdbx: fix static library build on Windows. Leonid Yuriev 2019-10-24 11:51:25 +03:00
  • 411ed3e578 mdbx: fix Coverity warnings (minor). Leonid Yuriev 2019-10-21 11:46:17 +03:00
  • 0137d1f303 mdbx: alter Valgrind suppressions. Leonid Yuriev 2019-10-21 10:00:55 +03:00
  • efa855b497 mdbx: drop unused dpl_mark4removal(). Leonid Yuriev 2019-10-21 10:00:28 +03:00
  • 2eab9c2957 mdbx: refine/optimize list-related loops. Leonid Yuriev 2019-10-20 20:47:51 +03:00
  • 72f2a315c4 mdbx-test: don't filter lib's output by test's log-level. Leonid Yuriev 2019-10-20 08:14:33 +03:00
  • e6462dfe58 mdbx: minor refine mdbx_chk output. Leonid Yuriev 2019-10-19 14:12:20 +03:00
  • f5d75a85b0 mdbx: minor refine setup_dxb() logging. Leonid Yuriev 2019-10-19 14:11:59 +03:00
  • 081603e6bc mdbx: alter update-gc for intermediate refunding of pages. Leonid Yuriev 2019-10-19 10:17:53 +03:00
  • 7681132704 mdbx-test: more probability of zero-window (i.e. flipcoin_x4) for ttl and nested testcases. Leonid Yuriev 2019-10-19 00:21:23 +03:00
  • 4e386be914 mdbx: don't hold dbi-lock during tree deletion inside mdbx_drop(). Leonid Yuriev 2019-10-18 23:16:12 +03:00
  • b690415f44 mdbx-build: add test make-target. Leonid Yuriev 2019-10-18 21:02:17 +03:00
  • 15ce797863 mdbx: refine/optimize mdbx_page_alloc(). Leonid Yuriev 2019-10-18 20:28:36 +03:00
  • 36477ef408 mdbx: minor refine/optimize mdbx_page_new(). Leonid Yuriev 2019-10-18 18:19:54 +03:00
  • 7878b2e31d mdbx-test: less probability for aborting nested transactions in nested testcase. Leonid Yuriev 2019-10-18 08:46:52 +03:00
  • b11d655173 mdbx: refine/optimize update-gc (remove anything in our spill list from parent's dirty list). Leonid Yuriev 2019-10-17 10:13:18 +03:00
  • 781a814864 mdbx: refine/optimize update-gc (filter-out list of dirty-pages from loose-pages). Leonid Yuriev 2019-10-17 10:12:39 +03:00
  • 363841caf8 mdbx: rework/optimize pages refunding. Leonid Yuriev 2019-10-17 10:08:49 +03:00
  • 7f0dd35702 mdbx: more checking in mdbx_dirtylist_check(). Leonid Yuriev 2019-10-17 09:48:50 +03:00
  • 5c54566c5c mdbx: rework/fix retire-to-parent-txn pages (fix LMDB bug). Leonid Yuriev 2019-10-17 14:07:47 +03:00
  • 659933d0c9 mdbx: rework mdbx_page_flush(), providing flush_begin & flush_end. Leonid Yuriev 2019-10-17 10:03:45 +03:00
  • 6a01955810 mdbx: rework atomic-ops & safe64_reset_compare() to avoid use libatomic on true-32-bit arches. Leonid Yuriev 2019-10-17 00:18:30 +03:00
  • 73b60d991a mdbx-build: add -Wno-tautological-compare. Leonid Yuriev 2019-10-16 14:26:45 +03:00
  • a907109cce mdbx: fix MDBX_node for big-endian. Leonid Yuriev 2019-10-16 14:22:38 +03:00
  • 0f3994d506 mdbx: fix/refine mdbx_is_dirty(). Leonid Yuriev 2019-10-16 10:44:24 +03:00
  • b84bb4f805 mdbx: add MDBX_TXNID_STEP macro for debugging. Leonid Yuriev 2019-10-15 23:53:00 +03:00
  • 8467552f0b mdbx: fix internal audit. Leonid Yuriev 2019-10-15 23:52:17 +03:00
  • 1794aeb79b mdbx-dist: refix typo of fixing typo ;) Leonid Yuriev 2019-10-15 22:31:02 +03:00
  • 5f8ecf0144 mdbx: fix Valgrind support. Leonid Yuriev 2019-10-15 09:13:45 +03:00
  • 2280ab0513 mdbx-build: refine memcheck target. Leonid Yuriev 2019-10-14 22:47:25 +03:00
  • a0e9c33e54 mdbx: rework page loosing/retirement. Leonid Yuriev 2019-10-14 19:47:14 +03:00
  • ee77920a2e mdbx: refine loose-pages refunding. Leonid Yuriev 2019-10-13 14:35:10 +03:00
  • 06193f4267 mdbx: refine page-number-list checking. Leonid Yuriev 2019-10-13 10:26:28 +03:00
  • 137b19aac2 mdbx: workaround for Apple-LLVM bug. Leonid Yuriev 2019-10-12 22:38:14 +03:00
  • 3df5f60a70 mdbx: include <malloc_np.h> for FreeBSD & OpenBSD. Leonid Yuriev 2019-10-12 21:30:59 +03:00
  • bb922c208c mdbx: add mdbx_is_readahead_reasonable(). Leonid Yuriev 2019-10-12 14:16:45 +03:00
  • 3ce4c3a0e4 mdbx-test: minor refine actor_poll() for Windows. Leonid Yuriev 2019-10-12 10:42:27 +03:00
  • 23733bf4af mdbx-test: rework/fix actor_poll() to avoid loosing SIGCHLD. Leonid Yuriev 2019-10-12 10:24:18 +03:00
  • c51a6e6d95 mdbx: move madvise(MADV_RANDOM) to under control of MDBX_NORDAHEAD flag. Leonid Yuriev 2019-10-12 06:28:26 +03:00
  • e04ea50c18 mdbx: refine madvise(MADV_REMOVE_OR_FREE_OR_DONTNEED), add 256K threshold. Leonid Yuriev 2019-10-12 00:29:41 +03:00
  • f6ba670cd0 mdbx: minor fix for __gnu_linux__. Leonid Yuriev 2019-10-11 23:33:03 +03:00
  • 8921da2787 mdbx: fix internal comments. Leonid Yuriev 2019-10-11 20:32:16 +03:00
  • 4560ddcd1e mdbx: refine ending of read-only transactions. Leonid Yuriev 2019-10-11 20:23:21 +03:00
  • 99e9956410 mdbx: make mdbx_env_set_geometry() behavior equal to LMDB (i.e. fixed size). Leonid Yuriev 2019-10-11 16:54:55 +03:00
  • d67d3f97cc mdbx-build: fix bench target. Leonid Yuriev 2019-10-11 16:03:51 +03:00
  • 9e42fc4fe0 mdbx-build: fix GNUmakefile for git-submodule case. Leonid Yuriev 2019-10-11 15:54:54 +03:00
  • 8861f1377c mdbx: roundup buffer size inside env_copy2fd(). Leonid Yuriev 2019-10-11 13:21:38 +03:00
  • 4d692821cb mdbx: partial workaround for ASAN false-positive (due internal bug). Leonid Yuriev 2019-10-11 09:12:59 +03:00
  • 456f77abec mdbx-ci: extend check-targets with nested-txn cases. Leonid Yuriev 2019-10-11 01:00:40 +03:00
  • 3c4d87520e mdbx: drop NEXT_LOOSE_PAGE macro. Leonid Yuriev 2019-10-10 23:12:16 +03:00
  • 39c1238d8e mdbx: refine Valgrind support (i.e. avoid false-positives). Leonid Yuriev 2019-10-10 22:11:28 +03:00
  • ab01078cd7 mdbx: refine/fix SORT_IMPL macro. Leonid Yuriev 2019-10-10 20:57:05 +03:00
  • 13b52b1d51 mdbx-test: avoid redefine xSEC_PER_SEC. Leonid Yuriev 2019-10-10 22:46:43 +03:00
  • 7ed1586ea6 mdbx-test: fix for MDBX_BAD_TXN in case txn auto-cancelled during commit. Leonid Yuriev 2019-10-10 15:24:39 +03:00