Леонид Юрьев (Leonid Yuriev)
1db44c7914
mdbx++: перенос в public типов buffer::move_assign_alloc
и buffer::copy_assign_alloc
для старых стандартов C++.
2023-12-05 15:32:18 +03:00
Леонид Юрьев (Leonid Yuriev)
100f07e89a
mdbx++: дополнительные операторы преобразования к типам C API.
2023-12-05 15:32:18 +03:00
Леонид Юрьев (Leonid Yuriev)
e68771df18
mdbx++: Добавление buffer_pair<>
и buffer_pair_spec<>
.
2023-12-05 15:32:18 +03:00
Леонид Юрьев (Leonid Yuriev)
0e250a4457
mdbx++: добавление поддержки std::span<>
.
2023-12-05 15:32:18 +03:00
Леонид Юрьев (Leonid Yuriev)
be8428257d
mdbx++: переделка поддержки base58 по RFC-draft.
2023-12-05 15:32:18 +03:00
Леонид Юрьев (Leonid Yuriev)
dd47f1bfd9
mdbx++: переход на использование по-умолчанию default_allocator вместо legacy_allocator.
2023-12-05 15:32:18 +03:00
Леонид Юрьев (Leonid Yuriev)
b412807fc1
mdbx++: добавление mdbx::default_buffer
.
2023-12-05 15:32:18 +03:00
Леонид Юрьев (Leonid Yuriev)
8a6bddef44
mdbx++: поправка форматирования против бага clang-format.
2023-12-05 15:32:18 +03:00
Леонид Юрьев (Leonid Yuriev)
304cf25149
mdbx++: использование slice::invalid()
для предотвращения незаметного неверного использования API.
2023-12-05 15:32:18 +03:00
Леонид Юрьев (Leonid Yuriev)
869cfb3fae
mdbx++: исправление опечатки в doxygen-описании.
2023-12-05 15:32:18 +03:00
Леонид Юрьев (Leonid Yuriev)
0a58601cdf
mdbx++: добавление pair::invalid()
и взаимодействия с std::pair<>
.
2023-12-05 15:32:18 +03:00
Леонид Юрьев (Leonid Yuriev)
355090f02e
mdbx++: добавление is_xyz()
для key_mode
и value_mode
.
2023-12-05 15:32:18 +03:00
Леонид Юрьев (Leonid Yuriev)
55142d8d6f
mdbx++: добавление txn::commit_embark_read()
.
2023-12-05 15:32:18 +03:00
Леонид Юрьев (Leonid Yuriev)
b9e2f6dc09
mdbx++: добавление MDBX_CXXnn_CONSTEXPR_ENUM
.
2023-12-05 15:32:18 +03:00
Леонид Юрьев (Leonid Yuriev)
bf21ee7bde
mdbx++: добавление операторов сравнения для mdbx::pair
.
2023-12-05 15:32:18 +03:00
Леонид Юрьев (Leonid Yuriev)
0b68980489
mdbx++: добавление cursor::scan(predicate...)
и т.п.
2023-12-05 15:32:18 +03:00
Леонид Юрьев (Leonid Yuriev)
4999264460
mdbx++: добавление error::boolean_or_throw(exception_thunk)
.
2023-12-05 15:32:18 +03:00
Леонид Юрьев (Leonid Yuriev)
25015c54e1
mdbx: обещанное "doubtless" API для позиционирования курсоров.
2023-12-05 15:32:18 +03:00
Леонид Юрьев (Leonid Yuriev)
ed59ad22c6
mdbx: добавление mdbx_cursor_on_first/last_dup()
в API.
2023-12-05 15:32:18 +03:00
Леонид Юрьев (Leonid Yuriev)
eee3e6eb6b
mdbx++: добавление compare_positions()
для курсоров.
2023-12-05 15:32:18 +03:00
Леонид Юрьев (Leonid Yuriev)
225f548339
mdbx++: добавление get_/set_context для транзакций и курсоров.
2023-12-05 15:32:13 +03:00
Леонид Юрьев (Leonid Yuriev)
992eee4f0f
mdbx++: добавление cursor::clone()
.
2023-11-26 16:56:34 +03:00
Леонид Юрьев (Leonid Yuriev)
d6a79a9c5f
mdbx++: переименование slice::as_intXX()
в slice::as_intXX_adapt()
и добавление slice::as_intXX()
.
2023-11-26 16:56:34 +03:00
Леонид Юрьев (Leonid Yuriev)
6facd20b2b
mdbx++: добавление buffer::as_uint64()
и т.д.
2023-11-26 16:56:34 +03:00
Леонид Юрьев (Leonid Yuriev)
e66df2c21b
mdbx++: добавление методов buffer::hex_decode()
, base64_decode()
, base58_decode()
.
2023-11-26 16:56:34 +03:00
Леонид Юрьев (Leonid Yuriev)
649bbb9d90
mdbx++: добавление типа mdbx::comparator
и функций mdbx::default_comparator()
.
2023-11-26 16:56:34 +03:00
Леонид Юрьев (Leonid Yuriev)
c8319aabe7
mdbx++: добавление статических методов buffer::hex()
, base64()
, base58()
.
2023-11-26 16:56:19 +03:00
Леонид Юрьев (Leonid Yuriev)
6cef39c32f
mdbx++: добавление cursor::estimation_result
и переделка cursor::estimate()
.
2023-11-12 20:37:57 +03:00
Леонид Юрьев (Leonid Yuriev)
e6af7d7c53
mdbx: переработка инициализации, проверки и импорта dbi-хендлов в транзакциях.
...
Ранее инициализация в транзакциях структур данных, связанных с
dbi-хендлами и subDb, выполнялась непосредственно при запуске
транзакций. Что в сценариях с большим кол-вом dbi-дексприторов (например
libfpta) порождало заметные накладные расходы, которые расли линейно от
общего кол-ва открытых subDb, а не от реально используемых в транзакции.
При использовании одной-двух сотен хендлов, при старте каждой транзакции
могли копироваться и/или обнуляться десятки килобайт. Теперь этот
недостаток устранен.
Изменена схема инициализации, валидации и импорта хендлов открытых после
старта транзакции:
1) Инициализация теперь выполняется отложенна, а при старте транзации
обнуляется только массив с однобайтовыми статустами dbi-хендлов.
При этом доступнва опция сборки `MDBX_ENABLE_DBI_SPARSE`, при активации
которой используется битовая карты, что снижает объем инициализации
при старте транзакции в 8 раз (CHAR_BIT).
2) Переработана валидация dbi-хендлов на входах API, с уменьшением кол-ва
проверок и ветвлений до теоретического минимума.
3) Переработ импорт dbi-хендов открытых после старта транзакци, теперь
при этом не захватывается мьютекс.
2023-11-11 12:29:10 +03:00
Леонид Юрьев (Leonid Yuriev)
04511a7a99
mdbx: использование const MDBX_txn
где это возможно в API.
2023-10-23 20:25:03 +03:00
Леонид Юрьев (Leonid Yuriev)
4d3f7e1edc
mdbx: добавление mdbx_txn_release_all_cursors()
в API.
2023-10-23 20:25:03 +03:00
Леонид Юрьев (Leonid Yuriev)
d28a397b2d
mdbx: добавление mdbx_cursor_unbind()
в API.
2023-10-23 20:25:03 +03:00
Леонид Юрьев (Leonid Yuriev)
311a6e5d10
mdbx++: добавление забытого исключения mdbx::duplicated_lck_file
.
2023-10-23 16:33:34 +03:00
Леонид Юрьев (Leonid Yuriev)
e9b10db255
mdbx++: доработка использования filesystem
для старых компиляторов.
2023-10-09 07:34:01 +03:00
Леонид Юрьев (Leonid Yuriev)
e195f5bcf7
mdbx++: перегрузка txn::put_multiple()
и добавление контроля POD.
2023-10-06 21:56:21 +03:00
Леонид Юрьев (Leonid Yuriev)
c256e8358c
mdbx++: добавление slice::as_pod<typename>()
.
2023-10-06 12:07:38 +03:00
Леонид Юрьев (Leonid Yuriev)
7aaae2ecd5
mdbx-doc: исправление ссылок на mdbx_canary_put().
2023-06-01 08:48:38 +03:00
Леонид Юрьев (Leonid Yuriev)
e8d2a5bd09
mdbx++: добавление пары перекрестных ссылок в doxygen-документацию.
2023-05-23 15:35:36 +03:00
Леонид Юрьев (Leonid Yuriev)
60b483025c
mdbx++: устранение ложно-позитивного предупреждения новых версий GCC.
2023-05-14 01:23:48 +03:00
Леонид Юрьев (Leonid Yuriev)
99c9bc2411
mdbx: использование clang-format-16.
2023-04-19 11:02:53 +03:00
Леонид Юрьев (Leonid Yuriev)
3ace3c27b8
mdbx++: добавление typename mdbx::default_allocator
.
2023-04-01 11:10:40 +03:00
Леонид Юрьев (Leonid Yuriev)
8a44d57fab
mdbx++: добавление вариантов buffer::key_from()
с явным именованием по типу данных.
2023-03-31 00:56:05 +03:00
Леонид Юрьев (Leonid Yuriev)
7db014c4fc
mdbx++: добавление в C++ API поддержки расширенных опций времени выполнения enum MDBX_option_t
.
...
https://gitflic.ru/project/erthink/libmdbx/issue/4
2023-03-01 23:22:50 +03:00
Леонид Юрьев (Leonid Yuriev)
e51140fe48
mdbx-doc: корректировка doxygen-описания C++ API, в особенности C++20 concepts.
2023-02-11 00:26:06 +03:00
Леонид Юрьев (Leonid Yuriev)
2a41b24876
mdbx++: уточнение const
и noexcept
для нескольких методов.
2023-02-09 15:14:39 +03:00
Леонид Юрьев (Leonid Yuriev)
c01f025bfa
mdbx: обновление года на 2023.
2023-01-16 16:32:02 +03:00
Леонид Юрьев (Leonid Yuriev)
525c4a55a4
mdbx: fix English typos.
...
Thanks to Dimitris Apostolou <dimitris.apostolou@icloud.com>
2023-01-10 14:16:08 +03:00
Леонид Юрьев (Leonid Yuriev)
61eafe80c1
mdbx: использование https://libmdbx.dqdkfa.ru/dead-github для удаленных issues.
2022-11-23 01:18:25 +03:00
Леонид Юрьев (Leonid Yuriev)
70e8006776
mdbx-docs: перенаправление github-ссылок на web-archive.
2022-11-10 15:54:31 +03:00
Леонид Юрьев (Leonid Yuriev)
25ab65b470
mdbx++: добавление env::limits::pairsize4page_max()
и env::limits::valsize4page_max()
.
2022-10-10 16:37:59 +03:00