Compare commits

..

3 Commits

Author SHA1 Message Date
Michael Hoennig
62180b9cf6 less output from git-pull-and-if-origin-changed-run-tests 2024-09-13 14:20:00 +02:00
Michael Hoennig
37835637f6 fix package name in arch test 2024-09-13 14:19:22 +02:00
Michael Hoennig
e88ab1b60b fix trigger order 2024-09-13 14:19:12 +02:00
5 changed files with 11 additions and 11 deletions

View File

@ -19,8 +19,6 @@ while true; do
echo "Running ./gradlew test"
source .aliases # only variables, aliases are not expanded in scripts
./gradlew test
else
echo "no changes detected on the origin branch"
fi
echo -e "waiting for changes..."

View File

@ -25,7 +25,7 @@ create table basis.tx_context
(
txId xid8 primary key not null,
txTimestamp timestamp not null,
currentSubject varchar(63) not null, -- not the uuid, because users can be deleted
currentSubject varchar(63) not null, -- not the uuid, because users can be deleted
assumedRoles varchar(1023) not null, -- not the uuids, because roles can be deleted
currentTask varchar(127) not null,
currentRequest text not null
@ -123,7 +123,8 @@ declare
begin
targetTable := lower(targetTable);
createTriggerSQL = 'CREATE TRIGGER tx_journal_tg' ||
-- "-0-" to put the trigger execution before any alphabetically greater tx-triggers
createTriggerSQL = 'CREATE TRIGGER tx_0_journal_tg' ||
' AFTER INSERT OR UPDATE OR DELETE ON ' || targetTable ||
' FOR EACH ROW EXECUTE PROCEDURE basis.tx_journal_trigger()';
execute createTriggerSQL;

View File

@ -12,14 +12,14 @@ declare
historicalTxId xid8;
historicalTimestamp timestamp;
begin
select coalesce(current_setting('hsadminng.basis.tx_history_txid', true), '') into historicalTxIdSetting;
select coalesce(current_setting('hsadminng.tx_history_txid', true), '') into historicalTxIdSetting;
select coalesce(current_setting('hsadminng.tx_history_timestamp', true), '') into historicalTimestampSetting;
if historicalTxIdSetting > '' and historicalTimestampSetting > '' then
raise exception 'either hsadminng.basis.tx_history_txid or hsadminng.tx_history_timestamp must be set, but both are set: (%, %)',
raise exception 'either hsadminng.tx_history_txid or hsadminng.tx_history_timestamp must be set, but both are set: (%, %)',
historicalTxIdSetting, historicalTimestampSetting;
end if;
if historicalTxIdSetting = '' and historicalTimestampSetting = '' then
raise exception 'either hsadminng.basis.tx_history_txid or hsadminng.tx_history_timestamp must be set, but both are unset or empty: (%, %)',
raise exception 'either hsadminng.tx_history_txid or hsadminng.tx_history_timestamp must be set, but both are unset or empty: (%, %)',
historicalTxIdSetting, historicalTimestampSetting;
end if;
-- just for debugging / making sure the function is only called once per query
@ -150,7 +150,8 @@ begin
raise notice 'sql: %', createViewSQL;
execute createViewSQL;
createTriggerSQL = 'CREATE TRIGGER ' || baseTable || '_tx_historicize_tg' ||
-- "-9-" to put the trigger execution after any alphabetically lesser tx-triggers
createTriggerSQL = 'CREATE TRIGGER tx_9_historicize_tg' ||
' AFTER INSERT OR DELETE OR UPDATE ON ' || baseTable ||
' FOR EACH ROW EXECUTE PROCEDURE tx_historicize_tf()';
raise notice 'sql: %', createTriggerSQL;

View File

@ -71,7 +71,7 @@ public class ArchitectureTest {
"..rbac.rbacuser",
"..rbac.rbacgrant",
"..rbac.rbacrole",
"..rbac.object",
"..rbac.rbacobject",
"..rbac.rbacdef",
"..stringify"
// ATTENTION: Don't simply add packages here, also add arch rules for the new package!

View File

@ -52,7 +52,7 @@ public abstract class ContextBasedTest {
protected void historicalContext(final Long txId) {
// set local cannot be used with query parameters
em.createNativeQuery("""
set local hsadminng.basis.tx_history_txid to ':txid';
set local hsadminng.tx_history_txid to ':txid';
""".replace(":txid", txId.toString())).executeUpdate();
em.createNativeQuery("""
set local hsadminng.tx_history_timestamp to '';
@ -66,7 +66,7 @@ public abstract class ContextBasedTest {
set local hsadminng.tx_history_timestamp to ':timestamp';
""".replace(":timestamp", txTimestamp.toString())).executeUpdate();
em.createNativeQuery("""
set local hsadminng.basis.tx_history_txid to '';
set local hsadminng.tx_history_txid to '';
""").executeUpdate();
}