IBProvider v3.27.1. Сервисное обновление
Мы рады представить первое обновление нашего OLE DB провайдера в 2016 году. После предыдущего релиза сложно сделать что-то похожее по масштабу. Но, тем не менее, мы все таки попытались сделать провайдер еще лучше.
О нашем собственном клиенте для Firebird (fb.direct)
В предыдущем релизе мы полностью опустили описание новой подсистемы IBProvider v3.27 для подключения к Firebird без использования серверного клиента (fbclient.dll). Ограничились только указанием способа её активации.
И это породило вопросы у наших пользователей. В частности — «зачем мы его написали?».
Чтобы ответить на этот вопрос нужно перечислить список проблем fbclient.dll (до v2.5 включительно):
- Утечки памяти
- Утечки активных многопоточных блокировок
- Рассинхронизация на уровне приема/отправки пакетов
- Ошибки в реализации отмены выполнения операций
- Ошибки в алгоритмах
- Архитектурные проблемы ISC API
- И так далее и тому подобное
Все эти проблемы присутствуют в любом приложении, которое использует fbclient.dll. И они не зависят от качества и возможностей компонент доступа (FIBPlus, IBObjects, FireDAC, ODBC, IBProvider и так далее).
Сначала мы попробовали решить эти проблемы непосредственно в самой fbclient.dll и создали собственный клон Firebird 2.5. Но это помогло решить только небольшую часть проблем.
Поэтому пришлось решать проблему самым радикальным способом – написать собственный клиент с нуля.
Чтобы контролировать и гарантировать качество реализации, для неё было написано 24K новых unit-тестов. Это дополнительно к 7 миллионам существующим тестам основной тестовой системы IBProvider. На протяжении всего периода разработки шло круглосуточное тестирование.
После релиза 17 декабря 2015, было проведено дополнительное расширенное нагрузочное и стрессовое тестирование прямого подключения к Firebird 2.5 (SuperClassic, x64, Win) через TCP/IP. Это более 1500 часов процессорного времени тестовой системы. Все работает очень хорошо.
Надеемся, что предоставленная информация дает ответ на вопрос о преимуществах нового способа подключения к выделенному серверу Firebird 2.5 через IBProvider.
Но выбор, конечно, остается за вами.
Улучшена поддержка массивов
Для работы описания размерностей массивов провайдер теперь использует 32-битные числа. Это позволяет работать с размерностями, содержащими до 2GB элементов. Например: [-1000000:1000000].
Уборка мусора
Удалено несуразное свойство «IB Remote Connection».
Сборки vc14xp
Сборки «vc14xp» теперь компилируются с использованием Visual Studio 2015 Update 1.
Версия CRT: 14.0.23506.0
Внутренние изменения
Мы постоянно работаем над улучшением качества C++ кода IBProvider. Часть изменений можно наблюдать в каталоге «Lib» с установкой IBProvider.
Текущее направление работ
Мы хотим исправить серверную ошибку с VARCHAR-массивами (CORE-1588) на уровне провайдера.
Это будет хорошей проверкой технологических возможностей IBProvider.