FibPlus 6.5

Изменения и улучшения

  1. Теперь SQLMonitor показывает текст SQL уже после применения макросов и кондишенов
  2.  Событие OnFillClientBlob теперь вызывается не только при первом считывании записи, но и после ее модификации
  3.  В TpFIBDataSet.Options добавлена опция poUseSelectForLock. Она действует при включенном режиме poProtectedEdit. Если poProtectedEdit = True, то блокирование записи будет производиться не "холостым апдейтом", а следующей конструкцией:
    Select * from TABLE1 WHERE ... for update with lock
    Примечание: Эта особенность работает ТОЛЬКО для Firebird)
  4.  Добавлен метод FIBQuery.ExecuteImmediate, который немедленно выполняет запрос без предварительного Prepare (cм. документацию по IB API функции isc_dsql_execute_immediate)
  5.  Выполнение DDL запросов теперь производится через ExecuteImmediate.
  6.  В процедуру CopyFieldsProperties добавлено копирование свойств AutoGenerateValue, ConstraintErrorMessage, CustomConstraint, Tag и Index.
  7.  Свойство pFIBDataSet.ReceiveEvents и событие pFIBDataSet.OnUserEvent объявляются устаревшими и убираются из основного кода. Пользователям, которые все же используют их, нужно компилироваться с дефайном USE_DEPRECATE_METHODS2 в файле FIBPlus.inc.

Исправленные ошибки:

  1.  В некоторых случаях добавление записи в сортированный набор данных происходило неверно. Исправлено.
  2.  Ошибка в TpFIBCustomService.GenerateSPB проявлялась при пустом значении свойства Params. Исправлена.
  3.  При смене свойства Filter не происходило обнуления результатов предыдущего фильтра. Исправлено.
  4.  Ошибка в методе Locate при попытке поиска числовых значений в стринговых полях. Исправлена.
  5.  Поправлена работа SQLMonitor при мониторинге exception (иногда приводило к зависанию).
  6.  Подправлен SQL редактор датасета для правильной работы с запросами, в которых одна и та же таблица встречается по нескольку раз (работа гарантирована только под Firebird 2)
  7.  Для кэшированных вычисляемых полей в TFIBCustomDataSet.RecordFieldValue не был предусмотрен тип ftSmallInt. Исправлено.
  8.  Неправильная обработка полей с чарсетом UTF8 и collate, отличным от значения по умолчанию (default). Исправлена.
  9.  Соединение автоматически закрывалось, обнаружив, что база находится в shutdown. Далее производилась обработка потери коннекта (при использовании pFibErrorHandler). Исправлено.
  10.  Ошибка в генераторе запросов: не показывался тип поля для полей DOUBLE PRECISION. Исправлена.
  11.  В некоторых случаях была небольшая утечка памяти при работе с BLOB-параметрами. Исправлена.
  12.  Ошибка при поиске (Locate) Unicode-строки в поле varchar(unicode_fss) при включенной опции poTrimCharFields. Исправлена.
  13.  Поправлена функция function InvertOrderClause(const OrderText:string):string;
    (не обрабатывала Order By с употреблением NULLS FIRST, как следствие, это приводило к некорректной работе режима ограниченного cache для таких запросов).
  14.  Поправлены методы TpFIBDataSet.PSInTransaction, PSStartTransaction,PSEndTransaction.
  15.  Ошибка при выполнении DDL запросов в Unicode коннекте (портились комментарии, сделанные на всех языках, кроме английского). Исправлена.


Опубликовал admin
1 Фев, Четверг 2007г.



Программирование для чайников.