Archive by Author
В новый триал (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. Связанный […]
В настоящее время идет достаточно злобная массированная ревизия и переработка относительно старого кода, связанного с управлением OLE DB свойствами. В процессе обнаруживаются баги, дыры и костыли. Про первое и второе говорить особо смысла нет. А вот про третье — можно 🙂 Удалено свойство инициализации «free_threading«, которое влияло на значение информационного свойства «Data Source Object Threading«.
Все начиналось достаточно безобидно — я поправил в описании информационного свойства «Maximum Row Size» значение с 65536 на 65565. Потом сообразил, что надо бы поправить эту константу в коде IBProvider. Потом пришла мысль, которая должна была прийти в самом начале — «надо бы посмотреть на сайте FB». Посмотрел. Maximum row size = 64KB Maximum number […]
Что-то я увлекся и перестал следить за состоянием FB3. За шесть дней набежало.
Выложено очередное обновление IBProvider — версия 3.36 Примечательно, что сегодня стукнуло 17 лет с начала разработки этой штуковины. Хорошо помню что и в каком (ужасном) виде было создано в первые дни. Что касается новой версии, то за кулисами осталась безуспешная попытка создать «суперпровайдер», то есть DLL с самостоятельно живущими потоками. К сожалению, выгрузка DLL ведет […]
На сайт выгружена новая сборка IBProvider (3.36.0.24718), в которой сделано небольшое, но важное изменение — задействована системная функция DisableThreadLibraryCalls. Это немного улучшает работу IBProvider в многопоточных процессах (провайдер сам по себе многопоточный), но говорит «до свидания» Windows 2000, в которой данная функция не поддерживается. Поскольку последний раз про поддержку Windows 2000 спрашивали много лет тому […]
Free IBProvider теперь, как и основные версии (Prof, Lite), распространяется в виде MSI-пакета.
Сегодня стукнул год с момента выпуска провайдера с собственным клиентом для FB. После таких релизов обычно накрывает страх не удержать темп или, что еще хуже — начать считать что лучше уже не сделать 🙂 Но пока страхи не оправдываются и за прошедший год были сделаны две ключевые вещи: 1. Наконец-то побеждены VARCHAR-массивы. 2. Реализован собственный […]
При сравнении относительно больших файлов в Araxis Merge вылазит окно: Пять лет не напрягало, а тут внезапно стало задалбывать. Написал в поддержку и получил следующую инструкцию: Открываем ветку реестра «HKEY_CURRENT_USER\SOFTWARE\Araxis\Merge\7.0» Меняем значение параметра LargeFileThreshold. Я у себя поставил значение FFFFFFFF. Работает.