16.01.2009
Список изменений в СУБД ЛИНТЕР за 2008 год

Представляем вашему вниманию список технических изменений, вошедших в различные компоненты базовых версий СУБД ЛИНТЕР:

Общие изменения

  • Интерфейсы к Python (значительно доработан) и Ruby (новый)
  • Интерфейс ADO.NET 2.0
  • Реализован программный интерфейс управления ядром СУБД, сервером резервирования и другими утилитами
  • Для .NET-провайдера добавлена функциональность интеграции с Microsoft Visual Studio 2005 и 2008

Интерфейс LINPHP

  • Добавлена опция автоматического получения значений BLOB-полей таким же образом, как и полей всех остальных типов (CO_FETCH_BLOBS_AS_USUAL_DATA)
  • Реализовано получение BLOB-значений из курсора, возвращаемого хранимой процедурой
  • Добавлена возможность BIND для BLOB-значения
  • Оптимизирована работа с БД путем исключения лишних вызовов
  • Добавлена возможность настройки преобразований параметров через файл php.ini
  • Добавлены новые интерфейсы PDO и ADO Добавлена поддержка новых версий PHP (5,6)

Система полнотекстового поиска

  • Реализовано использование конструкции "CREATE [OR REPLACE] PHRASE XML INDEX Столбец ON Таблица;" для построения атрибутного индекса
  • Реализован автоматический выбор фильтра по содержимому файла или BLOB-значения
  • Сделана поддержка меток секретности индексированных документов
  • Добавлен ключ запуска ядра СУБД /PPOOL, задающий размер буфера, используемого для построения фразового индекса Добавлен новый фильтр для текстовых документов в формате UTF-8
  • Оптимизирована работа фильтров, алгоритмов сортировки, использования оперативной памяти

Утилита LinDeskX

  • Добавлена возможность автоматизации подключения к БД
  • Добавлена работа с SNMP агентом и управление удалёнными БД
  • Добавлена работа с событиями

Утилита INL

  • Добавлена выдача информации о кодировках столбцов
  • Добавлена команда ECHO {ON|OFF|ERROR}

SQL и язык хранимых процедур

  • Добавлен поиск по регулярным выражениям (предикат SIMILAR и функция SUBSTRING( ... SIMILAR ... ESCAPE ...))
  • Добавлены хранимые события Добавлены функции NOW, CONCAT, UNIX_TIMESTAMP для совместимости с MySQL
  • Добавлена функция FROM_DAYS
  • Добавлены функции LEAD и LAG с синтаксисом, аналогичным Oracle - конструкцией OVER (PARTITION BY ... ORDER BY...)
  • Добавлена функция EXTRACT для работы с полями типа даты
  • Добавлена функция VSIZE, возвращающая число байтов во внутреннем представлении аргумента
  • Разрешено использование подзапроса в левой части предикатов IN, NOT IN, равенства и неравенств
  • Разрешено использовать подзапрос в SELECT-списке (первоначально с некоторыми ограничениями, затем ограничения убраны)
  • Разрешено использование неконстантного шаблона в предикатах LIKE и NOT LIKE
  • Разрешены выражения в списке в правой части предикатов IN и NOT IN
  • Разрешен пустой список в правой части предиката NOT IN
  • Разрешено дублирование имен столбцов в подзапросе
  • Разрешено использование конструкции ORDER BY в подзапросах (имеет смысл в сочетании с конструкцией ROWNUM)
  • Разрешено использование выражений типа BOOLEAN (в SELECT-списке; в INSERT в списке VALUES; в UPDATE после знака =; в GROUP BY; в ORDER BY)
  • Разрешена ссылка символьного внешнего ключа на первичный ключ того же типа, но другой длины
  • Добавлено псевдозначение LINTER_SYSTEM_USER, возвращающее числовой идентификатор текущего пользователя
  • Добавлены команды CORRECT INDEX и CORRECT BITMAP для внесения точечных исправлений в структуру таблиц
  • Добавлены команды для временного запрета действия ссылочной целостности
  • Добавлен хинт SORT {DATA|INDEX} для управления выбором метода сортировки
  • Изменено именование столбцов результата операций UNION/INTERSECT/EXCEPT
  • Добавлены команды для удаления из базы исходного кода хранимых процедур и триггеров
  • Для команд ALTER TABLE ADD PRIMARY KEY, ALTER TABLE ADD UNIQUE,ALTER TABLE ADD FOREIGN KEY разрешено задание в конце командымодификатора BY APPEND (создание индекса не через сортировку данных, а через последовательное добавление элементов)
  • Добавлена функция SLEEP для хранимых процедур
  • Добавлена поддержка транзакций в синтаксис языка хранимых процедур
  • Добавлена поддержка конструкции OVER ([PARTITION BY : ORDER BY ...) для агрегатных функций (частичная поддержка аналитических возможностей SQL2003)
  • Оптимизировано преобразование пары предикатов неравенства в предикат поиска по диапазону
  • Оптимизировано вычисление сложных запросов с несколькими соединениями предикатов по AND и OR
  • Добавлена возможность квантования запросов по времени, что значительно улучшает управление параллельным выполнением запросов

Ядро СУБД

  • Доработан интерфейс ядра для поддержки новых параметров управления запуском
  • Доработана многоязыковая сборка для Windows CE
  • Добавлена возможность автоматической аутентификации в ОС UNIX
  • Добавлена выдача расширенной информации о типах прочитанных страниц при запуске с ключом /trace=decomp, расширены возможности трассировки ядра с ключом /TRACE=DECOMP=DELAY
  • Оптимизировано выполнение запросов с конструкцией UNION ALL
  • Оптимизирован процесс сортировки за счет хэш-поиска страниц в пуле сортировки
  • Добавлен ключ запуска ядра /IGNERROR для игнорирования ошибок восстановления базы
  • В информационную таблицу $$$CHAN добавлены столбцы BASE_PRIORITY - приоритет канала, QUERY_PRIORITY - приоритет текущего запроса, CURRENT_PRIORITY - приоритет текущего кванта выполнения
  • Оптимизировано тестирование структуры индексов командой TEST TABLE (и утилитой TESTDB) Оптимизировано параллельное вычисление нескольких SELECT-запросов