Tarantool CE/EE Documentation portal logo
Помощь
Обновлена 2 ноября 2026 г. в 15:35

box.read_view.open()

box.read_view:open({opts})

Создает новое читающее представление.

Параметры:

  • opts (table) — (необязательный) параметры конфигурации читающего представления. Например, параметр name задает имя читающего представления. Если параметр name не задан, имя читающего представления устанавливается в значение unknown. Параметр id задает идентификатор существующего читающего представления, к которому требуется подключиться; этот идентификатор можно получить из поля id объекта читающего представления. Указание id позволяет потоку приложения подключиться к читающему представлению, уже открытому в основном потоке. Новое читающее представление (то есть вызов без id) по-прежнему можно создать только в основном потоке — вызов box.read_view.open() без id в потоке приложения вызывает ошибку.

Возвращает

созданный объект читающего представления

Тип возвращаемого значения

read_view_object

Пример:

tarantool> read_view1 = box.read_view.open({name = 'read_view1'})

Пример: открытие читающего представления из потока приложения

local rv = box.read_view.open({name = 'shared_read_view'})local threads = require('threads')threads.eval('app', [[  local rv = box.read_view.open({id = ...})  return rv.space.test:select()]], {rv.id})

read_view_object

Объект, представляющий читающее представление.

read_view_object:info()

Возвращает информацию о читающем представлении, такую как имя, статус или идентификатор. Все доступные поля перечислены ниже в параметрах объекта.

Возвращает

информация о читающем представлении

Тип возвращаемого значения

table

read_view_object:close()

Закрывает читающее представление. После закрытия читающего представления его статус устанавливается в значение closed. При попытке использовать его возникает ошибка.

Если на момент закрытия читающее представление все еще используется потоком приложения, оно не удаляется немедленно: вместо этого его статус устанавливается в значение close_pending. Читающее представление в этом статусе нельзя использовать в основном потоке или повторно открыть в другом потоке; потоки, уже открывшие его, могут продолжать использовать его до своей остановки. Как только последний использующий его поток прекращает использование, читающее представление удаляется глобально — либо явно, либо с помощью сборщика мусора Lua.

status

Статус читающего представления. Возможные значения: open, close_pending и closed. Читающее представление переходит в статус close_pending, когда оно закрывается в основном потоке, но все еще используется потоком приложения; см. read_view_object:close() выше.

Тип возвращаемого значения

string

id

Уникальный числовой идентификатор читающего представления.

Тип возвращаемого значения

number

name

Имя читающего представления. Имя читающего представления можно задать в аргументах box.read_view.open().

Тип возвращаемого значения

string

is_system

Определяет, является ли читающее представление системным. Например, системные читающие представления могут создаваться для создания контрольной точки или подключения новой реплики.

Тип возвращаемого значения

boolean

timestamp

Значение fiber.clock() на момент открытия читающего представления.

Тип возвращаемого значения

number

vclock

Значение box.info.vclock на момент открытия читающего представления.

Тип возвращаемого значения

table

signature

Значение box.info.signature на момент открытия читающего представления.

Тип возвращаемого значения

number

space

Предоставляет доступ к спейсам базы данных, включенным в читающее представление. Это поле можно использовать для запроса данных из спейсов.

Тип возвращаемого значения

объект спейса