English version Russian version




1.5.1 - Смена компилятора, оптимизация, IColumnsRowset и другое ...

Мы завершили ревизию функциональности, реализованной в версии 1.5. В релизе 1.5.1 были исправлены незначительные ошибки и проведена оптимизация. В настоящий момент начата реализация новых интерфейсов, один из которых (IColumnsRowset) доступен уже сейчас.

Насчет массивов

Хочется поблагодарить Дмитрия Еманова и Claudio Valderrama C. за решение проблем с массивами. Проблемы, как оказалось, не было и FB возвращает нужную информацию (имя таблицы и колонки) для сохранения массива в базе данных.

Смена комилятора

В настоящий момент осуществляется переход на Free Borland C++ Compiler, поэтому Вы можете скачать один из двух вариантов IBProvider'a :

  • Откомпилированный в BCB3 (библиотека поддержки - cw3240mt.dll)
  • Откомпилированный бесплатным компилятором от BCB5 (cc3250mt.dll)
Версия, откомпилированная в BCB3, выкладывается из за проблем с линковщиком BCB5 - импорт gds32.dll осуществляется по порядковым номерам функций, а не по их именам. Если кто знает как решается эта проблема, пожалуйста, сообщите мне. В целом, переход неизбежен из за проблем компиляции с последней версией OLEDB SDK и ошибок генерации кода BCB3.

Ошибки

  • Поддержка квотированных имен, содержащих апострофы. Например, "a'b" . Как оказалось, это распространенная ошибка существующих библиотек доступа.
  • Конвертации DBTYPE_UI1 , DBTYPE_I1 в символьное представление.
  • CanConvert сообщал о невозможности конвертации DBTYPE_BOOL в другие типы.

Оптимизация

  • Улучшено управление списком идентификаторов (HROW) заблокированных рядов. Использовавшееся ранее хранение в линейном списке, приводило к снижению скорости.
  • Внутренний синтаксический анализатор SQL запросов был расширен до распознавания всех основных категорий. За счет этого IBProvider делает запрос к серверу для получения RowAffected только для запросов "INSERT ...", "UPDATE ...", "DELETE ...". Для остальных категорий всегда возвращается -1.
  • Реализован пул разделяемых объектов модуля. За счет этого снижены расходы на создание и использование объектов публикации метаданных. Смотри ниже IColumnsRowset.

Новая функциональность

  • Поскольку ADO наотрез отказывается использовать IOpenRowset для открытия таблиц, была реализована явная поддержка их открытия через команды:

    ADODBCommand.CommandText="TABLE/VIEW" .

    За счет внутреннего анализа SQL выражений, затраты, связанные с этой поддержкой, ничтожны. По всей видимости, придется еще реализовать специальную поддержку запросам вида "select * from TABLE/VIEW".)
  • Начата реализация внутренней инфраструктуры для публикации метаданных базы данных. Поскольку эти интерфейсы получения метаданных используются в ADO достаточно часто, было реализовано кэширование таких объектов, как описатели стандартных колонок и их представлений в виде рядов множеств, создаваемых IColumnsRowset. В настоящий момент завершена реализация IColumnsRowset:
    • Поддерживается командами и результирующими множествами.
    • Рекурсивность. Возвращаемые множества также поддерживают IColumnsRowset. Поскольку струкура и данные, возвращаемые при рекурсивном использовании IColumnsRowset не меняются, то это очевидные кандидаты на повторное использование.
    • IColumnsRowset команд и их результирующих множеств содержат специфические колонки
      • DBCOLUMN_BASECATALOGNAME - всегда NULL
      • DBCOLUMN_BASECOLUMNNAME
      • DBCOLUMN_BASESCHEMANAME - всегда NULL
      • DBCOLUMN_BASETABLENAME
      • DBCOLUMN_KEYCOLUMN - NULL/true/false - вхождение колонки в первичный ключ таблицы
    • Запрос к системным таблицам для получения списка первичных ключей выполняется только для таблиц. Для просмотров и других категорий запросов эта операция не выполняется.
    • В режиме авто-коммита лишняя транзакция стартует только в случае использования IColumnsRowset у команды. IColumnsRowset результирующего множества использует транзакцию, в которой производится выборка данных.
    Поскольку для полноценного использования IColumnsRowset требуется реализовать ещё некоторые вещи, будем считать это пробой пера :)

Забобрить эту страницу! Добавить на Memori.ru Mr Wong Добавить в закладки МоёМесто.ru Добавить на Rumarkz Добавить на Rucity Digg It Reddit Technorati Del.icio.us Google Bookmarks Slashdot StumbleUpon Yahoo MyWeb Все

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

Все новости IBProvider:
06.11.2008 Новый IBProvider – поддержка 49 кодовых страниц, возможность работы без регистрации провайдера, предотвращение утечки памяти в Firebird клиенте.
03.10.2008 В новой версии IBProvider Professional Edition добавлено 7 кодовых страниц, исправлены ошибки, улучшен механизм работы с памятью и доступ к BLOB-полям
25.08.2008 6 мировая конференция по Firebird пройдет в Бергамо с 25 по 27 сентября 2008 года. Открыта регистрация
30.07.2008 Доступны новые версии IBProvider. Улучшена работа с NUMERIC-типами и с пулом подключений. В схемах метаданных добавлена поддержка внешних и временных таблиц. В 2,5 раза повышена производительность с отключенным кешем метаданных.
08.07.2008 Выпущен IBProvider Release Candidate 3. Поддержка аутентификации Windows для Firebird 2.1, поддержка длинных имен и Boolean типа для Interbase 7 и Interbase 2007, и т.д.
17.06.2008 Новые версии IBProvider. Поддержка бинарных данных и кодовой страницы OCTETS, 64 битные колонки в схемах метаданных, релиз конвертора типов.
12.05.2008 Доступны новые версии IBProvider. Полностью обновлен конвертор типов.
07.04.2008 Новый IBProvider v3 для 64 битных ОС.
11.03.2008 Новая версия IBProvider v.3.0 RC2 [buid 3965].
08.02.2008 Доступны новые версии IBProvider. Улучшена поддержка Visual Studio 2008, реализован новый механизм распределенных транзакций, исправлены ошибки и улучшена совместимость с различными серверами Firebird и Interbase.
26.12.2007 Изменились лицензии на IBProvider, а так же появилась возможность покупать IBProvider со скидкой.
08.11.2007 23 ноября 2007 года в Москве пройдет вторая российская конференция по Firebird и Interbase. Специальная акция для участников.
30.10.2007 Новая версия IBProvider Free Edition (3.0.0.3313 Release Candidate 2 [RC2]).
29.10.2007 Новая версия IBProvider v3 Release Candidate 2 (RC2).
18.10.2007 Новая версия IBProvider Professional Edition. Улучшена интеграция с Microsoft Office. Исправлены известные ошибки.
13.09.2007 Новые версии провайдеров в составе IBProvider Professional теперь могут работать в среде Microsoft SQL Server 2005 Business Intelligence Development Studio.
20.07.2007 Выпущены редакции IBProvider Professional Edition и IBProvider Free Edition поддерживающие Firebird 2.1.
25.05.2007 Возобновлена работа механизма скачиваний. Персональная доставка новых версий будет более оперативной.
27.04.2007 Новые редакции IBProvider Professional и IBProvider Free уже на сайте!
13.12.2006 Новая версия библиотеки классов C++ для работы с OLE DB-провайдерами. Реализована поддержка Unicode проектов.
04.12.2006 Опубликованы последние релизы: IBProvider Professional Edition - профессиональное решение для создания приложений баз данных для Interbase и Firebird. IBProvider Free Edition - обновленная бесплатная версия на базе третьей версии IBProvider
07.10.2006 Новые версии IBProvider 3.0.0.2385 [RC1] и IBProvider 2.5.0.2088 [Релиз]. Добавлены псевдонимы Charset, PSWD. Оптимизация чтения метаданных и парсера SQL запросов. Поддержка работы с массивами в ADO .Net.
28.08.2006 Новые версии провайдеров: IBProvider 3.0.0.2065 [Beta] и IBProvider 2.4.7.2034 [Релиз]. Улучшенная интеграция с MSSQL 2000/2005.
13.08.2006 IBProvider 3.0.0.1959 [Beta]. IBProvider 2.4.6.1989 [Релиз]. Библиотека классов С++ для работы с OLEDB провайдерами теперь поддерживает VC8 (VS2005).
25.05.2006 IBProvider 3.0.0.1324 [Beta]. IBProvider 2.4.5.1953 [Релиз]. Клиентская библиотека для C++.
05.05.2006 Изменение цены на IBProvider. Доступны новые демо версии
30.03.2006 IBProvider release v.2.4.4 (v.1.7.26) build 1885 now available. IBProvider v.3 [сборка 1107. бета]
27.02.2006 IBProvider v.1/v.2 [cборка 1877 Release Candidate 1]. IBProvider v.3 [сборка 1062. бета]
30.11.2005 IBProvider 2.4.3.1859. Релиз.
01.11.2005 Решение проблемы с арифметическими ошибками в .NET приложениях.
28.09.2005 IBProvider v3 [сборка 913] [beta version].
22.09.2005 IBProvider v3 [сборка 890] [beta version]. IBProvider v2/v1 [сборка 1811].
01.09.2005 Журнал для разработчиков под Interbase и Firebird.
28.07.2005 IBProvider v3 [сборка 789] [beta version]. IBProvider v2/v1 [сборка 1802].
15.06.2005 IBProvider v3 [сборка 779] [beta version]. IBProvider v2/v1 [сборка 1795].
12.04.2005 Открыт форум для пользователей IBProvider
22.03.2005 IBProvider 2.4.2.1772. Релиз.
28.02.2005 IBProvider 3.0.0.639 beta. Изменение корпоративной лицензии.
11.02.2005 IBProvider 3.0.0.573 beta.
24.12.2004 IBProvider 3.0.0.449 beta.
12.11.2004 IBProvider 2.4.1.1720/1.7.23.1720. Релиз.
31.05.2004 IBProvider 2.4.0.1607/1.7.22.1607. Релиз.
14.05.2004 Релиз кандидат 2.4.0.1588/1.7.22.1588
30.04.2004 Версия 2.3.3.1523 beta
29.03.2004 Версия 2.3.3.1416 beta
17.12.2003 Версия 2.3.3.1300
18.10.2003 Версия 2.3.2.1233
22.08.2003 Версия 2.3.1.1184
25.06.2003 Версия 2.3.0.1134 - расширена поддержка MS AS, MS SQL
23.04.2003 Версия 2.2.0.969 - поддержка диалога Data Links, локализация.
31.03.2003 Версия 2.1.2.
26.03.2003 Версия 2.1.1.
04.03.2003 Версия 2.1. Полностью переписан механизм обработки ошибок.
26.02.2003 Скидки на IBProvider.
18.02.2003 Изменение в сроках лицензии
23.01.2003 Версия 2.0.1.735. Исправление ошибок, оптимизация, HTML help
10.12.2002 IBProvider второго поколения
21.11.2002 Версия 1.7.11.584 и 1.8.0.584 beta
06.11.2002 Версия 1.7.10.542 и 1.8.0.542 beta
20.10.2002 Версия 1.7.9.481 и 1.8.0.481 beta
12.08.2002 Версия 1.7.6.350 и 1.8.0.350 beta
30.07.2002 Версия 1.7.5.311 - Исправление ошибок
10.07.2002 Версия 1.7.4.289
20.06.2002 Версия 1.7.3.269
30.05.2002 Версия 1.7.2.255
08.05.2002 Версия 1.7.1
22.04.2002 Версия 1.7.0.227. Поддержка UNICODE. Новые цены.
29.03.2002 Версия 1.6.3.213
28.02.2002 Версия 1.6.2.201
08.02.2002 Версия 1.6.2.199
19.01.2002 Версия 1.6.1.185
24.12.2001 Free Версия 1.5.2
13.12.2001 Версия 1.6
14.11.2001 1.5.1 - Смена компилятора. оптимизация. IColumnsRowset и другое ...
30.08.2001 IN-OUT параметры. массивы. ....
16.07.2001 Ошибка с проверкой подключения в Data Links
21.05.2001 Поддержка хранимых процедур
16.05.2001 Примеры на Delphi от Андрея Семака
14.05.2001 Последний штрих для RowSet
30.04.2001 Выпуск коммерческой версии
20.04.2001 Поддержка DTC и Пула ресурсов
04.04.2001 Поддержка строк. содержащих нулевые символы
16.03.2001 Реализация IOpenRowset::OpenRowset
15.03.2001 Поддержка DECIMAL и NUMERIC
12.03.2001 Исправление ошибок
01.03.2001 Устранены ошибки: специфические и не очень
03.01.2001 Реализация автоматического старта и подтверждения транзакции.
01.12.2000 Тотальная реконструкция IBProvider'а и его клиентской библиотеки.
15.09.2000 Создание версии для IB6. которую Вы увидите только 1 декабря 2000г.

Интересные статьи по Firebird, Interbase



Назад Вперед Сборка сайта № 3.0.0.1660