Archive for 'Программирование'

Про ICU

Как известно, в Firebird 2.1, для работы с кодовыми страницами, была добавлена поддержка библиотеки ICU. Изначально — версия 3.0 (FB2.1, FB2.5). FB3 работает с ICU 5.2. Компоненты доступа, если они претендуют на «нативе» поддержку Firebird, тоже должны уметь работать с ICU. Так что приходится с этим возиться. На текущий момент, IBProvider поддерживает ICU3. При тестировании […]

Registration Free COM и OLE DB

Все что ни делается, все к лучшему … Предыстория В конце лета 2016-го, мой любимый рабочий ноутбук начал выносить мозг внезапными выключениями. К октябрю это окончательно задрало и я решил что пришло время осуществить свою мечту притворить в реальность мысли о новом рабочей лошадке. Которая сможет заменить и ноутбук и десктоп, собранный в 2008 году. […]

Расслабился …

Запустил «взрослое» нагрузочное тестирование с участием нового пула подключений на FB3. По ошибке — с участием fbclient.dll. Обнаружил это через пару часов после запуска, но решил — ладно, «нехай». 64-бита проехало без проблем. 32-бита встало по AV.

Про баги в libtommath [FB3]

В FB3 затащили внешнюю библиотеку для работы с большими числами — libtommath. Затащили как есть. Только за это хочется взять черенок от лопаты…

Visual Studio 2017

Вышла и доступна для скачивания! Скачал, поставил, перекомпилировал IBProvider. Работает!

Новый триал IBProvider [сборка 25055]

В новый триал (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. Связанный […]

Сравнение больших файлов в Araxis Merge

При сравнении относительно больших файлов в Araxis Merge вылазит окно: Пять лет не напрягало, а тут внезапно стало задалбывать. Написал в поддержку и получил следующую инструкцию: Открываем ветку реестра «HKEY_CURRENT_USER\SOFTWARE\Araxis\Merge\7.0» Меняем значение параметра LargeFileThreshold. Я у себя поставил значение FFFFFFFF. Работает.

Про PostgreSQL …

Там хорошо, где нас нет … Проснувшись ближе к вечеру (утром задолбала попа Грамота), открыл хабр и тупо стал созерцать картинку к топику про патчи к PostgreSQL: Набрал в поиске «element_alloc(HTAB *hashp, int nelem, in freelist_idx)» и вышел на файл postgrespro/postgres_cluster/blob/master/src/backend/utils/hash/dynahash.c. Реально — используют int для nelem и freelist_idx. Посмотрел что там дальше, после картинки […]

Про C++

Привет всем. Полез в код Firebird (не напрягайтесь), чтобы посмотреть одну штуку. Увидев код: Завис, а потом долго не мог вспомнить — «… зачем я сюда пришел?». А, ну да, полотенце жеж. Забавно осознавать что я подобные конструкции игнорировал раньше. Наверное срабатывал защитный механизм. Не, не круто. Надо так: А еще круче: Где raise_me это […]

« Older Entries