Дата публикации: 30.07.2008

IBProvider 3.0.0.4963. В 2,5 раза увеличена производительность с отключенным кешем метаданных

Краткая аннотация релиза

Новая сборка IBProvider v3 Release Candidate 3 [build 3.0.0.4963]

  • Улучшена работа с NUMERIC-типами.
  • В 2,5 раза увеличена производительность с отключенным кэшем метаданных.
  • Доработаны схем метаданных. В том числе в схемах TABLE_INFO и TABLES добавлена классификация внешних (EXTERNAL TABLE) и временных таблиц (GLOBAL TEMPORARY PRESERVE/DELETE) начиная с Firebird 2.1 и InterBase 7.5.
  • Корректная обработка активных транзакций в пуле подключений.

Новые сборки IBProvider v1.9.9.2547 и IBProvider v2.6.3.2547

  • Исправлена ошибка в описании колонок BLOB-полей.
  • Корректная обработка активных транзакций в пуле подключений.

IBProvider v3 Release Candidate 3 build 3.0.0.4963

Улучшена работа с NUMERIC-типами.

  • Корректное представление типов NUMERIC- колонок с нулевым масштабом.
  • Не будет работать для InterBase 4.x и InterBase 5.x.
  • Изменена точность NUMERIC-колонок: 4,9,18. До этого назначалась точность: 5/10/19. Точность зависит от базового типа, в котором хранится NUMERIC (SHORT, LONG, INT64).
  • Изменения распространяются на обычные колонки и колонки с массивами.

Обратная совместимость.

Для обратной совместимости добавлены свойства инициализации numeric_i2_rules, numeric_i4_rules, numeric_i8_rules. Укажите эти свойства в строке подключения со значением 3, и вы вернете предыдущее поведение провайдера.

Известные проблемы при работе с NUMERIC и способы их решения

Cерверы (IB, FB, Ya) реализуют упрощенный контроль точности. Они позволяет сохранять, к примеру, число 32000 в колонке NUMERIC(4,0). MS SQL Server 2005 проверяет точность загруженных данных. Если она отличается от описания указанного в колонке — генерирует ошибку:

OLE DB provider ‘LCPI.IBProvider.3’ for linked server ‘IBP_TEST_FB21_V3’ returned invalid data for column ‘[IBP_TEST_FB21_V3]…[NUM].N_1_0’

Для определения поведения провайдера в данном случае используйте свойства numeric_i2_rules, numeric_i4_rules, numeric_i8_rules.

Корректное взаимодействие с пулом подключений

  • При использовании SQL для старта транзакций, ADODB может поместить в пул подключение с активной транзакцией. Как следствие, при повторном использовании, пул может вернуть подключение с незавершенной транзакцией. В IBP v1, v2, v3 добавлено свойство инициализации reset_ds_tr_rule, которое определяет поведение провайдера в таких ситуациях.
  • Реализован сброс свойств сессии, повторно используемого подключения, в начальное состояние.

Оптимизация загрузки метаданных с отключенным кэшем

При указании в строке подключения schema_cache=0, провайдер использует параметризованные запросы, учитывающие ограничения.

Это сокращает трафик между клиентом и сервером и увеличивает скорость работы до 2.5 раз при отключенном кеше метаданных по сравнению с предыдущими версиями. По умолчанию schema_cache=1 (Кэш метаданных включен).

Классификация внешних и временных таблиц

В схемах метаданных TABLES, TABLES_INFO в колонке TABLE_TYPE добавлены новые классификации таблиц:

  • EXTERNAL TABLE — все типы и версии серверов
  • GLOBAL TEMPORARY PRESERVE — InterBase 7.5, Firebird 2.1 и старше.
  • GLOBAL TEMPORARY DELETE — InterBase 7.5, Firebird 2.1 и старше.

Другие изменения в схемах метаданных

  • В TABLES_INFO, TABLES добавлена колонка «EXTERNAL_FILE».
  • В TABLES_OWNER добавлена колонка «TABLE_OWNER».
  • Игнорируется регистр текста, переданного в ограничении для колонки «TABLE_CONSTRAINT::CONSTRAINT_TYPE».

Новые сборки IBProvider v2, v1

  • IBProvider v1 [1.9.9.2547]
  • IBProvider v2 [2.6.3.2547]

Реализованы некоторые нововведения из IBProvider v3 RC3

  • Добавлено игнорирование регистра текста, переданного в ограничении для колонки «TABLE_CONSTRAINT::CONSTRAINT_TYPE».
  • Корректное взаимодействие с пулом подключений.

Кроме того исправлена ошибка в описании колонок BLOB-полей

Из-за ошибки, допущенной в релизе 2.6.1 (2.6.2), колонки с BLOB полями содержали ошибочный флаг DBCOLUMNFLAGS_ISFIXEDLENGTH.

Скачать IBProvider Professional Edition (64/32 bit) [версия: 3.0.0.4963]


Дата публикации: 30.07.2008. Права на материал принадлежат: IBProvider. При перепечатке ссылка на сайт https://www.ibprovider.com/rus обязательна.