Commit Graph

132 Commits

Author SHA1 Message Date
Martchus 71b613bc7c Avoid error when rebuilding database 2024-03-09 12:11:52 +01:00
Martchus 3a2160ee67 Improve tests for typed DBI 2024-03-08 19:15:16 +01:00
Martchus bda69c292d Avoid deletion in "in place" modification function
With the previous fix for `put()` this is no longer required.
2024-03-08 19:13:27 +01:00
Martchus f7cdacd30d Fix duplicate/old rows on indexes when overriding a row by ID 2024-03-08 19:04:58 +01:00
Martchus 8e6fe671f0 Avoid CMake deprecation warning by bumping version 2024-03-08 19:01:44 +01:00
Martchus be2235103f Apply change of `global.h` template 2024-02-27 00:50:59 +01:00
Marius Kittler d8ca70bca1 Fix constness of `MDBOutVal::get()`
The member function itself needs to be const, not the return value.
2023-12-16 21:19:24 +01:00
Marius Kittler 02c64c8897 Fix typo in docstring 2023-11-08 13:01:05 +01:00
Martchus fa47c4848c Fix assert message in allocatePointer() 2023-09-30 22:04:41 +02:00
Martchus b69693bf58 Apply clang-format 2023-01-23 22:41:30 +01:00
Marius Kittler f015a9444d Support version 3 of Catch2 2023-01-22 23:07:15 +01:00
Martchus 27252986a8 Avoid copying shared transaction pointer 2022-11-01 15:07:02 +01:00
Marius Kittler 2656ead556 Apply clang-format 2022-06-28 16:08:45 +02:00
Martchus 9f17cdd3eb Avoid deserializing object on deletion if there are no indexes 2022-05-31 21:17:37 +02:00
Martchus 9a9bed0f46 Allow specifying `ElementType` on index-ed `get` function as well 2022-05-28 18:28:31 +02:00
Martchus 827bd843b3 Add remark that `index_on_function` is likely not useful as-is 2022-05-26 23:10:23 +02:00
Martchus 06909a24c4 Allow index on member of base class 2022-05-26 23:09:46 +02:00
Martchus 08f28a1706 Allow overriding type in certain typed operations
This makes mostly sense for read-only operations to avoid having to
deserialize the whole object when deserializing a truncated version of it
would suffice.
2022-05-19 21:51:24 +02:00
Martchus 2f5eb32a33 Fix missing include of functional 2022-05-12 20:30:43 +02:00
Martchus 8e5ea02989 Delete indexes as well when deleting via iterator 2022-04-20 21:40:11 +02:00
Martchus 1d389239eb Remove useless check for index 2022-04-19 00:19:56 +02:00
Martchus f47f8a52b0 Fix using std::unique_ptr with iterator 2022-04-18 23:10:21 +02:00
Martchus 389d662f3b Apply cmake-format 2022-04-15 19:18:56 +02:00
Martchus bb985870f0 Avoid overflow when running out of IDs
* Throw an exception instead
* Add function that allows re-using lower IDs instead
* Move functions to query IDs to read-only operations
2022-04-15 19:18:35 +02:00
Martchus 7689f0ebd6 Add stalebot config 2022-04-12 01:07:00 +02:00
Martchus 95ff695381 Add helper to rebuild typed database 2022-03-07 23:31:47 +01:00
Martchus 62fe316637 Pass `func` as `const &` in `modify` function 2022-03-07 23:31:40 +01:00
Martchus 4580d7242a Fix typos 2022-03-01 00:42:50 +01:00
Martchus f6fd78155b Add `rbegin()` and `lower_bound()` for main DB 2022-02-25 00:29:17 +01:00
Martchus bf6dbf0e42 Improve comments 2022-02-21 23:46:32 +01:00
Martchus 6c21fe7cb1 Use type alias for ID type 2022-02-21 22:57:15 +01:00
Martchus b87dd49bba Allow iterating over index
The use-case is checking the index-value first (e.g. just a simple string)
to decide whether the object is actually instead of deserializing the
whole object (e.g. a huge object which is quite costly to deserialize)
directly.
2022-02-19 00:10:17 +01:00
Martchus 64ba75ac48 Add serialization shortcuts for std::string and std::uintX_t types 2022-02-19 00:06:13 +01:00
Martchus b302cdfabe Allow using smart pointers in iterator 2022-02-18 19:20:14 +01:00
Martchus 1517bdce29 Fix case of having no index at all 2022-02-10 22:37:32 +01:00
Martchus fbcdc05e9c Export use of lmdb library as we include and use it in public headers 2022-02-05 21:50:00 +01:00
Martchus 28a3aa7345 Add default c'tor and move assignment to transactions 2022-02-01 22:02:25 +01:00
Martchus 5eae3f2c98 Remove unused includes 2022-02-01 20:26:46 +01:00
Martchus 213dfb823d Use `std::`-prefix for a few more occurrences in standard types for consistency 2022-02-01 20:26:46 +01:00
Martchus 1748fe674c Use `std::`-prefix for all std-types used in headers 2022-02-01 20:26:46 +01:00
Martchus 011bfa9ab9 Use `std::size_t` consistently for index (of index) 2022-02-01 20:26:46 +01:00
Martchus 65d8653c77 Get rid of macros and boilerplate code for handling indexes
and by the way support more than 4 indexes at the same time
2022-02-01 20:26:46 +01:00
Martchus b75ff2602b Ensure all tests/examples pass without args and don't interfere with each other 2022-01-30 22:27:05 +01:00
Martchus bc5df35b67 Fix include for reflective-rapidjson 2022-01-30 22:09:34 +01:00
Martchus ec4a44e4de Format tests and examples as well 2022-01-30 21:32:08 +01:00
Martchus 1e393bf3fe Remove config for Travis CI
It is outdated and using an unsupported Ubuntu distribution.
2022-01-30 21:28:21 +01:00
Martchus ff340d0793 Remove "lmdb-various.cc"
Is it is not clear what it is about and contains lots of disabled code.
2022-01-30 21:26:26 +01:00
Martchus d27b737234 Move remaining examples from top-level to example folder and build-system 2022-01-30 21:25:05 +01:00
Martchus 2e7d278c9b Apply uniform formatting via clang-format 2022-01-30 21:14:43 +01:00
Martchus ff1fc3ebd4 Remove Makefile in favor of CMake build script 2022-01-30 01:27:54 +01:00