Archive for 'Программирование'
Узнал (из последней книжки одного модного писателя современного классика), что у моего метода тестирования, до которого я допер сам и применяю уже почти 10 лет, есть название — BET (bounded exhaustive testing). Переводится как ограниченное задалбывающее исчерпывающее тестирование.
Вчера осуществил задуманное и накатал простенький тест памяти, который запускается прямо из под Windows. В качестве подопытного кролика была планка на 16GB, с которой возникла заминка (см. мой комментарий за 2017-10-20). Как положено, сначала была простейшая однопоточная реализация, которая гоняла в цикле код вида: Запустил на 16GB и не дождался пока этот тест отработает до […]
Привет всем. Завершен процесс релиза 46-обновления третьей версии IBProvider — опубликованы новости. С моей точки зрения, в этом выпуске самое главное — внутренние изменения, связанные с реорганизацией исходного кода. Хотя конечным пользователя абсолютно безразлично. Пока перестраивал код, в голову пришли следующие мысли: 1. Сначала программист на C++ больно и мучительно приходит к использованию счетчиков ссылок […]
Как известно, в Firebird 2.1, для работы с кодовыми страницами, была добавлена поддержка библиотеки ICU. Изначально — версия 3.0 (FB2.1, FB2.5). FB3 работает с ICU 5.2. Компоненты доступа, если они претендуют на «нативе» поддержку Firebird, тоже должны уметь работать с ICU. Так что приходится с этим возиться. На текущий момент, IBProvider поддерживает ICU3. При тестировании […]
Все что ни делается, все к лучшему … Предыстория В конце лета 2016-го, мой любимый рабочий ноутбук начал выносить мозг внезапными выключениями. К октябрю это окончательно задрало и я решил что пришло время осуществить свою мечту притворить в реальность мысли о новом рабочей лошадке. Которая сможет заменить и ноутбук и десктоп, собранный в 2008 году. […]
Запустил «взрослое» нагрузочное тестирование с участием нового пула подключений на FB3. По ошибке — с участием fbclient.dll. Обнаружил это через пару часов после запуска, но решил — ладно, «нехай». 64-бита проехало без проблем. 32-бита встало по AV.
В FB3 затащили внешнюю библиотеку для работы с большими числами — libtommath. Затащили как есть. Только за это хочется взять черенок от лопаты…
Вышла и доступна для скачивания! Скачал, поставил, перекомпилировал IBProvider. Работает!
В новый триал (v3.38.0.25055) внесены следующие изменения и исправления: 1. Реализован контроль длин названий объектов в XSQLVAR (relname_length, sqlname_length, aliasname_length). До этого было обрезание при превышении максимального значения (32 или 68 байт) и обнуление отрицательного значения. Так что если серверный клиент вернет в этих полях некорректное значение, то теперь провайдер будет ругаться.
Сегодня один наш турецкий друг прислал замечательную ошибку, полученную при работе через собственный FB-клиент провайдера (dbclient_type=fb.direct). Говорит — с gds32.dll такой проблемы нет. Связанный кусок SQL запроса: Ответил, что gds32.dll обрезает строки, а провайдер обрабатывает строки (которые не влазят в XSQLVAR) как ошибки. И сообщил о своих мыслях избавиться в собственном клиенте от XSQLDA/XSQLVAR. Связанный […]