Предоставление информации о текущем состоянии заданной страницы файла таблицы.
::=
::=
Параметр <идентификатор таблицы>
задает системный идентификатор таблицы, о состоянии страниц которой запрашивается информация. Системные идентификаторы таблиц хранятся в системной таблице $$$SYSRL
, столбец $$$S11
.
Параметр <тип файла>
задает тип файла таблицы:
0 – индексный файл;
1 – файл данных;
2 – файл BLOB-данных.
Параметр <номер файла>
определяет порядковый номер файла заданного типа (начиная с 1).
Параметр <номер страницы>
определяет порядковый номер страницы в заданном файле (начиная с 1).
Параметр <тип информации>
определяет тип запрашиваемой о файле информации. Тип данных параметра – CHAR, значения параметра являются регистронезависимыми.
Допустимые значения параметра приведены в пункте «Возвращаемое значение».
Аргументы могут быть заданы <SQL-параметром>
, который должен содержать спецификацию типа данных параметра.
select linter_page_info(? (int), ? (int), ? (int), ? (int), ? (char(15))); 173 1 1 1 used_size | 4096|
Тип возвращаемого значения – INTEGER.
Возвращаемое значение зависит от параметра <тип информации>
.
Значение параметра <тип информации> | Возвращаемое значение | |
---|---|---|
used_size | Размер занятой части страницы в байтах (для страниц битовой карты и конвертера – размер всей страницы) | |
free_size | Размер свободной части страницы в байтах | |
status | Битовая маска состояния страницы (первый бит): 1 – страница занята, 0 – свободна |
Если хотя бы один аргумент равен NULL-значению, результат NULL-значение.
select linter_page_info ($$$s11,1,1,2,'free_size'), linter_page_info ($$$s11,1,1,2,'used_size') from $$$sysrl where $$$s13='AUTO'; | 80|4016|
Проверить, является ли заданная страница свободной:
select decode(linter_page_info ($$$s11,1,1,2,'status'), 1,'Нет',0, 'Да') from $$$sysrl where $$$s13='AUTO'; |Нет|