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
Martchus
c7190f9d04
Ensure examples return with zero exit code (so they can be treated as tests)
2022-01-30 01:21:31 +01:00
Martchus
b499a201c2
Add CMake build system replacing Makefile
...
* Allow building a shared library with proper exports
* Remove bundled catch2 library in favor of searching for system-provided
version
* Adapt/fix tests and examples to latest changes
* Fix several warnings
2022-01-30 01:14:42 +01:00
Martchus
adcb9338e8
Speed-up cleaning DB/indexes via `mdb_drop` instead of manual deletions
2022-01-26 00:43:21 +01:00
Martchus
31a45912dc
Add `keyConv` function for `string_view`
2022-01-25 23:39:06 +01:00
Martchus
f2042c59a5
Avoid instantiating an std::string when calling serializer
2022-01-25 23:39:06 +01:00
Martchus
c8a865528e
Pass string_view in serFromString() by value as it is just two pointers
2022-01-25 23:38:30 +01:00
Martchus
74d7bbd93b
Throw errors in all cursor put/del functions
2022-01-22 19:18:56 +01:00
Martchus
f35efb5a7c
Expose raw return code in LMDBError
2022-01-22 19:17:14 +01:00
Martchus
4cec520c83
Avoid useless use of `const_cast`
2022-01-22 19:09:44 +01:00