Команда ReQL: index_status
Синтаксис команды
table.index_status([, index...]) → array
Описание
Получить состояние указанных индексов в данной таблице или состояние всех индексов в этой таблице, если индексы не указаны.
Результат — массив, где для каждого индекса будет объект следующего вида:
{
"index": <index_name>,
"ready": True,
"function": <binary>,
"multi": <bool>,
"outdated": <bool>
}
или такого вида:
{
"index": <index_name>,
"ready": False,
"progress": <float>,
"function": <binary>,
"multi": <bool>,
"outdated": <bool>
}
Поле multi будет true или false, в зависимости от того, был ли этот индекс создан как многомерный индекс (см. index_create для получения подробностей). Поле outdated будет истинным, если индекс устарел в текущей версии RethinkDB и нуждается в перестроении. Поле progress — это число с плавающей точкой от 0 до 1, указывающее, насколько сервер продвинулся в построении индексов после последнего изменения в таблице, которое повлияло на них. (0 указывает, что такие индексы не были построены; 1 указывает, что все они были построены.)
Поле function — это двоичный объект, содержащий неявное представление вторичного индекса (включая аргумент multi, если он был указан). Его можно передать в качестве второго аргумента в index_create для создания нового индекса с той же функцией; см. index_create для получения дополнительной информации.
Пример: Получить состояние всех индексов в test:
r.table('test').index_status().run(conn)
Пример: Получить состояние индекса timestamp:
r.table('test').index_status('timestamp').run(conn)
Пример: Сохранить двоичное представление индекса:
func = r.table('test').index_status('timestamp').nth(0)['function'].run(conn)
© RethinkDB contributors
Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
https://rethinkdb.com/api/python/index_status/