Информация о состоянии страницы файла
Функция
Предоставление информации о текущем состоянии заданной страницы файла таблицы.
Спецификация
::=
::=
Общие правила
-
Параметр
< идентификатор таблицы >
задает системный идентификатор таблицы, о состоянии страниц которой запрашивается информация. Системные идентификаторы таблиц хранятся в системной таблице$$$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.
-
Возвращаемое значение зависит от параметра
< тип информации >
. -
Если хотя бы один аргумент равен NULL-значению, результат NULL-значение.
Значение параметра < тип информации > | Возвращаемое значение | |
---|---|---|
used_size | Размер занятой части страницы в байтах (для страниц битовой карты и конвертера – размер всей страницы) | |
free_size | Размер свободной части страницы в байтах | |
status | Битовая маска состояния страницы (первый бит): 1 – страница занята, 0 – свободна |
Примеры
-
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'; |Нет|