Archive for 'IBProvider'
В последних сборках Firebird 3.0.4 (у меня сейчас стоит 3.0.4.32952) разрешили использование символа ‘\r’ в качестве переноса строки. Что привело к рассогласованию парсера запросов Firebird и IBProvider. В целом, проблема ничтожная. Но она напомнила о старой мысли ужесточить ограничение на максимально поддерживаемые версии серверов (FB/IB). Во избежание. С одной стороны идея плохая. Потому что возникают […]
IBProvider v3.50 вышел на финишную прямую. По крайней мере, мне так кажется. В новой тестовой сборке (28330), доступной для скачивания с сайта, обновлена обработка ошибок. Первое. Наконец-то, реализована нормальная поддержка предупреждений. Предыдущий код «забывал» их в случае возникновения критической ошибки. Второе. В операциях с массовой генерацией предупреждений и ошибок, при превышении жестко заданного лимита на […]
На сайт IBProvider загружен новый триал OLE DB провайдера — v3.50.0.28072, в котором исправлена структурная ошибка внутреннего представления данных из за которой были специфические затруднения с модификацией базы данных. Суть проблемы заключалась в том, что провайдер не умел корректно обрабатывать DEFAULT-значения (они обрабатывались как NULL-значения). Для этого нужно было вместо пары {value, IsNull} работать с […]
В задумчивости тыкая в интерфейсе «OLE DB Rowset Viewer» (это стандартная штука для проверки провайдеров «руками и глазами»), запросил неправильный интерфейс результата и спровоцировал ассерт внутри ICommand::Execute. Релизный бинарник, как положено, возвращает E_NOINTERFACE. Изучение этой проблемы показало, что ассерт был по делу — FAILED-ошибки (типа E_NOINTERFACE) должны обрабатываться другой веткой кода, в которой (до кучи) […]
Загружены бинарные файлы второго обновления IBProvider в текущем году (во завернул) — v3.49.0.27783. Изменения. 1. Запрещено использование DBBINDING с типами DBTYPE_EMPTY, DBTYPE_NULL. 2. Задействованы коды ошибок DB_E_UNSUPPORTEDCONVERSION, DB_E_BADSTATUSVALUE, DB_E_BADTYPE. 3. Уборка мусора в коде. Проводил в последний путь корзину файл с утилитами, созданный в 2000 году. Даже немного взгрустнулось. 4. Продолжил избавляться от использования классов, […]
Привет всем. Пару месяцев назад обратил внимание, что 64-битный бинарник IBProvider-а (собранный в 2017-ой) внезапно потяжелел на полторы сотни килобайт. Я еще подумал — «это с какого перепугу произошло?». Было сильное подозрение, что «это» произошло после очередного обновления студии, но так и не проверил. Сегодня обновил 2017-ю студию до версии 15.6.1 и вижу следующее: Обратно […]
Привет всем. Сегодня стукнуло 18 лет с начала разработки IBProvider. Можно порадоваться, а можно и ужаснуться. Грубый анализ состояния проекта с помощью SourceMonitor-а, показывает следующий цифры: Самой первой подсистемой этого проекта был конвертер OLE DB типов. Как сейчас помню — гигантский файл под две тысячи строчек. В 2008 году этот конвертер был переписан — это […]
Привет всем. 1. Сегодня обновил сборки IBProvider (3.47.0.27224), которые крутились под тестами с 7 ноября прошлого (2017) года. Больше двух месяцев. Даже стало интересно сколько этот релиз IBProvider наработал процессорного времени под тестами. Получилось 154 дня. Пять месяцев, Карл. 2. В течении прошедших двух месяцев возился с провайдером для linq2db. Очень увлекательное занятие. Соорудил прототип, […]
Вот так сидишь, ласково матерясь, возводишь инфраструктуру нового модуля, а тебе приходит письмо от клиента: Your devs seem to be the only ones in the world to be able to get 3rd party Interbase connectivity to work as advertised. Great work! MonteNegro мне на сердце.