Дополнительное добавление делает/тестирует цели к проекту автоинструментов

Ну, это не ни один оператор, но это почти настолько близко, как можно добраться с оракулом:

BEGIN
   FOR R IN (SELECT owner, table_name FROM all_tables WHERE owner='TheOwner') LOOP
      EXECUTE IMMEDIATE 'grant select on '||R.owner||'.'||R.table_name||' to TheUser';
   END LOOP;
END; 
5
задан Vadim Kotov 25 August 2017 в 09:39
поделиться

2 ответа

Поскольку больше не было ответов, я собираюсь ответить своим решением.

Я решил проблему рекурсии, полностью исключив рекурсию. Использование этой страницы в качестве руководства я переключил весь проект с рекурсивного make на нерекурсивный make. Затем я клонировал цели, связанные с нерекурсивной проверкой (check, check-am, check-TESTS и т. Д.), В новый набор целей для интеграционных тестов. Пока что это работает очень хорошо.

Примечание: вам может быть интересно, почему я просто не клонировал вместо этого рекурсивные цели. Честно говоря, я не смог их найти. Либо я не знал, где искать (правил не было в сгенерированном файле Makefile), либо что-то происходит неявно, и я недостаточно хорошо понимаю автоинструменты, чтобы следовать этому.

Что касается проблемы с .PHONY переопределено, я все еще не нашел решения, кроме как условно исключить другое определение при выполнении интеграционных тестов.

0
ответ дан 15 December 2019 в 01:06
поделиться

В ваших файлах AM весь синтаксис make передается в сгенерированный файл Makefile. Поэтому, если вам нужна новая цель, просто создайте ее, как в Makefile, и она появится в автоматически созданном Makefile. Поместите в конец ваших AM-файлов следующее:

integration-tests: prerequisites....
        commands to run test

.PHONY: integration-tests
4
ответ дан 15 December 2019 в 01:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: