Archive for 'IBProvider'
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 мне на сердце.
На сайт загружена новая сборка IBProvider (3.47.0.27110), в которую внесены два изменения. 1. Изничтожено использование std::locale. Один из пользователей заслал стек падения внутри этой конструкции. Судя по всему, проблема связана с параллельным вызовом setlocale. Этот std::locale уже один раз был причиной проблем в прошлом. Вот опять напомнил о себе. 2. Переписано последнее «наследство» от второй […]