Команда 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/ruby/index_status/