Обработка сложных структур данных в памяти Назад В начало Вперед

Если необходимо держать в памяти несколько связанных таблиц, все они открываются в режиме fmMemory. Для того, что бы использовать все поддерево совместно с таблицей в памяти, при открытии необходимо указать fmSubTree совместно с fmMemory.

Можно применять все режимы открытия, описанные в разделе "Работа с таблицами в памяти". Указанный режим открытия будет распространен на весь сабселект или поддерево. Это же касается использования функций ReinitTable, mtRetrieve, mtFlush. Аналогичные функции реализуются и у логической таблицы и распространяются на все ее узлы.

Таким образом, программист получает возможность в какой-то момент времени перевести всю или часть логической таблицы в память, произвести всю необходимую обработку в памяти, а потом сбросить проведенные изменения на диск, если это требуется.

Обработка сложных структур накладывает некоторые ограничения на множество операций, применимых к ТП. Не рекомендуется использовать операции, изменяющие структуру реляционных связей в логической таблице, для таблиц, попадающих в одну ТП (например, pushBounds и popBounds).

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

При попытке снять с ТП ограничения, наложенные до считывания данных, ошибка не выдается. Весь контроль возлагается на прикладного программиста.

Версия

Атлантис 5.00.04.