
18.07.2012
Список изменений в СУБД ЛИНТЕР от 18.07.2012
Платформы:
Windows
- Реализован новый вариант межзадачного обмена через memory exchange для взаимодействия между ядром, клиентами и сетевыми утилитами. Добавлена поддержка новых компиляторов, в том числе новых версий Visual Studio (C, C++, C#) и PHP. В сборку дистрибутива добавлена возможность выбора новых вариантов сетевых утилит и много других параметров выбора.
UNIX-системы х64
- Реализовано создание ссылок на библиотеки в каталоге /usr/lib64.
QNX
- Налажена деинициализация таймера при деинициализации клиента.
ИНТРОС-ВМ
- Устранена ситуация с нехваткой размера 64к для объекта при сборке lindesk.
Itanium
- Выполняется портирование СУБД ЛИНТЕР на платформу Itanium.
Ядро СУБД и транслятор SQL:
- Добавлена возможность генерации числовой последовательности SQL-запросом (синтаксис SELECT LEVEL FROM (SELECT 1) CONNECT BY LEVEL < значение;).
- Оптимизирована обработка иерархических запросов для случая, когда есть много родительских элементов, имеющих только по одному дочернему.
- В команду REBUILD добавлена возможность перестроения только всех индексов без перестроения конвертера. Синтаксис: REBUILD TABLE имя_таблицы INDEXES ONLY.
- Добавлена команда локального исправления индексной страницы, в которой найдены проблемы. Синтаксис: CORRECT INDEX имя_индекса ON имя_таблицы FOR [FILE номер_файла] PAGE номер страницы.
- Разрешено использование аргументов типов NCHAR и NCHAR VARYING для функций FINDBLOB и COUNTBLOB.
- Оптимизирована транзакционная работа в режиме Optimistic.
- Добавлены проверки правильности описания кодировок при их создании.
- Добавлена возможность вывода в протокол работы СУБД (LINTER.LOG) значений параметров запросов.
- Реализован возврат NaN-значения как результата любых скалярных операций над числами с плавающей точкой, когда хотя бы один из аргументов — NaN-значение.
- Скорректирована работа функций GREATEST и LEAST для строковых аргументов — разрешены аргументы типов переменной длины, запрещено смешение аргументов типа CHAR/VARCHAR во избежание некорректной обработки.
Утилиты:
.NET
- Добавлена утилита конвертации БД.
lindeskx
- Улучшен вывод DEFAULT-значения для типа BOOLEAN при выгрузке схемы.
- Исключена ситуация с циклическим открытием каналов в случае нажатия клавиши F8.
testdb
- Устранен случай ошибочной выдачи предупреждений о том, что длинные файлы не поддерживаются, для таблиц, имеющих такие файлы.
- Добавлена проверка, позволяющая диагностировать наличие нескольких записей в простом индексе для одного и того же rowid на уровне проверки -i 2 (раньше — только -i 3).
- Оптимизирована полная проверка индексов (-i 3) для версии 6.1.
inl
- Время ввода значений параметров пользователем исключено из подсчитываемого времени выполнения запроса.
- Доработан вывод имен столбцов результата, начинающихся с пробелов.
migration
- Добавлена поддержка сохранения в единый файл.
- Выполнен отказ от использования Qt3Support для Qt4 во всех утилитах, основанных на интерфейсе Qt.
Интерфейсы:
Call
- Добавлена возможность установки размера стека потока, как по умолчанию, так и из пользовательской программы (вызов функции inter_control с кодом операции ICR_SET_STACK_SIZE).
- Разрешен ввод значений BOOLEAN-параметров в нижнем регистре (t, f, true, false).
LinAPI
- В структуру t_Connection добавлено новое поле (структура OPEN_DESC) для обеспечения возможности получения описания базы данных в асинхронном режиме в функции AstConnect.
LINCPPAPI
- При разрыве соединения для асинхронных команд отключена возможность переустановления соединения и проигрывания буфера сохранённых запросов. Теперь асинхронные вызовы функций LINCPPAPI полностью ложатся на асинхронные вызовы LINAPI. При проигрывании буфера сохранённых запросов все запросы выполняются синхронно. В примеры добавлено три теста для асихнронного режима работы библиотеки LINCPPAPI.
- Добавлена выдача кода ошибки при операциях ввода-вывода.
ADO.NET
- Добавлена поддержка Entity Framework.
- Отлажена совместимость с DDEX.
- Добавлена пакетная (batch) работа.
ODBC
- Добавлена поддержка ODBC 3.8.
- Улучшена работа из MS Access с не-Unicode драйвером.
- Добавлены проверки корректности аргументов для некоторых функций.
PHP
- Поправлен синтаксис примеров – заменены везде префиксы PHP-кода “
- Поправлена сборка MT-версии для UNIX-платформ.
Решенные проблемы:
- возможным пропуском построения фразовых индексов после восстановления базы из lhb-архива;
- с возможным конфликтом доступа к данным двух каналов одной транзакции;
- с пропуском действия после ожидания канала, добавляющего запись;
- с замедлением удаления больших индексов из-за вытеснения страниц из пула;
- с недостаточным размером буфера для индексирования PDF-файла;
- с зацикливанием выполнения команды TEST TABLE при получении ошибки до начала проверки таблицы;
- с записью BLOB-значения при определенном размере исходных данных;
- с обработкой NCHAR-аргументов в функции XML;
- с обработкой предикатов EXISTS и NOT EXISTS в конструкции CASE;
- с работой функциональности LOGIN ERROR TIMEOUT;
- с выполнением PARTITION BY для функций LEAD и LAG;
- с выполнением операций UNION/INTERSECT/EXCEPT и CASE над строковыми операндами, один из которых в кодировке UTF-8, а второй — нет;
- с работой конструкции TABLESAMPLE для версий 5.9 и 6.0;
- с использованием ограничения выборки типа LIMIT N, -1;
- со вставкой в таблицу, содержащую столбец GENERATED AS IDENTITY;
- в случае неверного вычисления адреса DEFAULT-значения;
- с неверной кодировкой для значения псевдостолбца USER;
- случае неверного результата при соединении столбца с ним же самим;
- с работой функции MULTIME при переполнении long-значения тиков.
Документация:
- Выложены на сайт обновленные версии всех документов по СУБД ЛИНТЕР.