С новым годом
Вчера перепилил одну функцию в fbclient.dll. В исследовательских целях.
Запустил на ночь тесты с отладочной сборкой этой DLL.
Утром увидел привет от старого знакомого.
Семен Семёныч… С Новым Годом тебя.
Вчера перепилил одну функцию в fbclient.dll. В исследовательских целях.
Запустил на ночь тесты с отладочной сборкой этой DLL.
Утром увидел привет от старого знакомого.
Семен Семёныч… С Новым Годом тебя.
С 11 декабря по 21 декабря проехало нагрузочное тестирование:
— IBP v5.9.0.33098
— LCPI OLE DB Services v1.12.0.874
Сборки: vc16, debug/release, 32/64 бита.
Тестировалась работа с базами 1 и 3 диалектов.
Подключение — fb.direct и через fbclient.dll (64bit only).
В 10 потоков.
Часть заездов с 32-битами завершилась из-за OUTOFMEMORY (4GB все таки маловато), но не упала.
А, ну да. Сервер — Firebird 3.0.5.33180 SS x64 Win.
Оставлю здесь ссылку на эту заметку — InterBase at BorCon 2001.
Firebird Foundation, при поддержке компаний iBase, RedSoft и IBPhoenix, объявляет о программе Firebird Internship.
Программа международная, в скором времени объявление появится и на firebirdsql.org.
Цель программы — увеличить количество разработчиков Firebird всех уровней — как профессионалов, так и просто любителей повозиться с кодом и разобраться с тем, как работает Firebird, на глубоком уровне.
До последнего момента отлаживал PHP «методом пристального взгляда».
На самом деле это не сложно, если код нормально структурирован.
Но сегодня что-то я устал и решил изучить тему нормальной отладки.
Через 15 минут отладчик был прикручен (Win7, Apache x64, PHP5.6, xDebug, VS Code).
И осторожно подумалось — наверное же и для Firebird/InterBase такое можно сделать.
Один товарищ, на курс старше меня учился, лет 12 назад мне говорил, что (в принципе) знает как такое делается…
Мда Ээхх…
Привет.
Про баги
Меня иногда посещает мысль — вместо прогона одних и тех же тестов в течении стольких лет, надо покупать лотерейные билеты и вписывать один и тот же набор цифр. В новостях иногда проскакивает, что такая схема работает.
Неделю назад, утром в субботу, разблокировал компьютер и узрел окно с ошибкой в тестах. При тестировании отладочной 32-битной сборки сработал assert.
Я так удивился, что сразу начал делать screenshot-ы этого чуда и делать дампы памяти процесса. (далее…)
Завершена работа над новым обновлением IBProvider — v5.9. Сборка 33077, загруженная на сайт, с очень высокой долей вероятности уйдет в релиз. Одновременно будет выпущено обновление LCPI OLE DB Services v1.12.
Основное изменение — в сборках vc16 (VS2019) пул потоков выделен в самостоятельную DLL, которую будут одновременно использовать и IBProvider и сервисы OLE DB.
Пожалуй, здесь стоит перечислить, для каких задач используются потоки. (далее…)
Реорганизация исходных текстов, затеянная (по факту) три года назад, вышла на … очередную финишную прямую 🙂
1. Из каталога lib/structure выделены базовые конструкции и перемещены в каталог cpp/public/lcpi/infrastructure/core/structure. Это типа фундамент всего и вся. Кстати, не очень большой. Список файлов:
t_err_record.h t_err_records_r.h t_err_records_w.h t_exception.h t_explicit.h t_lcid.h t_not_null_ptr.h t_smart_interface.h t_smart_object_ptr.cc t_smart_object_ptr.h
Это уже попало в выпущенные IBProvider v5.8 и LCPI OLE DB Services v1.11.
2. Буквально вчера реорганизовал вершину каталога с проектом IBProvider. Достаточно важная веха в истории проекта. Файл readme.txt из корня старого каталога содержит следующее:
Проект IBProvider [v3]
— OLEDB Provider for InterBase/Firebird SQL ServersКоваленко Дмитрий. 21 октября 2003 года. Поехали.
Время бежит, да.
Закачал очередное обновление IBProvider в личные кабинеты клиентов и залип на таблице:
Дело к зиме идет, а он худеть начал 🙂
Привет всем.
1. Выложен новый триал IBProvider v5.8 (сборка 32840). В этой сборке продолжены анализ и зачистка кода. Бинарники еще немного похудели.
2. Не то чтобы размер бинарных файлов очень сильно напрягал, но уже пришлось переместить архив со всеми ранее выпущенными версиями (финальными и промежуточными) на отдельный 2TB диск. Четверть диска пока свободна, но исходя из текущих планов, это свободное место будет выжираться немного бодрее.
3. Время от времени приходится напоминать себе конечный пункт этих самых планов. Потому что, когда «топчешься на месте» четвертый месяц, забываешь ради чего все затевалось. Сейчас это делать стало немного проще, поскольку появилась такая картинка: