Добавлены новые функции управления доступом для поддержки установки в Windows Vista.
Исправлен новый вариант обмена сообщений для QNX.
Интерфейсы:
Perl:
Добавлены функции для работы с несколькими BLOB-столбцами и некоторые ранее отсутствующие функции для работы с BLOB.
Внесены изменения в функцию BLOBGetSize — теперь эту функцию можно вызывать и как прежде, и с указанием номера столбца.
Доработан интерфейс для 6-й версии (добавлена функция, возвращающая информацию о соединении в виде массива; добавлена функция установления кодировки; добавлена функция, использующая команду пакетного чтения записей; добавлены функции, позволяющие получать данные обо всей записи сразу в виде массива и в виде хеша, а также обо всех записях ответа; в GetColInfo – возвращается больше информации о столбце в виде хеша; обновлён .pm файл – описание работы с расширением, исправлены некоторые ошибки при экспорте модуля – названия констант).
Оптимизирована обработка широких ответов.
Добавлено немедленное извлечение первой записи.
Реализовано опциональное поведение для BLOB (при указании опции CO_FETCH_BLOBS_AS_USUAL_DATA BLOB извлекается как обычные данные целиком).
Добавлена поддержка асинхронных запросов.
Оптимизирована работа с параметрами в DBI (убран старый механизм callback из intlib; поправлены bind из хост-переменных – теперь данные берутся непосредственно в момент execute; поправлена работа с параметрами процедур).
ADO.NET:
Доработан код LINQ-провайдера.
Добавлена поддержка Nhibernate.
Поправлены проблемы совместимости с HNibernate (GetBytes в случае пустого буфера возвращает для BLOB его длину; поправлена конвертация некоторых типов данных; getOrdinal теперь начала ищет как case-sensitive, затем как case-insensitive).
Добавлена поддержка MONO developer 2.
Добавлена поддержка .NET 4 RC.
CALL-интерфейс (intlib):
Отлажена передача функции inter() пустого буфера для длинного сообщения.
OleDB:
Исправлено получение описания столбцов результата в случае большого запроса.
Отлажено извлечение длинной записи (больше 8K) обычным select-запросом.
Устранена проблема с попаданием посторонних символов в конец запроса.
Увеличен размер буфера для NULL-индикаторов для предотвращения ошибки, вызванной его недостаточным размером.
DBExpress:
Исправлена проблема повторной загрузки драйвера после его выгрузки.
ODBC:
Для новых сборок увеличены размеры буферов (трансляции, получения ответа, пакетного чтения записей) до 64 кБ. Эти правки влияют и на интерфейс DBExpress.
JDBC:
Поправлена обработка функции getbytes (при вызове с аргументом длины, равным 0, игнорируется размер BLOB и то, что позиция 1 не существует в пустом BLOB).
LinQT:
Обеспечена корректная сборка с помощью win32-g++.
Утилиты:
Lindeskx:
Устранена проблема с загрузкой данных типа BOOLEAN.
Поправлено визуальное представление диалоговых окон.
Сделаны исправления в SQLEditor: добавлено слово CALL в список слов, начинающих запросы; исправлена проблема с невыполнением функции "Свернуть/Развернуть все в запросе", если запрос начинался в строке с номером 0.
Значительно доработаны редактор запросов, редактор и отладчик хранимых процедур (исправлена проблема с задержками при парсинге; добавлены недостающие ключевые слова).
Введена возможность ставить точку остановки на процедуре до ее вызова; полностью исправлен режим WAIT (в частности, сделано модальное окно).
Исправлена обработка ошибок для предотвращения зависания при разъединении с ядром; исправлена остановка асинхронного запроса.
Исправлено отображение локальных переменных при рекурсивных вызовах.
Предотвращен вывод одной и той же ошибки в лог, если пользователь ничего не делал.
Доработан парсинг комментариев.
Реализовано включение графиков SYSTEM_TIME и USER_TIME в окно статистики.
Linadm:
Поправлен автоматический запуск сервера репликации при автоматическом запуске БД.
Поправлено управление сервером репликации.
Поправлен запуск репликации для БД по умолчанию.
Loarel:
Для новых сборок добавлен дополнительный режим быстрой загрузки данных с большим буфером по ключу "-s 2".
Dbstore:
Устранены проблемы с сохранением текста CHECK-ограничений в неверной кодировке и с удвоением символа '%' в текстах CHECK-ограничений.
Для новых сборок добавлен дополнительный режим пакетной выгрузки данных с большим буфером в режиме выгрузки с ключом "-o M".
Lhb:
Поправлена обработка переноса контрольной точки для устранения проблемы с накоплением файлов журнала.
Поправлена проблема с переносом временной контрольной точки в неинкрементном режиме при использовании опции lhb -movecp.
В скриптовом языке поправлена работа операции неравенства для строковых переменных, скорректирована выдача сообщений в случае проблем с выполнением внешних команд.
Inl:
Устранено завершение работы утилиты при завершении работы ядра под Linux.
Hresctl (горячее резервирование):
Поправлена строка подсказки о синтаксисе командной строки (для ключа -t).
Сервер асинхронной репликации (lreplserver):
Поправлена работа с базами, у которых владелец не SYSTEM.
Testdb:
Исправлена проблема с тестированием таблицы с записью длиной более 4K, содержащей BLOB-значение.
Увеличена точность представления времени в сообщениях TESTDB (для чего добавлен новый ключ -showticks).
Ядро СУБД и транслятор SQL:
Добавлена поддержка синтаксической конструкции 'TABLE <имя_таблицы>' в соответствии со стандартом SQL.
Добавлена поддержка синтаксиса CREATE UNIQUE INDEX.
Добавлена функция LINTER_VERSION для получения информации о версии СУБД.
Добавлена возможность преобразования чисел для отображения в экспоненциальном формате функцией TO_CHAR.
В виртуальную таблицу $$$SYSINFO добавлены два столбца USER_TIME и SYSTEM_TIME для учета затрат пользовательского времени (времени работы ядра) и системного времени (времени работы ввода-вывода).
Добавлено автоматическое преобразование в конструкциях CASE константных выражений числовых (целых, вещественных, или и тех, и других) типов к основному типу CASE.
Сделаны исправления для равномерного удаления файлов журнала в процессе горячего резервирования.
Реализована оптимизация для обработки предиката IS [NOT] NULL после OUTER JOIN для выполнения антисоединения таблиц (найти в одном операнде то, чего нет в другом).
Реализовано несколько дополнительных оптимизаций для вычисления агрегатных функций в тривиальных случаях.
Реализовано несколько дополнительных оптимизаций для вычисления предиката LIKE в тривиальных случаях.
Устранение проблем:
Устранение проблем журнализации и работы ядра в режиме горячего резервирования:
при операциях над BLOB-значениями;
при параллельной работе по различным курсорам одного соединения;
при работе из хранимых процедур; o при откате триггерных каналов;
при удалении составных ключей; o при операциях PRESS, REBUILD, TRUNCATE и т.п.;
с ошибкой 6708 в случае ROLLBACK по основному каналу после COMMIT по курсору (при выполнении операций над BLOB-значениями);
с квантованием доката операций по журналу; o при работе с AUTOINC-столбцами;
c зацикливанием в процедуре отката транзакции;
c порчей страниц конвертера таблицы в резервной базе при горячем резервировании.
Устранение проблем с обработкой запросов:
возникавших при использовании индексов для вычисления предикатов над столбцами подзапросов (изменен алгоритм преобразования промежуточных ответов);
с вычислением агрегатных функций от результатов множественных операций (UNION и т.п.);
с обработкой предиката полнотекстового поиска CONTAINS в сложных запросах;
с неверным выбором стратегии обработки для предиката LIKE в случае выражения в его правой части;
с некорректным преобразованием предикатов BETWEEN/NOT BETWEEN в случае использования составных индексов;
c вычислением запроса со сложным подзапросом в SELECT, содержащим внешнюю ссылку;
с утечкой памяти канала при выполнении некоторой категории сложных запросов, содержащих предикат OR;
при квантовании выполнения сложных запросов.
Устранение проблем некорректной работы с записями длиной больше 4K и с длинными запросами:
с выполнением иерархического запроса с размером записи результата больше 4K;
c выполнением запроса, выбирающего запись длиной больше 4K и содержащую BLOB-значение, в случае дальнейшего обращения к этому BLOB-значению;
с созданием составного индекса в режиме BY APPEND в случае, когда RECORD SIZE LIMIT больше 4K;
исправлена обработка оттранслированных запросов большого размера.
Устранена проблема с возможным пропуском сброса страницы на диск в ядре СУБД из-за ранее установленного кода ошибки.
Исправлена установка типа BLOB-значения при добавлении его через SQL.
Добавлены необходимые проверки в построение фразового индекса на BLOB-значение.
Поправлена работа глобальных временных таблиц (добавлена поддержка работы BLOB-столбцов, запрещено создание фразовых индексов, исправлена работа с составным PRIMARY KEY).
Устранена проблема, которая могла иногда возникать при передаче NULL-значений через параметры.
Исправлена редкая проблема с выдачей ошибки 816 при поиске по индексу после длительной работы с ним.
Убрано некорректное усечение концевых пробелов для константных аргументов типа CHAR.
Запрещена приводившая к проблемам одновременная отладка одной и той же хранимой процедуры разными пользователями.
Устранены проблемы, возникавшие при параллельной работе нескольких процессов BACKUP.
Добавлена дополнительная информация в диагностические сообщения: о неудачном поиске ключа в индексе, о неизвестном устройстве.
Добавлена поддержка переменной среды окружения LINTER_TMP компонентой loltp.
Поправлено описание параметров типа BIGINT в представлениях для поддержки ODBC.