Механизм работы снимков можно описать следующим образом: при выполнении первого атомарного запроса из всей группы поисковых операций состояние таблицы «фотографируется». Последующие операции, используя этот «снимок», выполняют поиск для того же состояния БД, которое было на момент первого запроса. Все внесенные другими пользователями изменения «не видны» для данного пользователя. Это позволяет завершить всю сколь угодно длинную цепочку поисковых запросов без нарушения логической целостности. Снимок можно получить и не выполняя поиска при помощи функции htMakePhoto.
Для каждой открытой таблицы и для каждого пользователя хранится текущий снимок состояния таблицы. Снимок делается автоматически (при первом поиске по таблице) или при явном вызове функции htMakePhoto.
Отключение механизма снимков
Текущий снимок можно отменить с помощью оператора fix. Операции, закрывающие доступ к таблице, также отменяют текущий снимок. Для таблиц, которые включены в транзакцию, механизм снимков отключается. Для временных таблиц механизм снимков также отключается.
Фиксация состояний таблиц не захватывает таблицы в монопольное пользование. Другие пользователи могут продолжать работать с этими же таблицами.