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-значения тиков.

Документация:

  • Выложены на сайт обновленные версии всех документов по СУБД ЛИНТЕР.