powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / ошибка <STORE> при импорте xml в обьект
9 сообщений из 34, страница 2 из 2
ошибка <STORE> при импорте xml в обьект
    #38318997
feanorcheg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
servit,

interSystems не пишу явно что это и почему... "Там в настоящее время нет объекта" - странное пояснение ошибки. Так или иначе, я понял где копать, спасибо=)
...
Рейтинг: 0 / 0
ошибка <STORE> при импорте xml в обьект
    #38319367
feanorcheg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Обновление системы не помогло... Проблема как была так и осталась, уверен, дело всё еще в памяти...
...
Рейтинг: 0 / 0
ошибка <STORE> при импорте xml в обьект
    #38319914
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
feanorcheg ,

Используйте отладку .
...
Рейтинг: 0 / 0
ошибка <STORE> при импорте xml в обьект
    #38320525
feanorcheg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Отлаживал, но это мало что дало. Чувствую, дело всё таки в нехватке памяти на объект - и он не создался. Поэтому, наверное, выдаётся такая ошибка. Есть способы увеличить выделяемую память под объект?
...
Рейтинг: 0 / 0
ошибка <STORE> при импорте xml в обьект
    #38321139
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Меня смущает ошибка при вызове метода GetSwizzled() .
Очистка памяти от ранее подгруженных объектов осуществляется через метод %UnSwizzleAt .
Пример №1 (плохой)set obj=##class(demo.test).%OpenId(ID)
set count=obj.Persons.Count()
for i=1:1:count {
  write obj.Persons.GetAt(i).LastName
}Пример №2 (хороший)set obj=##class(demo.test).%OpenId(ID)
set count=obj.Persons.Count()
for i=1:1:count {
  write obj.Persons.GetAt(i).LastName
  do obj.Persons.%UnSwizzleAt(i)
} Пример №1 не закрывает объекты персон, а потому память быстро улетучивается. В то время как Пример №2 подчищает за собой и "промежуточные" объекты не накапливаются в памяти.

Возможно, в этом дело?

Подробнее об этом можно почитать в документации: In-memory Behavior of Relationships
...
Рейтинг: 0 / 0
ошибка <STORE> при импорте xml в обьект
    #38321180
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
servit%UnSwizzleAt
Ух ты, круто! Как иногда не хватало этого метода...
А просто вложенные объекты так выгружать можно?
...
Рейтинг: 0 / 0
ошибка <STORE> при импорте xml в обьект
    #38321401
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блок А.Н.Ух ты, круто! Как иногда не хватало этого метода...А он разве не давно появился? Например, в 5.2 он есть.Блок А.Н.А просто вложенные объекты так выгружать можно?Пробуйте. Для одиночных объектов достаточно присвоить "", и если больше нет на него ссылок, то объект будет удалён автоматически: Object Values
...
Рейтинг: 0 / 0
ошибка <STORE> при импорте xml в обьект
    #38321487
feanorcheg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
servit
Возможно, в этом дело?



А от чего наследуется класс Demo.test? Можно просто Persistent? И что в общем то делает этот метод? Если вызывает диструктор класса, то почему нельзя написать просто kill obj?
...
Рейтинг: 0 / 0
ошибка <STORE> при импорте xml в обьект
    #38321514
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
feanorchegА от чего наследуется класс Demo.test? Можно просто Persistent?Да, это обычный хранимый класс, наследуемый от %Persistent.
feanorchegИ что в общем то делает этот метод?Ссылку в документации на описание метода привёл выше.
feanorchegЕсли вызывает диструктор класса, то почему нельзя написать просто kill obj?Да, при уничтожении obj уничтожатся и все другие связанные с ним объекты.
Но если в цикле Вы делаете обход миллиона связанных объектов, то все они освободятся только в конце обхода , тогда как предлагается освобождать их тут же.

Есть ведь разница между

Код: plaintext
1.
2.
3.
4.
5.
открыть главный объект
начало цикла
  открыть вложенный объект
  сделать с ним что-то
конец цикла
освободить все объекты

и

Код: plaintext
1.
2.
3.
4.
5.
6.
открыть главный объект
начало цикла
  открыть вложенный объект
  сделать с ним что-то
  освободить вложенный объект
конец цикла
освободить главный объект
...
Рейтинг: 0 / 0
9 сообщений из 34, страница 2 из 2
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / ошибка <STORE> при импорте xml в обьект
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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