ГОСТ Р ИСО 10303-22-2002
10.5.3 З а к р ы т и е х р а н и л и щ а
Данная команда закрывает ранее открытое хранилище. Экземпляры схем и СИДД-модели внутри
этого хранилища больше не доступны для работы.
Реализация, обеспечивающая транзакции уровней 1и 2 (см. 13.1.1), должна мсти себя так, как
будто команда завершения доступа в режиме «только чтение» применена для всех ранее открытых
СИДД-моделей с доступом в данном режиме. Реализация, обеспечивающая транзакцию уровня 1,
должна вести себя так. как будто команда завершения доступа в режиме «чтение—запись» ко всем
СИДД-моделям с режимом «чтение—запись® применена для всех активных СИДД-моделей внутри
хранилища. Реализация, обеспечивающая транзакцию уровня 2. должна вести себя так. как будто
команды отмены изменений и завершения доступа в режиме «чтение—запись» ко всем СИДД-
моделям с режимом «чтение—запись» применены для всех активных СИДД-моделей внутри храни
лища.
В реализации, обеспечивающей транзакцию уровня 3, если транзакция с доступом «чтение-
запись» активна в сеансе, имеют место два обстоятельства, при которых данная команда должна в
результате привести к ошибке TR_RW. Во-первых, если какая-нибудь СИДД-модель внутри
храни лища была создана, изменена или удалена после последнего применения команды
фиксация или аварийное прерывание. Во-вторых, если какой-нибудь экземпляр схемы внутри
хранилища был создан, изменен или удален после последнего применения команды фиксация
или аварийное пре рывание. В остальных случаях реализация, обеспечивающая транзакцию уровня
3. должна вести себя так, как будто команда завершения доступа в режиме «только чтение»
применена ко всем активным СИДД-моделям. доступным в режиме «только чтение», а команда
завершения доступа в режиме «чтение—запись» — ко всем СИДД-моделям, доступным в режиме
«чтение—запись», внутри хра нилища до его закрытия.
Вход
Хранилище:sdai_repository;
закрываемое хранилище.
Указатели возможных ошибок
SS_NOPNСеанс СИДД не открыт.
RP_NEXS Хранилище не существует.
RP_NOPN Хранилище не открыто.
TR_RWТранзакция типа «чтение—запись» и изменения запрещены.
SY_ERRОбнаружена ошибка основной системы.
Влияние на среду СИДД
В текущем сеансе Хранилище (Repository) удаляется из sdai_session.actlve_ser\ers.
Втекущем сеансе все элементы Repository.contents.modcLs удаляются из sdai_session.active_modeLs.
10.6 Команды экземпляра схемы
10.6.1 У д а л е н и е э к з е м п л я р а с х е м ы
Данная команда удаляет экземпляр схемы. Если существуют ссылки между двумя СИДД-моде-
лями, связанные с этим экземпляром схемы, и нет другого экземпляра схемы, с которым были бы
связаны обе модели, тогда ссылки между экземплярами объектов в этих двух моделях являются
неверными (см. 10.10.7).
Вход
Экземпляр:schema_instance;
удаляемый экземпляр схемы.
Указатели возможных ошибок
SS_NOPNСеанс СИДД не открыт.
S1_NEXSЭкземпляр схемы не существует.
RP_NOPNХранилище не открыто.
TR_NRWТранзакция не имеет типа «чтение—запись».
TR_NAVLТранзакция недоступна в текущем сеансе.
TR..EABТранзакция прервана аварийно.
SY_ERRОбнаруженаошибка основной системы.
Влияние на среду СИДД
Экземпляр (Instance) удаляется.
Экземпляр (Instance) должен быть удален из Instance.repository.contents.schemas.
50