Новый триал [сборка 14847].
Привет всем.
В новую сборку IBProvider-a внесен ряд достаточно существенных изменений.
1. По-умолчанию провайдер отклоняет повторное использование подключения, если у его сессий остались «зависшие» подписчики на уведомления (ITransactionOutcomeEvents). Это поведение можно изменить через новое свойство инициализации reset_ds_session_sinks_rule
2. Теперь провайдер всегда запрашивает описания параметров запроса. Свойство force_param_describe помечено как устаревшее и его значение теперь игнорируется.
3. Переработана работа с параметрами запросов. Теперь провайдер приводит значения параметров к типу, полученному от сервера. Ранее такое принудительное преобразование выполнялось только для массивов.
Небольшая деградация функционала. Для работы с типом SQL_NULL (FB2.5) требуется клиент от FB2.5.
4. Устранено жесткое разделение первого и третьего диалектов при обработке параметров и колонок. Как результат — провайдер стал совместим с изменениями в FB3, который разрешает работать с типами SQL_BIGINT, SQL_TYPE_DATE, SQL_TYPE_TIME в первом диалекте.
5. Добавлена поддержка для запроса «MERGE … RETURNING» (Firebird 3.0)
6. Проверена поддержка «SUB-ROUTINES» (вложенные хранимые процедуры и функции, новый функционал FB3).
Выложенная сборка прошла полный цикл стрессового тестирования (1/3 диалекты, 32/64 бита).