Вести с полей

Привет всем.

Никак не получается притормозить изменения в IBP и перейти к финализации версии 5.17. Ну очень увлекательное занятие.

0. Сначала о стороннем. Судя по субъективным наблюдениям — если гонять тесты в четыре потока, то FB3 (Win/SS/x64) вроде как работает без проблем. Если в десять потоков, то рано или поздно к нему приходит северный пушистый зверь и его приходится перегружать.

HOME4 Wed May 13 09:39:53 2020
Database: D:\DATABASE\RAM\IBP_TEST_FB30_D3.GDB
internal Firebird consistency check (pointer page vanished from DPM_next (249), file: dpm.cpp line: 1904)

При Обаме такого не было.

1. В IBP добавлена поддержка InterBase 2020 (v14). Поддержка заключается в определении нового списка ключевых слов и подключении исправленного механизма чтения/записи массивов. Последнее, по большому счету, заключается в прогоне тестов для 32-битного и 64-битного сервера.

Впечатление о сервере абсолютно нейтральное. Даже вспоминаться его родителей не хочется. Не упал и … ладно. Запросы типа «select EXTRACT(DAY FROM NULL) FROM …» как не переваривались, так и не перевариваются.

2. В схеме метаданных PROCEDURES корректно восстанавливается определение UDR процедур Firebird. Тут уже можно и выругаться по поводу отсутствия в дистрибутиве FB3 откомпилированного модуля udrcpp_example.dll. Типа, сами разбирайтесь …

Другие (внутренние) изменения в IBP
3. Закончил строительство «забора» для кода IBP. Я про пространство имен. Все помещено в пространство «lcpi::ibp::». Заодно оценил объем его исходных текстов — более 3 тысяч файлов c весом ~26MB.

Финальная цель у этого (глобального) процесса — перемещение содержимого каталога lib в cpp/public/source/lib. Занятие на ближайшие пять лет.

4. Имя кодовой страницы системным таблиц (UNICODE_FSS) теперь берется из внутренних настроек подключения. Ранее она была жестко прописана внутри алгоритмов. Будем считать что это первый шажок в сторону поддержки FB4, у которого системные таблицы используют UTF8.

Вообще, это была очень интересная задача.

5. Перетряхнул классы парсера запросов. По моему, я в них лет семь не заглядывал.

6. Про 64-битные счетчики ссылок я уже писал.

Хочется еще что нибудь сломать и улучшить. Но, наверное, пора закругляться 🙂

2 комментария

sim_84  on 21 мая, 2020

>>> Если в десять потоков, то рано или поздно к нему приходит северный пушистый зверь и его приходится перегружать.

А в трекере об этом запись есть с воспроизводимым примером.

Dmitry Kovalenko  on 28 мая, 2020

Пока не реализуют нормальное управление счетчиком ссылок в rem_port, в этом нет никакого смысла.

Это такой, недвусмысленный мессадж.

Leave a Comment