2017-05-31 16:44:43 +03:00
|
|
|
|
Допеределки
|
2017-04-25 19:17:57 +03:00
|
|
|
|
- [x] разделение errno и GetLastError()
|
2017-03-29 15:41:53 +03:00
|
|
|
|
- [x] CI посредством AppVeyor
|
2017-05-31 16:44:43 +03:00
|
|
|
|
- [x] тест конкурентного доступа.
|
|
|
|
|
- [x] тест основного функционала (заменить текущий треш).
|
|
|
|
|
- [x] uint32/uint64 в структурах
|
|
|
|
|
- [x] Завершить переименование
|
|
|
|
|
- [x] Макросы версионности, сделать как в fpta (cmake?)
|
|
|
|
|
- [x] Попробовать убрать yield (или что там с местом?)
|
|
|
|
|
- [x] trinity для copy/compaction
|
|
|
|
|
- [x] trinity для mdbx_chk и mdbx_stat
|
|
|
|
|
- [x] проверки с mdbx_meta_eq
|
|
|
|
|
- [x] Не проверять режим при открытии в readonly
|
|
|
|
|
- [x] Поправить выбор tail в mdbx_chk
|
|
|
|
|
- [x] Там-же проверять позицию реклайминга
|
|
|
|
|
- [x] поправить проблему открытия после READ-ONLY.
|
|
|
|
|
- [x] static-assertы на размер/выравнивание lck, meta и т.п.
|
|
|
|
|
- [x] Зачистить size_t
|
|
|
|
|
- [x] Добавить локи вокруг dbi
|
|
|
|
|
- [x] Привести в порядок volatile
|
|
|
|
|
- [x] контроль meta.mapsize
|
|
|
|
|
- [x] переработка формата: заголовки страниц, meta, clk...
|
|
|
|
|
- [x] зачистка Doxygen и бесполезных коментариев.
|
|
|
|
|
- [x] Добавить поле типа контрольной суммы.
|
|
|
|
|
- [x] Добавить поле/флаг размера pgno_t.
|
|
|
|
|
- [x] Поменять сигнатуры.
|
2017-05-31 18:58:55 +03:00
|
|
|
|
- [x] Добавить мета-страницы в coredump, проверить lck
|
2017-06-05 14:22:52 +03:00
|
|
|
|
- [x] Сделать список для txnid_t, кода sizeof(txnid_t) > sizeof(pgno_t) и вернуть размер pgno_t
|
2017-06-05 17:16:21 +03:00
|
|
|
|
- [x] Избавиться от умножения на размер страницы (заменить на сдвиг).
|
2017-06-05 20:48:05 +03:00
|
|
|
|
- [x] Устранение всех предупреждений (в том числе под Windows).
|
2017-06-30 00:21:28 +03:00
|
|
|
|
- [x] Добавить 'mti_reader_finished_flag'.
|
|
|
|
|
- [ ] Отрефакторить mdbx_freelist_save().
|
|
|
|
|
- [ ] Хранить "свободный хвост" не связанный с freeDB в META.
|
|
|
|
|
- [ ] Перевод mdbx-tools на С++ и сборка для Windows.
|
|
|
|
|
- [ ] Заменить заглушки mdbx_version и mdbx_build.
|
2017-05-31 16:44:43 +03:00
|
|
|
|
- [ ] Актуализация README.md
|
|
|
|
|
|
|
|
|
|
CI
|
|
|
|
|
- [ ] Прикрутить проверку coverity
|
|
|
|
|
- [ ] Добавить в CI linux сборки для 32-битных таргетов
|
|
|
|
|
|
|
|
|
|
Доработки API
|
2017-06-16 14:29:37 +03:00
|
|
|
|
- [x] Дать возможность задавать размер страницы при создании БД.
|
|
|
|
|
- [x] Изменение mapsize через API с блокировкой и увеличением txn
|
|
|
|
|
- [x] Контроль размера страницы полного размера и кол-ва страниц при создании и обновлении.
|
|
|
|
|
- [x] Инкрементальный mmap.
|
|
|
|
|
- [x] Инкрементальное приращение размера (колбэк стратегии?).
|
|
|
|
|
- [ ] Поправить/Добавить описание нового API.
|
2017-05-31 16:44:43 +03:00
|
|
|
|
- [ ] Возврат выделенных страниц в unallocated tail-pool.
|
2017-06-16 14:29:37 +03:00
|
|
|
|
- [ ] Добавить возможность "подбора" режима для mdbx_env_open()
|
2017-05-31 16:44:43 +03:00
|
|
|
|
- [ ] Переименовать в API: env->db, db->tbl
|
|
|
|
|
|
|
|
|
|
Тест
|
2017-06-30 00:21:28 +03:00
|
|
|
|
- [ ] Тестирование поддержки lockless-режима.
|
2017-06-16 14:29:37 +03:00
|
|
|
|
- [ ] Додумать имя и размещение тестовой БД по-умолчанию.
|
2017-05-31 16:44:43 +03:00
|
|
|
|
- [ ] Реализовать cleanup в тесте
|
|
|
|
|
- [ ] usage для теста
|
|
|
|
|
- [ ] Логирование в файл, плюс более полный progress bar
|
|
|
|
|
- [ ] Опция игнорирования (пропуска части теста) при переполнении БД
|
|
|
|
|
- [ ] Базовый бенчмарк
|
|
|
|
|
|
|
|
|
|
Отладка
|
|
|
|
|
- [ ] Убрать MDB_DEBUG (всегда: логирование важный ситуаций и ошибок, опционально: включение ассертов и трассировка)
|
|
|
|
|
- [ ] Заменить mdbx_debug на mdbx_trace, и почистить...
|
|
|
|
|
- [ ] Заметить максимум assert() на mdbx_assert(env, ...)
|
|
|
|
|
|
|
|
|
|
Развитие
|
|
|
|
|
- [ ] Валидатор страниц БД по номеру транзакции:
|
|
|
|
|
~0 при переработке и номер транзакции при выделении,
|
|
|
|
|
проверять что этот номер больше головы реклайминга и не-больше текущей транзакции.
|
2017-06-16 14:29:37 +03:00
|
|
|
|
- [ ] Размещение overflow-pages в отдельном mmap/файле с собственной геометрией.
|
|
|
|
|
- [ ] Разместить free_backlog в конце meta
|
2017-05-31 16:44:43 +03:00
|
|
|
|
- [ ] Валидатор страниц по CRC32, плюс контроль номер транзакии под модулю 2^32.
|
|
|
|
|
- [ ] Валидатор страниц по t1ha c контролем снимков/версий БД на основе Merkle Tree.
|
|
|
|
|
- [ ] Возможность хранения ключей внутри data (libfptu)
|
|
|
|
|
- [ ] Асинхронная фиксация (https://github.com/ReOpen/libmdbx/issues/5)
|
|
|
|
|
- [ ] (Пере)Выделять память под IDL-списки с учетом реального кол-ва страниц, т.е. max(MDB_IDL_UM_MAX/MDB_IDL_UM_MAX, npages)
|