Archive for Декабрь, 2018

С наступающим Новым Годом!

Наверное уже можно поздравить всех, кто сюда заглядывает, с наступающим Новым 2019-ым Годом! И это, простите меня, если что 🙂

Мысль …

… пришла в больную голову. ОРЗ или что-то вроде того, блин. Я тут как-то тут писал что в сетевых пакетах (гоняемых между сервером и клиентом) первым делом нужно указывать их длину. Ну, чтобы его можно было целиком выбирать пакет из потока без анализа его данных. Сейчас этого (в FB) нет, и как результат плохо работает […]

Вести с полей

На сайт загружена новая тестовая сборка IBProvider — v3.55.0.29115. В неё, в том числе, вошли результаты борьбы с предупреждениями PVS-Studio. 95% это замена assert на assert_hint. Из этих 95% большая часть — в моей переработанной версии libtommath, которую перед тем как затащить в проект пришлось перетряхнуть и нафаршировать ассертами. Для остальных 5% пришлось напрячься.

assert_hint

Созерцая предупреждение PVS-Studio для код вида: … задумался. У меня таких декларативных отладочных проверок — даже не вагон и маленькая тележка. Тут их эшелон(ы). И наверное уже пора добавить в свою в инструментальную библиотеку макрос assert_hint.

Пешите тесты

С добрым утром. В процессе обкладывания тестами нового кода IBProvider, обнаружил интересную проблему у плюсового компилятора VS2017 (v15.9.4): На выходе видим: Хотя ожидается: -1i16 — это же вроде short, а не int. Вот так вот расслабишься, а оно тебе ключом по голове.

IBProvider v4. Мысль вслух

Я вот думаю, что если эта версия когда и появится, то её основным отличием от v3 будет модульность. В том смысле, что будет набор DLL. Эта мысль уже неоднократно приходила в мою бестолковую голову, и надо бы её как-то уже задокументировать. Первым кандидатом на оформление в виде в виде отдельной DLL является менеджер потоков и […]

16 декабря

Каждый год, 16 декабря, мы с друзьями я себе напоминаю, что не надо обещать сделать то, что уже не готово процентов на 90%. А лучше на все 110%. И если пообещал, то лучше сделать. Чтобы потом не было грустно. — Вообще, три года назад был интересный месяц — в IBProvider был запилен собственный клиент для […]

IBProvider v3.54

Сборки IBProvider v3.54.0.29017 доступы для скачивания из личных кабинетов. Основные изменения 1. Улучшена устойчивость кода к OUTOFMEMORY. 2. Изменена обработка строки подключения. Дубли и ошибки в структуре списка параметров теперь обрабатываются как критические ситуации и провайдер выкидывает сообщения об ошибках. До кучи обновлены «LCPI OLEDB Services» — v1.6. Изменения в этих компонентах так же связаны […]

Firebird 3.0.5.33083

Утром посмотрел состояние сервера после нагрузочного тестирования IBProvider. Что-то как-то много у него дескрипторов осталось незакрытых. 280 штук. Вроде это уже чинилось и он (сервер) начал нормально себя вести. В частности, после «большого тестирования FB3.0.4.33047» у него оставалось всего 228 дескриптора. В голову приходят такие мысли: 1. В 3.0.5 что-то сломали? 2. Два из шести […]

Новый триал IBProvider 3.54.0.29017

Уже дважды прогонял тесты, позволяющий выпустить релиз IBProvider 3.54, но опять решил немного доработать код 🙂 На днях осознал «variadic templates», и не смог не заюзать их для обновления одной штуки, написанной в далеком 2001 году — это конструкция для хранения указателя на метод объекта. Аналог event’ов из Delphi и C++ Builder. Код радикально сократился […]