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

Функция

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

Спецификация
   
<ограничение длины записи>::=
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;