Леонид Юрьев (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)
5cf6542fa0
mdbx: добавление mdbx_cursor_scan_from()
в API.
2023-12-05 15:32:18 +03:00
Леонид Юрьев (Leonid Yuriev)
bc562d5c06
mdbx: добавление mdbx_cursor_scan()
в 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)
adcbb39379
mdbx: добавление mdbx_cursor_compare()
в API.
2023-12-05 15:32:18 +03:00
Леонид Юрьев (Leonid Yuriev)
10abf73191
mdbx: рефакторинг и микро-оптимизация cursor_next|_prev()
для dupsort-узлов.
...
- меньше сравнений и переходов.
- вложенный курсор всегда сбрасывается/очищается при переходе с dupsort-узла.
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)
7f21515940
mdbx: микро-оптимизация cursor_set()
.
...
Чуть меньше сравнений и переходов.
2023-11-26 12:25:13 +03:00
Леонид Юрьев (Leonid Yuriev)
6cef39c32f
mdbx++: добавление cursor::estimation_result
и переделка cursor::estimate()
.
2023-11-12 20:37:57 +03:00
Леонид Юрьев (Leonid Yuriev)
44beae00ec
mdbx: const
для начала и конца диапазона в аргументах mdbx_estimate_range()
.
2023-11-12 20:37:57 +03:00
Леонид Юрьев (Leonid Yuriev)
b7605e8033
mdbx: рефакторинг обработки MDBX_GET_MULTIPLE
добавление проверки key
на NULL
.
2023-11-12 20:37:57 +03:00
Леонид Юрьев (Leonid Yuriev)
100e95957c
mdbx-test: доработка логирования для использования после/из глобальных деструкторов.
2023-11-12 20:37:57 +03:00
Леонид Юрьев (Leonid Yuriev)
cfce4ef4d3
mdbx-test: явная установка append-режима для stdout/stderr.
2023-11-12 20:37:57 +03:00
Леонид Юрьев (Leonid Yuriev)
d9f49b17de
mdbx-test: добавление тестов для mdbx_env_resurrect_after_fork()
.
2023-11-12 01:49:53 +03:00
Леонид Юрьев (Leonid Yuriev)
af4dfe541b
mdbx: добавление mdbx_env_resurrect_after_fork()
в API.
2023-11-12 01:49:53 +03:00
Леонид Юрьев (Leonid Yuriev)
a22ec56938
mdbx: использование pthread_atfork(after_fork)
.
2023-11-12 01:49:53 +03:00
Леонид Юрьев (Leonid Yuriev)
ce74fae036
mdbx: рефакторинг и выделение env_open()
.
2023-11-12 01:49:53 +03:00
Леонид Юрьев (Leonid Yuriev)
54efb8bd81
mdbx: не считаем ошибки ipc-unlock критичными в случае смены pid.
2023-11-12 01:49:53 +03:00
Леонид Юрьев (Leonid Yuriev)
a3e2300f58
mdbx: возможность вызова osal_lck_destroy()
в дочернем процессе после fork()
.
2023-11-12 01:49:53 +03:00
Леонид Юрьев (Leonid Yuriev)
7ad54f54b4
mdbx: объединение lck-списка и rthc-таблицы для упрощения (де)регистрации TLS-деструкторов.
2023-11-12 01:49:53 +03:00
Леонид Юрьев (Leonid Yuriev)
eddade7b99
mdbx: корректировка префиксов имён osal-ipc функций.
2023-11-12 01:00:41 +03:00
Леонид Юрьев (Leonid Yuriev)
97418d5c9c
mdbx: рефакторинг env_handle_pathname()
для одной точки выделения/освобождения памяти.
2023-11-12 01:00:41 +03:00
Леонид Юрьев (Leonid Yuriev)
1b2f5f25d4
mdbx: рефакторинг и вынос txn_abort()
без кода входящих пероверок.
2023-11-12 01:00:41 +03:00
Леонид Юрьев (Leonid Yuriev)
2fe01eee89
mdbx: проверка pid только для запроса активной env.
2023-11-12 01:00:41 +03:00
Леонид Юрьев (Leonid Yuriev)
6477e6c5de
mdbx: исправление авто-установки MDBX_ENV_CHECKPID
для случая MDBX_ENABLE_MADVISE=0
.
2023-11-12 01:00:41 +03:00
Леонид Юрьев (Leonid Yuriev)
dea6570fc1
mdbx: доработка coherency_check()
для случая плохих номеров корневых страниц.
2023-11-11 12:29:15 +03:00
Леонид Юрьев (Leonid Yuriev)
9a6f8a1bf8
mdbx-test: увеличение tail-log до 3333 для CI.
2023-11-11 12:29:13 +03:00
Леонид Юрьев (Leonid Yuriev)
24d5b26bc5
mdbx-make: переименование целей.
2023-11-11 12:29:13 +03:00
Леонид Юрьев (Leonid Yuriev)
0916d24321
mdbx: использование опции ENABLE_MEMCHECK
вместо ENABLE_VALGRIND
и MDBX_USE_VALGRIND
.
2023-11-11 12:29:13 +03:00
Леонид Юрьев (Leonid Yuriev)
c216e1afb7
mdbx-test: добавление проверки mdbx_dbi_rename()
.
2023-11-11 12:29:10 +03:00
Леонид Юрьев (Leonid Yuriev)
c9c02dddfb
mdbx: добавление mdbx_dbi_rename()
в API.
2023-11-11 12:29:10 +03:00
Леонид Юрьев (Leonid Yuriev)
903d964f4d
mdbx: интенсивное использование __restrict
, в том числе при определении элементов структур.
2023-11-11 12:29:10 +03:00
Леонид Юрьев (Leonid Yuriev)
96504bf338
mdbx: отложенное освобождение имен связанных c dbi-хендлами и добавление опции MDBX_ENABLE_DBI_LOCKFREE
.
...
Отложенное освобождение позволяет реализовать безопасное выполнение
fastpath/lockfree при повторном открытии из других потоков/транзакцйий
уже открытых subDB, что и происходит при активации добавленной опции
сборки `MDBX_ENABLE_DBI_LOCKFREE`.
2023-11-11 12:29:10 +03:00
Леонид Юрьев (Leonid Yuriev)
3622669a9f
mdbx: проверка db-флагов и ре-инициализация MainDB при изменении флагов другим процессом.
2023-11-11 12:29:10 +03:00