Информация о состоянии страницы файла (LINTER_PAGE_INFO)
Функция
Предоставление информации о текущем состоянии заданной страницы файла таблицы.
Спецификация
::=::=Общие правила
-
Параметр
<идентификатор таблицы>задает системный идентификатор таблицы, о состоянии страниц которой запрашивается информация. Системные идентификаторы таблиц хранятся в системной таблице$$$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'; |Нет|