Гость
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Просмотр глобала с индексами / 6 сообщений из 6, страница 1 из 1
16.06.2016, 09:39
    #39256820
Аленочка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Просмотр глобала с индексами
Коллеги, добрый день!
Подскажите, что может означать первая строчка - битый индекс?
Код: plaintext
1.
2.
3.
1:  ^my.ClassI("ContRelDatePlanIndex",207326,-100000000000000,20417) = ""
2:  ^my.ClassI("ContRelDatePlanIndex",207326,62903,20446) = ""
    
Всего: 2  [Конец глобала]
Удалила вручную, пробую в терминале выполнить команду DO ##class(my.Class).%BuildIndices(,1) выдает:
Код: plaintext
%objlasterror="0 hЉZ<SUBSCRIPT>%BuildIndices+16^my.Class.1 ^my.ClassI("ContRelDatePlanIndex","")"
Поиск в портале по маске ^my.ClassI("ContRelDatePlanIndex","" ничего не дает - правильно я понимаю что есть еще битые индексы?
Подскажите как их вычислить, проблемные уничтожить и все перестроить?

Сделала kill ^my.ClassI в терминале, после чего попробовала перестроить все индексы - не перестраивает, глобал ^my.ClassI не создает, ошибка все та же что и выше...вопрос - как решить проблему?
...
Рейтинг: 0 / 0
16.06.2016, 09:53
    #39256833
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Просмотр глобала с индексами
АленочкаПодскажите, что может означать первая строчка - битый индекс?Нет, не битый: -100000000000000 - это null: Indexing a NULL Аленочкавопрос - как решить проблему?Покажите код класса my.Class.
...
Рейтинг: 0 / 0
16.06.2016, 10:06
    #39256846
Аленочка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Просмотр глобала с индексами
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Class my.Class Extends sys.Integrity [ ClassType = persistent ]
{

Property Container As dtp.Container [ Required ];

Index ContRelDatePlanIndex On (Container, ReleaseDatePlan);

Property ReleaseDatePlan As dt.Date;

Property ReleaseDate As dt.Date;

Index ReleaseDateIndex On ReleaseDate;

}
...
Рейтинг: 0 / 0
16.06.2016, 10:28
    #39256870
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Просмотр глобала с индексами
Аленочка ,

Проверьте данные: скорее всего где-то Container равен NULL.
...
Рейтинг: 0 / 0
16.06.2016, 15:17
    #39257193
Аленочка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Просмотр глобала с индексами
А подскажите тогда, нормально ли такое поведение - добавление признака [ Required ] на уже существующих (в том числе пустых) данных не вызывает ошибок или предупреждений при компиляции класса...часть данных в глобале при этом фактически становятся не валидными (там где NUll-ы), при этом в портале эти данные нормально обрабатываются, например выводятся запросом по условию "Container is null"

И еще посоветуйте пожалуйста, что делать в таком случае: есть индекс по свойству, добавили у свойства признак [ Required ], после чего %BuildIndices() вываливается с ошибкой перестроения, если у некоторых экземпляров это свойство не прописано, т.е. на момент перестроения =NULL
...
Рейтинг: 0 / 0
16.06.2016, 15:45
    #39257216
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Просмотр глобала с индексами
АленочкаА подскажите тогда, нормально ли такое поведение - добавление признака [ Required ] на уже существующих (в том числе пустых) данных не вызывает ошибок или предупреждений при компиляции класса...часть данных в глобале при этом фактически становятся не валидными (там где NUll-ы), при этом в портале эти данные нормально обрабатываются, например выводятся запросом по условию "Container is null" Redefining a Persistent Class That Has Stored Data

Да, нормально, т.к. дизайн класса и схема хранения, включая отображение, отделены друг от друга логически.
Не проверять же при каждой компиляции класса все данные, которых может быть очень много и которые могут находиться на множестве удалённых серверов.АленочкаИ еще посоветуйте пожалуйста, что делать в таком случае: есть индекс по свойству, добавили у свойства признак [ Required ], после чего %BuildIndices() вываливается с ошибкой перестроения, если у некоторых экземпляров это свойство не прописано, т.е. на момент перестроения =NULLНапример, использовать такой алгоритм:
  • удалить признак [ Required ] (временно);
  • если надо, перестроить нужный индекс;
  • там где NULL, заполнить обязательное свойство значением по умолчанию;
  • вернуть признак обратно свойству и заново перестроить индекс.
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Просмотр глобала с индексами / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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