Ограничение длины записи

Функция

Определение оператора задания максимально допустимой длины записей таблиц в БД.

Спецификация
   
< ограничение длины записи >::=
ALTER DATABASE SET RECORD SIZE LIMIT длина
Синтаксические правила
  1. < Длина > задается в байтах.

  2. Максимально допустимое значение < длины > записи 65535 байт. Реальная длина записи (в байтах) вычисляется путем округления заданного размера до кратного числу 4096 в большую сторону. Если значение < длины > больше 65535, то выдается предупреждающее сообщение, а размер записи берется равный 65535 (чтобы это значение уместилось в типе данных WORD).

  3. По умолчанию СУБД устанавливает максимальную длину записи таблиц 4 Кбайта.

Общие правила
  1. Для выполнения оператора необходимы привилегии DBA.

  2. < Длина > задает размер буфера, который выделяется под распакованную запись. В этот буфер также должна всегда помещаться и упакованная запись, в связи с чем реально максимальный размер записи будет несколько меньше размера буфера (т.к. чем больше столбцов в таблице, тем больше требуется памяти для размещения дополнительной информации в упакованной записи).

  3. Конструкция < ограничение длины записи > может изменять длину записи таблиц только в сторону увеличения по сравнению с текущей установленной длиной.

  4. Чтобы новое ограничение на длину записи стало отслеживаться ядром СУБД ЛИНТЕР, необходимо после выполнения конструкции < ограничение длины записи > перезапустить ядро.

Примечание

Значение RECORD SIZE LIMIT можно получить с помощью запроса:

SELECT GETWORD($$$s14,130) from $$$sysrl WHERE ROWID=1;