powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Global+Class
8 сообщений из 8, страница 1 из 1
Global+Class
    #37699833
alex171069
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте господа знатоки Cache!
Если мой вопрос покажется вам глупым, прошу сильно ногами не пинать, я только начинаю грызть cache.

А вопрос у меня вот такой:

При создании класса и дальнейшего его наполнения данными путем присвоения свойствам значений и выполнении метода Save() мы получаем не только класс но и глобал который создается неявно.

Вопрос : Где этот глобал хранится как называется как с ним можно поработать и можно ли увидеть данные которые мы присвоили свойствам класса а не глобалу?
...
Рейтинг: 0 / 0
Global+Class
    #37699856
Ptn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex171069Где этот глобал хранится как называется как с ним можно поработать и можно ли увидеть данные которые мы присвоили свойствам класса а не глобалу?

Храниться в базе которая отмечена как "База данных по умолчанию для глобалов" в для той области в которой вы создали класс. [Домашняя страница] > [Конфигурация] > [Области]

Название глобала хранения для класса выбирается на основе наименования класса - посмотреть можно включив в студии просмотр структуры хранения после компиляции класса. [Просмотр] > [Просмотр способа хранения]. После этого в конце класса откроется XML описания глобала класса и назначения полей в нем. Каждый хранимый класс определяет как минимум три глобала для хранения своих данных ^имя_глобалаD - для данных, ^имя_глобалаI - для индексов, ^имя_глобалаS - для стримов если таковые будут объявлены в классе.

Работа с глобалами Using Cach'e Globals мало чем отличается от работы с локальными переменными, с той лишь разницей что работая напрямую с глобалом без понимания того что вы делаете - вы скорее всего нарушите целостность данных в таблице.

Работать с глобалами класса напрямую особой нужды нет. Только если вам нужна максимальная скорость работы и вы точно знаете что делаете, в большинстве случаев достаточно просто открыть объект класса или сделать SQL запроса по таблице класса - суть Cach'e как раз в том что она при этом всё равно работает с одними и теме же данными в глобалах. И уже вы как программист решаете как с данными работать. Через объекты, SQL или напрямую через глобал.

Посмотреть и немного поредактировать глобалы можно все в том же портале управления . [Домашняя страница] > [Глобалы]
...
Рейтинг: 0 / 0
Global+Class
    #37699890
alex171069
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНазвание глобала хранения для класса выбирается на основе наименования класса - посмотреть можно включив в студии просмотр структуры хранения после компиляции класса. [Просмотр] > [Просмотр способа хранения]. После этого в конце класса откроется XML описания глобала класса и назначения полей в нем.

Безмерно благодарен вам за подробный ответ по глобалам!
Однако сколько я не искал я не нашел описанный вами просмотр структуры хранения.
Где он должен включаться ? В параметрах студии ничего подобного нет.....
Если бы подобным образом можно было бы просматривать глобалы это бы существенно облегчило работу с классами и глобалами.
...
Рейтинг: 0 / 0
Global+Class
    #37699893
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex171069я не нашел описанный вами просмотр структуры хранения.
Где он должен включаться ?
Запускаешь Студио... Открываешь описание класса... Потом меню "Вид", "Просмотр способа хранения"...
...
Рейтинг: 0 / 0
Global+Class
    #37699904
alex171069
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо ! Кажется нашел !
...
Рейтинг: 0 / 0
Global+Class
    #37700341
Ptn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaalex171069я не нашел описанный вами просмотр структуры хранения.
Где он должен включаться ?
Запускаешь Студио... Открываешь описание класса... Потом меню "Вид", "Просмотр способа хранения"...

У меня студи 2010.02 - там меню "Вид" называется "Просмотр". :)
...
Рейтинг: 0 / 0
Global+Class
    #37700407
Ptn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex171069 Если бы подобным образом можно было бы просматривать глобалы это бы существенно облегчило работу с классами и глобалами.

Если класс хранимый и со стандартной структурой хранения, не сильно то и облегчает. Куда проще посмотреть через SQL - чем рассматривать через глобалы. Обычно так делают если в структуре хранения мусор - к примеру переименовали/удалили поле, потом добавили с тем же именем новое.

Смотреть можно и через терминал - команда zw

Держите пример во вложении - просмотр глобала во время исполнения

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
>do ##class(User.GlobalTest).TestView()
Генерируем 20ть записей
Выбрали объект с ID = 13
Объектный дамп
+----------------- general information ---------------
|      oref value: 1
|      class name: User.GlobalTest
|             OID: $lb("13","User.GlobalTest")
| reference count: 2 (system)
+----------------- attribute values ------------------
|     (%Concurrency) = 0
|               Code = 827182400
|               Name = "Bukowski,Martin P."
+----------------- swizzled references ---------------
|           (none)
+-----------------------------------------------------
Глобальный дамп
^User.GlobalTestD(13)=$lb("",827182400,"Bukowski,Martin P.")
...
Рейтинг: 0 / 0
Global+Class
    #37700420
Ptn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Упс ... опечатко
Код: html
1.
2.
-if idglobal<1 {
+if $g(@idglobal)<1 {
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Global+Class
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]