InterSystems Cache, где найти глобальные определения

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

Опять же, используя только терминал Cache, какую служебную функцию или Global я использую или смотрю, чтобы найти список всех узлов для этих Globals.

Этот сайт не использует какие-либо расширенные функции кэша, такие как CSP, SQL, VB или объектные сценарии.

Спасибо


person Intrinsic    schedule 09.12.2016    source источник


Ответы (2)


Вы можете использовать

Do ^%G

чтобы изучить глобальные переменные, и вы также можете найти

Do ^%GSIZE чтобы получить быстрый размер глобальных переменных

person Stephen Canzano    schedule 09.12.2016
comment
Спасибо. Есть ли способ повторно использовать все глобальные переменные, чтобы отобразить структуру глобальных узлов? - person Intrinsic; 09.12.2016
comment
Пара мыслей. 1. Обычно вы можете использовать $Query или $Order для работы с узлами в глобалах. 2. Что касается всех глобальных переменных, вы можете использовать [%SYS.GlobalQuery][1] [1]: docs.intersystems.com/latest/csp/documatic/, если вы также знакомы с созданием ResultSets/операторов SQL. . - person Stephen Canzano; 09.12.2016

Как упомянул Стивен, используйте ^GSIZE или ^%GD, чтобы получить список всех глобальных переменных в пространстве имен. Затем ^%G или ZW ^GloablName для изучения глобальной структуры.

Если вы ищете значение для каждого глобального узла (своего рода словарь/схема данных), то это зависит от того, использовался ли и какой подход при создании приложения.

Если он был построен с использованием собственного подхода InterSystems Object или SQL, вы найдете глобальные переменные, соответствующие шаблону, например ^TableNameD(id)=$lb("",field1,field2...) для данных и ^TableNameI для индексов. Если это так, посмотрите на определение схемы/таблицы/класса для получения подробной информации. Область хранения — это то, что сопоставляет поле с конкретной позицией узла.

Однако, если приложение было создано с использованием прямого доступа к глобальным переменным (модель NoSQL, если хотите), то интерпретация глобальной структуры зависит исключительно от бизнеса приложения, и вам необходимо проконсультироваться с документацией/исходным кодом/экспертами этого приложения. Это часто имеет место для некоторых приложений, изначально разработанных некоторое время назад.

person Anton    schedule 12.12.2016