Search
Write a publication
Pull to refresh
5
0
Павел Капля @Pazus

Делаю Алису

Send message
Привет. Судя по всему, вы используете старую (v2) версию utPLSQL, она давно уже не поддерживается. Я призываю вас посмотреть в сторону новой версии utPLSQL V3 (текущая 3.1.7) — utPLSQL.org. В ней масса новых возможностей, таких как подсчёт coverage, интеграция с CI, различные способы запуска, интеграция с SQL Developer, а в ближайшее время Фреймворк получит нашивную поддержку в Toad. Вы сможете гораздо более гибко управлять запуском тестов, получать расширенную информацию о причинах и местах ошибок в тестах.

Так случилось, что я — один из авторов utPLSQL v3, так что могу подсказать, рассказать о новых возможностях и ответить на вопросы.
Раньше деплой на Oracle выполнялся прямой компиляцией и приводил к проблемам с library cache, как я понимаю. Успели ли попробовать Edition Based Redefinition?
Хочу предупредить аудиторию, что использование составных триггеров связано с документированным багом СУБД.
Представим, что в составном триггере объявлена коллекция, которая заполняется в частях each row и обрабатывается в afer statement. Если вызвать dml-операцию удаления, по таблице, триггер отработает корректно. Если же удалить строку из ДРУГОЙ таблицы, на которую наша таблица с триггером ссылается каскадным внешним ключем, то в after statement часть коллекция придет ПУСТОЙ, хотя и будет заполняться в each row частях.
Данный баг присутствует в 11.2.0.4, почитать про него и способы его обхода можно здесь:
community.oracle.com/thread/3823651?start=0&tstart=0
asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:9523633800346769343
support.oracle.com/rs?type=doc&id=1638849.1

Information

Rating
Does not participate
Location
Россия
Registered
Activity

Specialization

Backend Developer, Software Architect
Java
PostgreSQL
Git
High-loaded systems
SQL
Oracle
Docker
Java Spring Framework
Junit
Kotlin