Check firebird.log [no messages found for interval when this test was running]
Jump to: output_first_mismatch    outcomes_full_history    elapsed_time_chart
Show cross-report outcomes.

Annotation type Annotation details
2 @message
assert   
  - Problem(s) detected:
  - out_prep:
  - Statement failed, SQLSTATE = HY000
  - ALTER CHARACTER SET "SYSTEM"."ISO8859_1" failed
  - -Cannot CREATE/ALTER/DROP CHARACTER SET in SYSTEM schema
  - out_drop:
  - 
  - --- 
  - +++ 
  - @@ -12,5 +12,511 @@
  -   COMMIT WORK; +/* Table: PUBLIC.LOG_DDL_TRIGGERS_ACTIVITY, Owner: SYSDBA */+CREATE TABLE PUBLIC.LOG_DDL_TRIGGERS_ACTIVITY (ID INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 1) NOT NULL,+        DDL_TRIGGER_NAME VARCHAR(64),+        EVENT_TYPE VARCHAR(25) NOT NULL,+        OBJECT_TYPE VARCHAR(25) NOT NULL,+        DDL_EVENT VARCHAR(25) NOT NULL,+        OBJECT_NAME VARCHAR(64) NOT NULL,+        DTS TIMESTAMP default 'now',+CONSTRAINT PK_LOG_DDL_TRIGGERS_ACTIVITY PRIMARY KEY (ID));+SET TERM ^ ;++/* Triggers only will work for SQL triggers */+CREATE TRIGGER PUBLIC.TRG_CREATE_TABLE_BEFORE +ACTIVE BEFORE CREATE TABLE POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'CREATE_TABLE_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_ALTER_TABLE_BEFORE +ACTIVE BEFORE ALTER TABLE POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'ALTER_TABLE_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_DROP_TABLE_BEFORE +ACTIVE BEFORE DROP TABLE POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'DROP_TABLE_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_CREATE_PROCEDURE_BEFORE +ACTIVE BEFORE CREATE PROCEDURE POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'CREATE_PROCEDURE_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_ALTER_PROCEDURE_BEFORE +ACTIVE BEFORE ALTER PROCEDURE POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'ALTER_PROCEDURE_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_DROP_PROCEDURE_BEFORE +ACTIVE BEFORE DROP PROCEDURE POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'DROP_PROCEDURE_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_CREATE_FUNCTION_BEFORE +ACTIVE BEFORE CREATE FUNCTION POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'CREATE_FUNCTION_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_ALTER_FUNCTION_BEFORE +ACTIVE BEFORE ALTER FUNCTION POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'ALTER_FUNCTION_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_DROP_FUNCTION_BEFORE +ACTIVE BEFORE DROP FUNCTION POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'DROP_FUNCTION_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_CREATE_TRIGGER_BEFORE +ACTIVE BEFORE CREATE TRIGGER POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'CREATE_TRIGGER_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_ALTER_TRIGGER_BEFORE +ACTIVE BEFORE ALTER TRIGGER POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'ALTER_TRIGGER_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_DROP_TRIGGER_BEFORE +ACTIVE BEFORE DROP TRIGGER POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'DROP_TRIGGER_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_CREATE_EXCEPTION_BEFORE +ACTIVE BEFORE CREATE EXCEPTION POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'CREATE_EXCEPTION_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_ALTER_EXCEPTION_BEFORE +ACTIVE BEFORE ALTER EXCEPTION POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'ALTER_EXCEPTION_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_DROP_EXCEPTION_BEFORE +ACTIVE BEFORE DROP EXCEPTION POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'DROP_EXCEPTION_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_CREATE_VIEW_BEFORE +ACTIVE BEFORE CREATE VIEW POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'CREATE_VIEW_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_ALTER_VIEW_BEFORE +ACTIVE BEFORE ALTER VIEW POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'ALTER_VIEW_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_DROP_VIEW_BEFORE +ACTIVE BEFORE DROP VIEW POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'DROP_VIEW_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_CREATE_DOMAIN_BEFORE +ACTIVE BEFORE CREATE DOMAIN POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'CREATE_DOMAIN_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_ALTER_DOMAIN_BEFORE +ACTIVE BEFORE ALTER DOMAIN POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'ALTER_DOMAIN_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_DROP_DOMAIN_BEFORE +ACTIVE BEFORE DROP DOMAIN POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'DROP_DOMAIN_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_CREATE_ROLE_BEFORE +ACTIVE BEFORE CREATE ROLE POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'CREATE_ROLE_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_ALTER_ROLE_BEFORE +ACTIVE BEFORE ALTER ROLE POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'ALTER_ROLE_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_DROP_ROLE_BEFORE +ACTIVE BEFORE DROP ROLE POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'DROP_ROLE_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_CREATE_INDEX_BEFORE +ACTIVE BEFORE CREATE INDEX POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'CREATE_INDEX_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_ALTER_INDEX_BEFORE +ACTIVE BEFORE ALTER INDEX POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'ALTER_INDEX_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_DROP_INDEX_BEFORE +ACTIVE BEFORE DROP INDEX POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'DROP_INDEX_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_CREATE_SEQUENCE_BEFORE +ACTIVE BEFORE CREATE SEQUENCE POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'CREATE_SEQUENCE_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_ALTER_SEQUENCE_BEFORE +ACTIVE BEFORE ALTER SEQUENCE POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'ALTER_SEQUENCE_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_DROP_SEQUENCE_BEFORE +ACTIVE BEFORE DROP SEQUENCE POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'DROP_SEQUENCE_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_CREATE_USER_BEFORE +ACTIVE BEFORE CREATE USER POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'CREATE_USER_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_ALTER_USER_BEFORE +ACTIVE BEFORE ALTER USER POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'ALTER_USER_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_DROP_USER_BEFORE +ACTIVE BEFORE DROP USER POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'DROP_USER_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_CREATE_COLLATION_BEFORE +ACTIVE BEFORE CREATE COLLATION POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'CREATE_COLLATION_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_ANY_DDL_STATEMENT_BEFORE +ACTIVE BEFORE ANY DDL STATEMENT POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'ANY_DDL_STATEMENT_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^+++SET TERM ; ^+COMMIT WORK;+ /* Grant permissions for this database */ GRANT USAGE ON SCHEMA PUBLIC TO USER PUBLIC;
  -

LOG DETAILS:

2025-06-20 02:51:20.749
2025-06-20 02:51:20.756 act_db_main = <firebird.qa.plugin.Action object at [hex]>
2025-06-20 02:51:20.760 act_db_repl = <firebird.qa.plugin.Action object at [hex]>
2025-06-20 02:51:20.765 capsys = <_pytest.capture.CaptureFixture object at [hex]>
2025-06-20 02:51:20.769
2025-06-20 02:51:20.773 @pytest.mark.replication
2025-06-20 02:51:20.778 @pytest.mark.version('>=4.0.1')
2025-06-20 02:51:20.785 def test_1(act_db_main: Action,  act_db_repl: Action, capsys):
2025-06-20 02:51:20.794
2025-06-20 02:51:20.802 out_prep, out_main, out_drop = '', '', ''
2025-06-20 02:51:20.810
2025-06-20 02:51:20.818 # Obtain full path + filename for DB_MAIN and DB_REPL aliases.
2025-06-20 02:51:20.826 # NOTE: we must NOT use 'a.db.db_path' for ALIASED databases!
2025-06-20 02:51:20.837 # It will return '.' rather than full path+filename.
2025-06-20 02:51:20.844 # Use only con.info.name for that!
2025-06-20 02:51:20.860 #
2025-06-20 02:51:20.869 db_main_file, db_repl_file = '', ''
2025-06-20 02:51:20.877 db_main_fw, db_repl_fw = DbWriteMode.ASYNC, DbWriteMode.ASYNC
2025-06-20 02:51:20.884
2025-06-20 02:51:20.895 with act_db_main.db.connect(no_db_triggers = True) as con:
2025-06-20 02:51:20.905 #if act_db_main.vars['server-arch'] == 'Classic' and os.name != 'nt':
2025-06-20 02:51:20.918 #    pytest.skip("Waiting for FIX: 'Engine is shutdown' in replication log for CS. Linux only.")
2025-06-20 02:51:20.930
2025-06-20 02:51:20.940 db_main_file = con.info.name
2025-06-20 02:51:20.953 db_main_fw = con.info.write_mode
2025-06-20 02:51:20.962
2025-06-20 02:51:20.986 with act_db_repl.db.connect(no_db_triggers = True) as con:
2025-06-20 02:51:20.999 db_repl_file = con.info.name
2025-06-20 02:51:21.014 db_repl_fw = con.info.write_mode
2025-06-20 02:51:21.026
2025-06-20 02:51:21.038 # ONLY FOR THIS test: forcedly change FW to OFF, without any condition.
2025-06-20 02:51:21.050 # Otherwise changes may not be delivered to replica for <MAX_TIME_FOR_WAIT_DATA_IN_REPLICA> seconds.
2025-06-20 02:51:21.062 #####################
2025-06-20 02:51:21.070 act_db_main.db.set_async_write()
2025-06-20 02:51:21.086 act_db_repl.db.set_async_write()
2025-06-20 02:51:21.098
2025-06-20 02:51:21.110
2025-06-20 02:51:21.118 # Must be EMPTY:
2025-06-20 02:51:21.133 out_prep = capsys.readouterr().out
2025-06-20 02:51:21.141
2025-06-20 02:51:21.150 sql_init = """
2025-06-20 02:51:21.161 set bail on;
2025-06-20 02:51:21.178
2025-06-20 02:51:21.186 recreate table log_ddl_triggers_activity (
2025-06-20 02:51:21.197 id int generated by default as identity constraint pk_log_ddl_triggers_activity primary key
2025-06-20 02:51:21.212 ,ddl_trigger_name varchar(64)
2025-06-20 02:51:21.222 ,event_type varchar(25) not null
2025-06-20 02:51:21.236 ,object_type varchar(25) not null
2025-06-20 02:51:21.248 ,ddl_event varchar(25) not null
2025-06-20 02:51:21.262 ,object_name varchar(64) not null
2025-06-20 02:51:21.273 ,dts timestamp default 'now'
2025-06-20 02:51:21.281 );
2025-06-20 02:51:21.296
2025-06-20 02:51:21.309
2025-06-20 02:51:21.317 set term ^;
2025-06-20 02:51:21.321 execute block as
2025-06-20 02:51:21.325 declare v_lf char(1) = x'0A';
2025-06-20 02:51:21.330 begin
2025-06-20 02:51:21.343 rdb$set_context('USER_SESSION', 'SKIP_DDL_TRIGGER', '1');
2025-06-20 02:51:21.357
2025-06-20 02:51:21.370 for
2025-06-20 02:51:21.378 with
2025-06-20 02:51:21.390 a as (
2025-06-20 02:51:21.397 select 'ANY DDL STATEMENT' x from rdb$database union all
2025-06-20 02:51:21.409 select 'CREATE TABLE' from rdb$database union all
2025-06-20 02:51:21.417 select 'ALTER TABLE' from rdb$database union all
2025-06-20 02:51:21.429 select 'DROP TABLE' from rdb$database union all
2025-06-20 02:51:21.442 select 'CREATE PROCEDURE' from rdb$database union all
2025-06-20 02:51:21.449 select 'ALTER PROCEDURE' from rdb$database union all
2025-06-20 02:51:21.457 select 'DROP PROCEDURE' from rdb$database union all
2025-06-20 02:51:21.471 select 'CREATE FUNCTION' from rdb$database union all
2025-06-20 02:51:21.481 select 'ALTER FUNCTION' from rdb$database union all
2025-06-20 02:51:21.494 select 'DROP FUNCTION' from rdb$database union all
2025-06-20 02:51:21.513 select 'CREATE TRIGGER' from rdb$database union all
2025-06-20 02:51:21.526 select 'ALTER TRIGGER' from rdb$database union all
2025-06-20 02:51:21.541 select 'DROP TRIGGER' from rdb$database union all
2025-06-20 02:51:21.549 select 'CREATE EXCEPTION' from rdb$database union all
2025-06-20 02:51:21.561 select 'ALTER EXCEPTION' from rdb$database union all
2025-06-20 02:51:21.578 select 'DROP EXCEPTION' from rdb$database union all
2025-06-20 02:51:21.586 select 'CREATE VIEW' from rdb$database union all
2025-06-20 02:51:21.602 select 'ALTER VIEW' from rdb$database union all
2025-06-20 02:51:21.610 select 'DROP VIEW' from rdb$database union all
2025-06-20 02:51:21.622 select 'CREATE DOMAIN' from rdb$database union all
2025-06-20 02:51:21.633 select 'ALTER DOMAIN' from rdb$database union all
2025-06-20 02:51:21.650 select 'DROP DOMAIN' from rdb$database union all
2025-06-20 02:51:21.655 select 'CREATE ROLE' from rdb$database union all
2025-06-20 02:51:21.668 select 'ALTER ROLE' from rdb$database union all
2025-06-20 02:51:21.682 select 'DROP ROLE' from rdb$database union all
2025-06-20 02:51:21.693 select 'CREATE SEQUENCE' from rdb$database union all
2025-06-20 02:51:21.705 select 'ALTER SEQUENCE' from rdb$database union all
2025-06-20 02:51:21.718 select 'DROP SEQUENCE' from rdb$database union all
2025-06-20 02:51:21.726 select 'CREATE USER' from rdb$database union all
2025-06-20 02:51:21.733 select 'ALTER USER' from rdb$database union all
2025-06-20 02:51:21.742 select 'DROP USER' from rdb$database union all
2025-06-20 02:51:21.750 select 'CREATE INDEX' from rdb$database union all
2025-06-20 02:51:21.758 select 'ALTER INDEX' from rdb$database union all
2025-06-20 02:51:21.769 select 'DROP INDEX' from rdb$database union all
2025-06-20 02:51:21.782 select 'CREATE COLLATION' from rdb$database union all
2025-06-20 02:51:21.794 select 'DROP COLLATION' from rdb$database union all
2025-06-20 02:51:21.801 select 'ALTER CHARACTER SET' from rdb$database union all
2025-06-20 02:51:21.813 select 'CREATE PACKAGE' from rdb$database union all
2025-06-20 02:51:21.823 select 'ALTER PACKAGE' from rdb$database union all
2025-06-20 02:51:21.838 select 'DROP PACKAGE' from rdb$database union all
2025-06-20 02:51:21.850 select 'CREATE PACKAGE BODY' from rdb$database union all
2025-06-20 02:51:21.861 select 'DROP PACKAGE BODY' from rdb$database
2025-06-20 02:51:21.874 )
2025-06-20 02:51:21.883 ,e as (
2025-06-20 02:51:21.898 select 'before' w from rdb$database union all select 'after' from rdb$database
2025-06-20 02:51:21.910 )
2025-06-20 02:51:21.926 ,t as (
2025-06-20 02:51:21.933 select upper(trim(replace(trim(a.x),' ','_')) || iif(e.w='before', '_before', '_after')) as trg_name, a.x, e.w
2025-06-20 02:51:21.941 from e, a
2025-06-20 02:51:21.949 )
2025-06-20 02:51:21.961
2025-06-20 02:51:21.969 select
2025-06-20 02:51:21.984 'create or alter trigger trg_' || t.trg_name
2025-06-20 02:51:21.993 || ' active ' || t.w || ' ' || trim(t.x) || ' as '
2025-06-20 02:51:22.005 || :v_lf
2025-06-20 02:51:22.013 || 'begin'
2025-06-20 02:51:22.025 || :v_lf
2025-06-20 02:51:22.033 || q'{    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then}'
2025-06-20 02:51:22.050 || :v_lf
2025-06-20 02:51:22.057 || '        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values('
2025-06-20 02:51:22.062 || :v_lf
2025-06-20 02:51:22.066 || q'{'}' || trim(t.trg_name) || q'{'}'
2025-06-20 02:51:22.071 || :v_lf
2025-06-20 02:51:22.075 || q'{, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')}'
2025-06-20 02:51:22.080 || :v_lf
2025-06-20 02:51:22.084 || q'{, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')}'
2025-06-20 02:51:22.091 || :v_lf
2025-06-20 02:51:22.096 || q'{, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')}'
2025-06-20 02:51:22.101 || :v_lf
2025-06-20 02:51:22.105 || q'{, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')}'
2025-06-20 02:51:22.109 || :v_lf
2025-06-20 02:51:22.114 || ');'
2025-06-20 02:51:22.121 || :v_lf
2025-06-20 02:51:22.128 || ' end'
2025-06-20 02:51:22.132 as sttm
2025-06-20 02:51:22.136 from t
2025-06-20 02:51:22.141 as cursor c
2025-06-20 02:51:22.145 do begin
2025-06-20 02:51:22.150 execute statement(c.sttm) with autonomous transaction;
2025-06-20 02:51:22.154 end
2025-06-20 02:51:22.158
2025-06-20 02:51:22.162 rdb$set_context('USER_SESSION', 'SKIP_DDL_TRIGGER', null);
2025-06-20 02:51:22.167 end
2025-06-20 02:51:22.171 ^
2025-06-20 02:51:22.175 commit
2025-06-20 02:51:22.179 ^
2025-06-20 02:51:22.183
2025-06-20 02:51:22.188 create table test(id int not null, name varchar(10))
2025-06-20 02:51:22.192 ^
2025-06-20 02:51:22.197 alter table test add constraint test_pk primary key(id)
2025-06-20 02:51:22.202 ^
2025-06-20 02:51:22.206 ----------
2025-06-20 02:51:22.210 create procedure sp_test as begin end
2025-06-20 02:51:22.215 ^
2025-06-20 02:51:22.220 alter procedure sp_test as declare x int; begin x=1; end
2025-06-20 02:51:22.224 ^
2025-06-20 02:51:22.229 ----------
2025-06-20 02:51:22.233 create function fn_test(a_id int) returns bigint as
2025-06-20 02:51:22.238 begin
2025-06-20 02:51:22.242 return a_id * a_id;
2025-06-20 02:51:22.246 end
2025-06-20 02:51:22.251 ^
2025-06-20 02:51:22.255 alter function fn_test(a_id int) returns int128 as
2025-06-20 02:51:22.260 begin
2025-06-20 02:51:22.264 return a_id * a_id * a_id;
2025-06-20 02:51:22.270 end
2025-06-20 02:51:22.275 ^
2025-06-20 02:51:22.280 ----------
2025-06-20 02:51:22.284 create trigger trg_connect_test on connect as
2025-06-20 02:51:22.289 begin
2025-06-20 02:51:22.293 end
2025-06-20 02:51:22.298 ^
2025-06-20 02:51:22.302 alter trigger trg_connect_test as
2025-06-20 02:51:22.306 declare x int;
2025-06-20 02:51:22.310 begin
2025-06-20 02:51:22.315 x = 1;
2025-06-20 02:51:22.319 end
2025-06-20 02:51:22.323 ^
2025-06-20 02:51:22.328 ----------
2025-06-20 02:51:22.333 create exception exc_test 'Invalud value: @1'
2025-06-20 02:51:22.337 ^
2025-06-20 02:51:22.342 alter exception exc_test 'Bad values: @1 and @2'
2025-06-20 02:51:22.346 ^
2025-06-20 02:51:22.350 ----------
2025-06-20 02:51:22.355 create view v_test as select 1 x from rdb$database
2025-06-20 02:51:22.359 ^
2025-06-20 02:51:22.363 alter view v_test as select 1 x, 2 y from rdb$database
2025-06-20 02:51:22.367 ^
2025-06-20 02:51:22.371 ----------
2025-06-20 02:51:22.376 create domain dm_test int
2025-06-20 02:51:22.380 ^
2025-06-20 02:51:22.384 alter domain dm_test set not null
2025-06-20 02:51:22.389 ^
2025-06-20 02:51:22.394 ----------
2025-06-20 02:51:22.399 create role r_test
2025-06-20 02:51:22.403 ^
2025-06-20 02:51:22.409 alter role r_test set system privileges to use_gstat_utility, ignore_db_triggers
2025-06-20 02:51:22.413 ^
2025-06-20 02:51:22.418 ----------
2025-06-20 02:51:22.423 create sequence g_test
2025-06-20 02:51:22.427 ^
2025-06-20 02:51:22.432 alter sequence g_test restart with 123
2025-06-20 02:51:22.437 ^
2025-06-20 02:51:22.445 ----------
2025-06-20 02:51:22.449 /*
2025-06-20 02:51:22.454 create or alter user u_test password '123' using plugin Srp
2025-06-20 02:51:22.459 ^
2025-06-20 02:51:22.464 alter user u_test password '456'
2025-06-20 02:51:22.469 ^
2025-06-20 02:51:22.474 */
2025-06-20 02:51:22.480 ----------
2025-06-20 02:51:22.484 create index test_name on test(name)
2025-06-20 02:51:22.488 ^
2025-06-20 02:51:22.493 alter index test_name inactive
2025-06-20 02:51:22.499 ^
2025-06-20 02:51:22.504 ----------
2025-06-20 02:51:22.510 create collation name_coll for utf8 from unicode case insensitive
2025-06-20 02:51:22.519 ^
2025-06-20 02:51:22.531 ----------
2025-06-20 02:51:22.546 alter character set iso8859_1 set default collation pt_br
2025-06-20 02:51:22.558 ^
2025-06-20 02:51:22.565 ----------
2025-06-20 02:51:22.575 create or alter package pg_test as
2025-06-20 02:51:22.587 begin
2025-06-20 02:51:22.602 function pg_fn1 returns int;
2025-06-20 02:51:22.611 end
2025-06-20 02:51:22.626 ^
2025-06-20 02:51:22.638 alter package pg_test as
2025-06-20 02:51:22.650 begin
2025-06-20 02:51:22.661 function pg_fn1(a_x int) returns int128;
2025-06-20 02:51:22.668 end
2025-06-20 02:51:22.673 ^
2025-06-20 02:51:22.683
2025-06-20 02:51:22.693 create package body pg_test as
2025-06-20 02:51:22.708 begin
2025-06-20 02:51:22.722 function pg_fn1(a_x int) returns int128 as
2025-06-20 02:51:22.734 begin
2025-06-20 02:51:22.742 return a_x * a_x * a_x;
2025-06-20 02:51:22.753 end
2025-06-20 02:51:22.761 end
2025-06-20 02:51:22.774 ^
2025-06-20 02:51:22.781 recreate table t_ddl_completed(id int primary key)
2025-06-20 02:51:22.794 ^
2025-06-20 02:51:22.802 commit
2025-06-20 02:51:22.812 ^
2025-06-20 02:51:22.826 """
2025-06-20 02:51:22.836
2025-06-20 02:51:22.850 act_db_main.isql(switches=['-q'], input = sql_init, combine_output = True)
2025-06-20 02:51:22.861 out_prep = act_db_main.clean_stdout
2025-06-20 02:51:22.874 act_db_main.reset()
2025-06-20 02:51:22.882
2025-06-20 02:51:22.898 if out_prep:
2025-06-20 02:51:22.905 # Init SQL raised error.
2025-06-20 02:51:22.918 pass
2025-06-20 02:51:22.925 else:
2025-06-20 02:51:22.937
2025-06-20 02:51:22.946 # Query to be used for check that all DB objects present in replica (after last DDL statement completed on master DB):
2025-06-20 02:51:22.958 ddl_ready_query = "select 1 from rdb$relations r where r.rdb$relation_name = upper('t_ddl_completed')"
2025-06-20 02:51:22.965 isql_check_script = ''
2025-06-20 02:51:22.978
2025-06-20 02:51:22.985 # DO NOT DELETE! To be used after #7547 will be fixed
2025-06-20 02:51:22.998 # (currently this query returns NOTHING on replica db)
2025-06-20 02:51:23.006 ######################################
2025-06-20 02:51:23.020 #isql_check_script = """
2025-06-20 02:51:23.030 #    set list on;
2025-06-20 02:51:23.042 #    set count on;
2025-06-20 02:51:23.049 #    select
2025-06-20 02:51:23.057 #         a.id
2025-06-20 02:51:23.070 #        ,a.ddl_trigger_name
2025-06-20 02:51:23.078 #        ,a.event_type
2025-06-20 02:51:23.094 #        ,a.object_type
2025-06-20 02:51:23.105 #        ,a.ddl_event
2025-06-20 02:51:23.118 #        ,a.object_name
2025-06-20 02:51:23.126 #    from log_ddl_triggers_activity a
2025-06-20 02:51:23.140 #    order by a.id;
2025-06-20 02:51:23.152 #"""
2025-06-20 02:51:23.161
2025-06-20 02:51:23.178 isql_expected_out = """
2025-06-20 02:51:23.186 """
2025-06-20 02:51:23.198
2025-06-20 02:51:23.206 ##############################################################################
2025-06-20 02:51:23.218 ###  W A I T   U N T I L    R E P L I C A    B E C O M E S   A C T U A L   ###
2025-06-20 02:51:23.226 ##############################################################################
2025-06-20 02:51:23.237 watch_replica( act_db_repl, MAX_TIME_FOR_WAIT_DATA_IN_REPLICA, ddl_ready_query, isql_check_script, isql_expected_out)
2025-06-20 02:51:23.248 # Must be EMPTY:
2025-06-20 02:51:23.262 out_main = capsys.readouterr().out
2025-06-20 02:51:23.270
2025-06-20 02:51:23.282
2025-06-20 02:51:23.290 drop_db_objects(act_db_main, act_db_repl, capsys)
2025-06-20 02:51:23.302
2025-06-20 02:51:23.314 # Return FW to initial values (if needed):
2025-06-20 02:51:23.326 if db_main_fw == DbWriteMode.SYNC:
2025-06-20 02:51:23.334 act_db_main.db.set_sync_write()
2025-06-20 02:51:23.344 if db_repl_fw == DbWriteMode.SYNC:
2025-06-20 02:51:23.360 act_db_repl.db.set_sync_write()
2025-06-20 02:51:23.370
2025-06-20 02:51:23.382 # Must be EMPTY:
2025-06-20 02:51:23.394 out_drop = capsys.readouterr().out
2025-06-20 02:51:23.401
2025-06-20 02:51:23.414 if [ x for x in (out_prep, out_main, out_drop) if x.strip() ]:
2025-06-20 02:51:23.421 # We have a problem either with DDL/DML or with dropping DB objects.
2025-06-20 02:51:23.438 # First, we have to RECREATE both master and slave databases
2025-06-20 02:51:23.446 # (otherwise further execution of this test or other replication-related tests most likely will fail):
2025-06-20 02:51:23.458 out_reset = reset_replication(act_db_main, act_db_repl, db_main_file, db_repl_file)
2025-06-20 02:51:23.466
2025-06-20 02:51:23.486 # Next, we display out_main, out_drop and out_reset:
2025-06-20 02:51:23.494 #
2025-06-20 02:51:23.506 print('Problem(s) detected:')
2025-06-20 02:51:23.514 if out_prep.strip():
2025-06-20 02:51:23.524 print('out_prep:')
2025-06-20 02:51:23.534 print(out_prep)
2025-06-20 02:51:23.549 if out_main.strip():
2025-06-20 02:51:23.566 print('out_main:')
2025-06-20 02:51:23.578 print(out_main)
2025-06-20 02:51:23.586 if out_drop.strip():
2025-06-20 02:51:23.594 print('out_drop:')
2025-06-20 02:51:23.606 print(out_drop)
2025-06-20 02:51:23.614 if out_reset.strip():
2025-06-20 02:51:23.626 print('out_reset:')
2025-06-20 02:51:23.638 print(out_reset)
2025-06-20 02:51:23.646
2025-06-20 02:51:23.658 >           assert '' == capsys.readouterr().out
2025-06-20 02:51:23.664 E           assert
2025-06-20 02:51:23.678 E             - Problem(s) detected:
2025-06-20 02:51:23.688 E             - out_prep:
2025-06-20 02:51:23.698 E             - Statement failed, SQLSTATE = HY000
2025-06-20 02:51:23.710 E             - ALTER CHARACTER SET "SYSTEM"."ISO8859_1" failed
2025-06-20 02:51:23.716 E             - -Cannot CREATE/ALTER/DROP CHARACTER SET in SYSTEM schema
2025-06-20 02:51:23.733 E             - out_drop:
2025-06-20 02:51:23.742 E             -
2025-06-20 02:51:23.748 E             - ---
2025-06-20 02:51:23.761 E             - +++
2025-06-20 02:51:23.778 E             - @@ -12,5 +12,511 @@
2025-06-20 02:51:23.861 E             -   COMMIT WORK; +/* Table: PUBLIC.LOG_DDL_TRIGGERS_ACTIVITY, Owner: SYSDBA */+CREATE TABLE PUBLIC.LOG_DDL_TRIGGERS_ACTIVITY (ID INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 1) NOT NULL,+        DDL_TRIGGER_NAME VARCHAR(64),+        EVENT_TYPE VARCHAR(25) NOT NULL,+        OBJECT_TYPE VARCHAR(25) NOT NULL,+        DDL_EVENT VARCHAR(25) NOT NULL,+        OBJECT_NAME VARCHAR(64) NOT NULL,+        DTS TIMESTAMP default 'now',+CONSTRAINT PK_LOG_DDL_TRIGGERS_ACTIVITY PRIMARY KEY (ID));+SET TERM ^ ;++/* Triggers only will work for SQL triggers */+CREATE TRIGGER PUBLIC.TRG_CREATE_TABLE_BEFORE +ACTIVE BEFORE CREATE TABLE POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'CREATE_TABLE_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_ALTER_TABLE_BEFORE +ACTIVE BEFORE ALTER TABLE POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'ALTER_TABLE_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_DROP_TABLE_BEFORE +ACTIVE BEFORE DROP TABLE POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'DROP_TABLE_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_CREATE_PROCEDURE_BEFORE +ACTIVE BEFORE CREATE PROCEDURE POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'CREATE_PROCEDURE_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_ALTER_PROCEDURE_BEFORE +ACTIVE BEFORE ALTER PROCEDURE POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'ALTER_PROCEDURE_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_DROP_PROCEDURE_BEFORE +ACTIVE BEFORE DROP PROCEDURE POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'DROP_PROCEDURE_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_CREATE_FUNCTION_BEFORE +ACTIVE BEFORE CREATE FUNCTION POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'CREATE_FUNCTION_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_ALTER_FUNCTION_BEFORE +ACTIVE BEFORE ALTER FUNCTION POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'ALTER_FUNCTION_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_DROP_FUNCTION_BEFORE +ACTIVE BEFORE DROP FUNCTION POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'DROP_FUNCTION_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_CREATE_TRIGGER_BEFORE +ACTIVE BEFORE CREATE TRIGGER POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'CREATE_TRIGGER_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_ALTER_TRIGGER_BEFORE +ACTIVE BEFORE ALTER TRIGGER POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'ALTER_TRIGGER_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_DROP_TRIGGER_BEFORE +ACTIVE BEFORE DROP TRIGGER POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'DROP_TRIGGER_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_CREATE_EXCEPTION_BEFORE +ACTIVE BEFORE CREATE EXCEPTION POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'CREATE_EXCEPTION_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_ALTER_EXCEPTION_BEFORE +ACTIVE BEFORE ALTER EXCEPTION POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'ALTER_EXCEPTION_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_DROP_EXCEPTION_BEFORE +ACTIVE BEFORE DROP EXCEPTION POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'DROP_EXCEPTION_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_CREATE_VIEW_BEFORE +ACTIVE BEFORE CREATE VIEW POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'CREATE_VIEW_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_ALTER_VIEW_BEFORE +ACTIVE BEFORE ALTER VIEW POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'ALTER_VIEW_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_DROP_VIEW_BEFORE +ACTIVE BEFORE DROP VIEW POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'DROP_VIEW_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_CREATE_DOMAIN_BEFORE +ACTIVE BEFORE CREATE DOMAIN POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'CREATE_DOMAIN_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_ALTER_DOMAIN_BEFORE +ACTIVE BEFORE ALTER DOMAIN POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'ALTER_DOMAIN_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_DROP_DOMAIN_BEFORE +ACTIVE BEFORE DROP DOMAIN POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'DROP_DOMAIN_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_CREATE_ROLE_BEFORE +ACTIVE BEFORE CREATE ROLE POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'CREATE_ROLE_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_ALTER_ROLE_BEFORE +ACTIVE BEFORE ALTER ROLE POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'ALTER_ROLE_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_DROP_ROLE_BEFORE +ACTIVE BEFORE DROP ROLE POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'DROP_ROLE_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_CREATE_INDEX_BEFORE +ACTIVE BEFORE CREATE INDEX POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'CREATE_INDEX_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_ALTER_INDEX_BEFORE +ACTIVE BEFORE ALTER INDEX POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'ALTER_INDEX_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_DROP_INDEX_BEFORE +ACTIVE BEFORE DROP INDEX POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'DROP_INDEX_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_CREATE_SEQUENCE_BEFORE +ACTIVE BEFORE CREATE SEQUENCE POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'CREATE_SEQUENCE_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_ALTER_SEQUENCE_BEFORE +ACTIVE BEFORE ALTER SEQUENCE POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'ALTER_SEQUENCE_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_DROP_SEQUENCE_BEFORE +ACTIVE BEFORE DROP SEQUENCE POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'DROP_SEQUENCE_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_CREATE_USER_BEFORE +ACTIVE BEFORE CREATE USER POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'CREATE_USER_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_ALTER_USER_BEFORE +ACTIVE BEFORE ALTER USER POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'ALTER_USER_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_DROP_USER_BEFORE +ACTIVE BEFORE DROP USER POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'DROP_USER_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_CREATE_COLLATION_BEFORE +ACTIVE BEFORE CREATE COLLATION POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'CREATE_COLLATION_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_ANY_DDL_STATEMENT_BEFORE +ACTIVE BEFORE ANY DDL STATEMENT POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'ANY_DDL_STATEMENT_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^+++SET TERM ; ^+COMMIT WORK;+ /* Grant permissions for this database */ GRANT USAGE ON SCHEMA PUBLIC TO USER PUBLIC;
2025-06-20 02:51:23.873 E             -
2025-06-20 02:51:23.890
2025-06-20 02:51:23.902 tests/functional/replication/test_ddl_triggers_must_not_fire_on_replica.py:663: AssertionError
3 #text
act_db_main = <firebird.qa.plugin.Action pytest object at [hex]>
act_db_repl = <firebird.qa.plugin.Action pytest object at [hex]>
capsys = <_pytest.capture.CaptureFixture pytest object at [hex]>

    @pytest.mark.replication
    @pytest.mark.version('>=4.0.1')
    def test_1(act_db_main: Action,  act_db_repl: Action, capsys):
    
        out_prep, out_main, out_drop = '', '', ''
    
        # Obtain full path + filename for DB_MAIN and DB_REPL aliases.
        # NOTE: we must NOT use 'a.db.db_path' for ALIASED databases!
        # It will return '.' rather than full path+filename.
        # Use only con.info.name for that!
        #
        db_main_file, db_repl_file = '', ''
        db_main_fw, db_repl_fw = DbWriteMode.ASYNC, DbWriteMode.ASYNC
    
        with act_db_main.db.connect(no_db_triggers = True) as con:
            #if act_db_main.vars['server-arch'] == 'Classic' and os.name != 'nt':
            #    pytest.skip("Waiting for FIX: 'Engine is shutdown' in replication log for CS. Linux only.")
    
            db_main_file = con.info.name
            db_main_fw = con.info.write_mode
    
        with act_db_repl.db.connect(no_db_triggers = True) as con:
            db_repl_file = con.info.name
            db_repl_fw = con.info.write_mode
    
        # ONLY FOR THIS test: forcedly change FW to OFF, without any condition.
        # Otherwise changes may not be delivered to replica for <MAX_TIME_FOR_WAIT_DATA_IN_REPLICA> seconds.
        #####################
        act_db_main.db.set_async_write()
        act_db_repl.db.set_async_write()
    
    
        # Must be EMPTY:
        out_prep = capsys.readouterr().out
    
        sql_init = """
            set bail on;
    
            recreate table log_ddl_triggers_activity (
                id int generated by default as identity constraint pk_log_ddl_triggers_activity primary key
                ,ddl_trigger_name varchar(64)
                ,event_type varchar(25) not null
                ,object_type varchar(25) not null
                ,ddl_event varchar(25) not null
                ,object_name varchar(64) not null
                ,dts timestamp default 'now'
            );
    
    
            set term ^;
            execute block as
                declare v_lf char(1) = x'0A';
            begin
                rdb$set_context('USER_SESSION', 'SKIP_DDL_TRIGGER', '1');
    
                for
                    with
                    a as (
                        select 'ANY DDL STATEMENT' x from rdb$database union all
                        select 'CREATE TABLE' from rdb$database union all
                        select 'ALTER TABLE' from rdb$database union all
                        select 'DROP TABLE' from rdb$database union all
                        select 'CREATE PROCEDURE' from rdb$database union all
                        select 'ALTER PROCEDURE' from rdb$database union all
                        select 'DROP PROCEDURE' from rdb$database union all
                        select 'CREATE FUNCTION' from rdb$database union all
                        select 'ALTER FUNCTION' from rdb$database union all
                        select 'DROP FUNCTION' from rdb$database union all
                        select 'CREATE TRIGGER' from rdb$database union all
                        select 'ALTER TRIGGER' from rdb$database union all
                        select 'DROP TRIGGER' from rdb$database union all
                        select 'CREATE EXCEPTION' from rdb$database union all
                        select 'ALTER EXCEPTION' from rdb$database union all
                        select 'DROP EXCEPTION' from rdb$database union all
                        select 'CREATE VIEW' from rdb$database union all
                        select 'ALTER VIEW' from rdb$database union all
                        select 'DROP VIEW' from rdb$database union all
                        select 'CREATE DOMAIN' from rdb$database union all
                        select 'ALTER DOMAIN' from rdb$database union all
                        select 'DROP DOMAIN' from rdb$database union all
                        select 'CREATE ROLE' from rdb$database union all
                        select 'ALTER ROLE' from rdb$database union all
                        select 'DROP ROLE' from rdb$database union all
                        select 'CREATE SEQUENCE' from rdb$database union all
                        select 'ALTER SEQUENCE' from rdb$database union all
                        select 'DROP SEQUENCE' from rdb$database union all
                        select 'CREATE USER' from rdb$database union all
                        select 'ALTER USER' from rdb$database union all
                        select 'DROP USER' from rdb$database union all
                        select 'CREATE INDEX' from rdb$database union all
                        select 'ALTER INDEX' from rdb$database union all
                        select 'DROP INDEX' from rdb$database union all
                        select 'CREATE COLLATION' from rdb$database union all
                        select 'DROP COLLATION' from rdb$database union all
                        select 'ALTER CHARACTER SET' from rdb$database union all
                        select 'CREATE PACKAGE' from rdb$database union all
                        select 'ALTER PACKAGE' from rdb$database union all
                        select 'DROP PACKAGE' from rdb$database union all
                        select 'CREATE PACKAGE BODY' from rdb$database union all
                        select 'DROP PACKAGE BODY' from rdb$database
                    )
                    ,e as (
                        select 'before' w from rdb$database union all select 'after' from rdb$database
                    )
                    ,t as (
                        select upper(trim(replace(trim(a.x),' ','_')) || iif(e.w='before', '_before', '_after')) as trg_name, a.x, e.w
                        from e, a
                    )
    
                    select
                           'create or alter trigger trg_' || t.trg_name
                        || ' active ' || t.w || ' ' || trim(t.x) || ' as '
                        || :v_lf
                        || 'begin'
                        || :v_lf
                        || q'{    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then}'
                        || :v_lf
                        || '        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values('
                        || :v_lf
                        || q'{'}' || trim(t.trg_name) || q'{'}'
                        || :v_lf
                        || q'{, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')}'
                        || :v_lf
                        || q'{, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')}'
                        || :v_lf
                        || q'{, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')}'
                        || :v_lf
                        || q'{, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')}'
                        || :v_lf
                        || ');'
                        || :v_lf
                        || ' end'
                        as sttm
                    from t
                    as cursor c
                do begin
                     execute statement(c.sttm) with autonomous transaction;
                end
    
                rdb$set_context('USER_SESSION', 'SKIP_DDL_TRIGGER', null);
            end
            ^
            commit
            ^
    
            create table test(id int not null, name varchar(10))
            ^
            alter table test add constraint test_pk primary key(id)
            ^
            ----------
            create procedure sp_test as begin end
            ^
            alter procedure sp_test as declare x int; begin x=1; end
            ^
            ----------
            create function fn_test(a_id int) returns bigint as
            begin
                return a_id * a_id;
            end
            ^
            alter function fn_test(a_id int) returns int128 as
            begin
                return a_id * a_id * a_id;
            end
            ^
            ----------
            create trigger trg_connect_test on connect as
            begin
            end
            ^
            alter trigger trg_connect_test as
                declare x int;
            begin
                x = 1;
            end
            ^
            ----------
            create exception exc_test 'Invalud value: @1'
            ^
            alter exception exc_test 'Bad values: @1 and @2'
            ^
            ----------
            create view v_test as select 1 x from rdb$database
            ^
            alter view v_test as select 1 x, 2 y from rdb$database
            ^
            ----------
            create domain dm_test int
            ^
            alter domain dm_test set not null
            ^
            ----------
            create role r_test
            ^
            alter role r_test set system privileges to use_gstat_utility, ignore_db_triggers
            ^
            ----------
            create sequence g_test
            ^
            alter sequence g_test restart with 123
            ^
            ----------
            /*
            create or alter user u_test password '123' using plugin Srp
            ^
            alter user u_test password '456'
            ^
            */
            ----------
            create index test_name on test(name)
            ^
            alter index test_name inactive
            ^
            ----------
            create collation name_coll for utf8 from unicode case insensitive
            ^
            ----------
            alter character set iso8859_1 set default collation pt_br
            ^
            ----------
            create or alter package pg_test as
            begin
               function pg_fn1 returns int;
            end
            ^
            alter package pg_test as
            begin
               function pg_fn1(a_x int) returns int128;
            end
            ^
    
            create package body pg_test as
            begin
               function pg_fn1(a_x int) returns int128 as
               begin
                   return a_x * a_x * a_x;
               end
            end
            ^
            recreate table t_ddl_completed(id int primary key)
            ^
            commit
            ^
        """
    
        act_db_main.isql(switches=['-q'], input = sql_init, combine_output = True)
        out_prep = act_db_main.clean_stdout
        act_db_main.reset()
    
        if out_prep:
            # Init SQL raised error.
            pass
        else:
    
            # Query to be used for check that all DB objects present in replica (after last DDL statement completed on master DB):
            ddl_ready_query = "select 1 from rdb$relations r where r.rdb$relation_name = upper('t_ddl_completed')"
            isql_check_script = ''
    
            # DO NOT DELETE! To be used after #7547 will be fixed
            # (currently this query returns NOTHING on replica db)
            ######################################
            #isql_check_script = """
            #    set list on;
            #    set count on;
            #    select
            #         a.id
            #        ,a.ddl_trigger_name
            #        ,a.event_type
            #        ,a.object_type
            #        ,a.ddl_event
            #        ,a.object_name
            #    from log_ddl_triggers_activity a
            #    order by a.id;
            #"""
    
            isql_expected_out = """
            """
    
            ##############################################################################
            ###  W A I T   U N T I L    R E P L I C A    B E C O M E S   A C T U A L   ###
            ##############################################################################
            watch_replica( act_db_repl, MAX_TIME_FOR_WAIT_DATA_IN_REPLICA, ddl_ready_query, isql_check_script, isql_expected_out)
            # Must be EMPTY:
            out_main = capsys.readouterr().out
    
    
        drop_db_objects(act_db_main, act_db_repl, capsys)
    
        # Return FW to initial values (if needed):
        if db_main_fw == DbWriteMode.SYNC:
            act_db_main.db.set_sync_write()
        if db_repl_fw == DbWriteMode.SYNC:
            act_db_repl.db.set_sync_write()
    
        # Must be EMPTY:
        out_drop = capsys.readouterr().out
    
        if [ x for x in (out_prep, out_main, out_drop) if x.strip() ]:
            # We have a problem either with DDL/DML or with dropping DB objects.
            # First, we have to RECREATE both master and slave databases
            # (otherwise further execution of this test or other replication-related tests most likely will fail):
            out_reset = reset_replication(act_db_main, act_db_repl, db_main_file, db_repl_file)
    
            # Next, we display out_main, out_drop and out_reset:
            #
            print('Problem(s) detected:')
            if out_prep.strip():
                print('out_prep:')
                print(out_prep)
            if out_main.strip():
                print('out_main:')
                print(out_main)
            if out_drop.strip():
                print('out_drop:')
                print(out_drop)
            if out_reset.strip():
                print('out_reset:')
                print(out_reset)
    
>           assert '' == capsys.readouterr().out
E           assert   
E             - Problem(s) detected:
E             - out_prep:
E             - Statement failed, SQLSTATE = HY000
E             - ALTER CHARACTER SET "SYSTEM"."ISO8859_1" failed
E             - -Cannot CREATE/ALTER/DROP CHARACTER SET in SYSTEM schema
E             - out_drop:
E             - 
E             - --- 
E             - +++ 
E             - @@ -12,5 +12,511 @@
E             -   COMMIT WORK; +/* Table: PUBLIC.LOG_DDL_TRIGGERS_ACTIVITY, Owner: SYSDBA */+CREATE TABLE PUBLIC.LOG_DDL_TRIGGERS_ACTIVITY (ID INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 1) NOT NULL,+        DDL_TRIGGER_NAME VARCHAR(64),+        EVENT_TYPE VARCHAR(25) NOT NULL,+        OBJECT_TYPE VARCHAR(25) NOT NULL,+        DDL_EVENT VARCHAR(25) NOT NULL,+        OBJECT_NAME VARCHAR(64) NOT NULL,+        DTS TIMESTAMP default 'now',+CONSTRAINT PK_LOG_DDL_TRIGGERS_ACTIVITY PRIMARY KEY (ID));+SET TERM ^ ;++/* Triggers only will work for SQL triggers */+CREATE TRIGGER PUBLIC.TRG_CREATE_TABLE_BEFORE +ACTIVE BEFORE CREATE TABLE POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'CREATE_TABLE_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_ALTER_TABLE_BEFORE +ACTIVE BEFORE ALTER TABLE POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'ALTER_TABLE_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_DROP_TABLE_BEFORE +ACTIVE BEFORE DROP TABLE POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'DROP_TABLE_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_CREATE_PROCEDURE_BEFORE +ACTIVE BEFORE CREATE PROCEDURE POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'CREATE_PROCEDURE_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_ALTER_PROCEDURE_BEFORE +ACTIVE BEFORE ALTER PROCEDURE POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'ALTER_PROCEDURE_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_DROP_PROCEDURE_BEFORE +ACTIVE BEFORE DROP PROCEDURE POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'DROP_PROCEDURE_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_CREATE_FUNCTION_BEFORE +ACTIVE BEFORE CREATE FUNCTION POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'CREATE_FUNCTION_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_ALTER_FUNCTION_BEFORE +ACTIVE BEFORE ALTER FUNCTION POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'ALTER_FUNCTION_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_DROP_FUNCTION_BEFORE +ACTIVE BEFORE DROP FUNCTION POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'DROP_FUNCTION_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_CREATE_TRIGGER_BEFORE +ACTIVE BEFORE CREATE TRIGGER POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'CREATE_TRIGGER_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_ALTER_TRIGGER_BEFORE +ACTIVE BEFORE ALTER TRIGGER POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'ALTER_TRIGGER_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_DROP_TRIGGER_BEFORE +ACTIVE BEFORE DROP TRIGGER POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'DROP_TRIGGER_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_CREATE_EXCEPTION_BEFORE +ACTIVE BEFORE CREATE EXCEPTION POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'CREATE_EXCEPTION_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_ALTER_EXCEPTION_BEFORE +ACTIVE BEFORE ALTER EXCEPTION POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'ALTER_EXCEPTION_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_DROP_EXCEPTION_BEFORE +ACTIVE BEFORE DROP EXCEPTION POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'DROP_EXCEPTION_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_CREATE_VIEW_BEFORE +ACTIVE BEFORE CREATE VIEW POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'CREATE_VIEW_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_ALTER_VIEW_BEFORE +ACTIVE BEFORE ALTER VIEW POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'ALTER_VIEW_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_DROP_VIEW_BEFORE +ACTIVE BEFORE DROP VIEW POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'DROP_VIEW_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_CREATE_DOMAIN_BEFORE +ACTIVE BEFORE CREATE DOMAIN POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'CREATE_DOMAIN_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_ALTER_DOMAIN_BEFORE +ACTIVE BEFORE ALTER DOMAIN POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'ALTER_DOMAIN_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_DROP_DOMAIN_BEFORE +ACTIVE BEFORE DROP DOMAIN POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'DROP_DOMAIN_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_CREATE_ROLE_BEFORE +ACTIVE BEFORE CREATE ROLE POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'CREATE_ROLE_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_ALTER_ROLE_BEFORE +ACTIVE BEFORE ALTER ROLE POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'ALTER_ROLE_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_DROP_ROLE_BEFORE +ACTIVE BEFORE DROP ROLE POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'DROP_ROLE_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_CREATE_INDEX_BEFORE +ACTIVE BEFORE CREATE INDEX POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'CREATE_INDEX_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_ALTER_INDEX_BEFORE +ACTIVE BEFORE ALTER INDEX POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'ALTER_INDEX_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_DROP_INDEX_BEFORE +ACTIVE BEFORE DROP INDEX POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'DROP_INDEX_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_CREATE_SEQUENCE_BEFORE +ACTIVE BEFORE CREATE SEQUENCE POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'CREATE_SEQUENCE_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_ALTER_SEQUENCE_BEFORE +ACTIVE BEFORE ALTER SEQUENCE POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'ALTER_SEQUENCE_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_DROP_SEQUENCE_BEFORE +ACTIVE BEFORE DROP SEQUENCE POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'DROP_SEQUENCE_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_CREATE_USER_BEFORE +ACTIVE BEFORE CREATE USER POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'CREATE_USER_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_ALTER_USER_BEFORE +ACTIVE BEFORE ALTER USER POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'ALTER_USER_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_DROP_USER_BEFORE +ACTIVE BEFORE DROP USER POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'DROP_USER_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_CREATE_COLLATION_BEFORE +ACTIVE BEFORE CREATE COLLATION POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'CREATE_COLLATION_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^++CREATE TRIGGER PUBLIC.TRG_ANY_DDL_STATEMENT_BEFORE +ACTIVE BEFORE ANY DDL STATEMENT POSITION 0 +as +begin+    if (rdb$get_context('USER_SESSION', 'SKIP_DDL_TRIGGER') is null) then+        insert into log_ddl_triggers_activity(ddl_trigger_name, event_type, object_type, ddl_event, object_name) values(+'ANY_DDL_STATEMENT_BEFORE'+, rdb$get_context('DDL_TRIGGER', 'EVENT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_TYPE')+, rdb$get_context('DDL_TRIGGER', 'DDL_EVENT')+, rdb$get_context('DDL_TRIGGER', 'OBJECT_NAME')+);+ end ^+++SET TERM ; ^+COMMIT WORK;+ /* Grant permissions for this database */ GRANT USAGE ON SCHEMA PUBLIC TO USER PUBLIC;
E             -

tests/functional/replication/test_ddl_triggers_must_not_fire_on_replica.py:663: AssertionError
Full history of outcomes and elapsed time, ms:
NN SNAP_INFO CS_outcome SS_outcome CS_run_time SS_run_time CS_run_beg CS_run_end SS_run_beg SS_run_end
1 6.0.0.881 2025.06.27 7035d P P 6274 6139 2025.06.28 01:57:53.461 2025.06.28 01:57:59.735 2025.06.27 23:24:27.130 2025.06.27 23:24:33.269
2 6.0.0.877 2025.06.26 8e38f P P 6370 7242 2025.06.27 01:58:59.709 2025.06.27 01:59:06.079 2025.06.26 23:25:44.996 2025.06.26 23:25:52.238
3 6.0.0.876 2025.06.25 b1bec P P 6310 7282 2025.06.26 02:02:51.233 2025.06.26 02:02:57.543 2025.06.25 23:27:49.648 2025.06.25 23:27:56.930
4 6.0.0.863 2025.06.24 c3c20 P P 6481 6392 2025.06.25 02:03:10.395 2025.06.25 02:03:16.876 2025.06.24 23:27:37.518 2025.06.24 23:27:43.910
5 6.0.0.858 2025.06.23 8d6f7 F F 2935 2482 2025.06.24 02:03:23.520 2025.06.24 02:03:26.455 2025.06.23 23:27:31.744 2025.06.23 23:27:34.226
6 6.0.0.849 2025.06.20 7b79c F F 2690 2928 2025.06.21 02:15:02.067 2025.06.21 02:15:04.757 2025.06.20 23:37:33.350 2025.06.20 23:37:36.278
7 6.0.0.848 2025.06.19 c483c F F 2872 2984 2025.06.20 02:11:14.686 2025.06.20 02:11:17.558 2025.06.19 23:33:54.610 2025.06.19 23:33:57.594
8 6.0.0.845 2025.06.18 22b12 F F 3022 3047 2025.06.19 02:20:03.390 2025.06.19 02:20:06.412 2025.06.18 23:37:32.102 2025.06.18 23:37:35.149
9 6.0.0.843 2025.06.16 995f4 F F 2790 2784 2025.06.18 02:18:21.469 2025.06.18 02:18:24.259 2025.06.17 23:40:22.746 2025.06.17 23:40:25.530
10 6.0.0.840 2025.06.14 29bca F F 3913 3066 2025.06.16 02:10:07.772 2025.06.16 02:10:11.685 2025.06.15 23:31:09.052 2025.06.15 23:31:12.118
11 6.0.0.838 2025.06.13 0e28a F F 2887 2928 2025.06.14 02:23:45.851 2025.06.14 02:23:48.738 2025.06.13 23:39:41.083 2025.06.13 23:39:44.011
12 6.0.0.835 2025.06.12 2cf29 F F 2751 2888 2025.06.13 02:22:54.946 2025.06.13 02:22:57.697 2025.06.12 23:44:34.278 2025.06.12 23:44:37.166
13 6.0.0.834 2025.06.11 e889f F F 2763 4126 2025.06.12 02:18:27.229 2025.06.12 02:18:29.992 2025.06.11 23:39:37.514 2025.06.11 23:39:41.640
14 6.0.0.800 2025.06.10 1f226 P P 7449 6288 2025.06.11 00:48:54.950 2025.06.11 00:49:02.399 2025.06.10 22:39:48.775 2025.06.10 22:39:55.063
15 6.0.0.799 2025.06.07 be644 P P 6637 6544 2025.06.10 00:51:38.608 2025.06.10 00:51:45.245 2025.06.09 22:39:27.147 2025.06.09 22:39:33.691
16 6.0.0.797 2025.06.06 303e8 P P 6559 6460 2025.06.07 00:55:21.457 2025.06.07 00:55:28.016 2025.06.06 22:39:17.830 2025.06.06 22:39:24.290
17 6.0.0.795 2025.05.29 7a71a P P 6439 6489 2025.06.06 00:49:40.427 2025.06.06 00:49:46.866 2025.06.05 22:38:21.270 2025.06.05 22:38:27.759
18 6.0.0.792 2025.05.28 b4327 P P 6563 6709 2025.05.29 01:05:07.448 2025.05.29 01:05:14.011 2025.05.28 22:42:06.145 2025.05.28 22:42:12.854
19 6.0.0.791 2025.05.27 02db8 P P 6650 7616 2025.05.28 01:02:55.058 2025.05.28 01:03:01.708 2025.05.27 22:41:10.513 2025.05.27 22:41:18.129
20 6.0.0.789 2025.05.21 64051 P P 9695 6853 2025.05.25 00:54:59.118 2025.05.25 00:55:08.813 2025.05.24 22:39:58.785 2025.05.24 22:40:05.638
21 6.0.0.787 2025.05.20 230ad P P 6511 7376 2025.05.21 00:52:08.871 2025.05.21 00:52:15.382 2025.05.20 22:38:25.742 2025.05.20 22:38:33.118
22 6.0.0.783 2025.05.12 37320 P P 6555 6086 2025.05.19 12:23:14.567 2025.05.19 12:23:21.122 2025.05.19 10:23:42.700 2025.05.19 10:23:48.786
23 6.0.0.779 2025.05.11 136fa P P 6622 7452 2025.05.12 00:47:00.117 2025.05.12 00:47:06.739 2025.05.11 22:37:10.018 2025.05.11 22:37:17.470
24 6.0.0.778 2025.05.07 d735e P P 7219 6906 2025.05.08 00:48:21.060 2025.05.08 00:48:28.279 2025.05.07 22:35:58.127 2025.05.07 22:36:05.033
25 6.0.0.776 2025.05.06 007cd P P 7184 6501 2025.05.07 00:44:25.791 2025.05.07 00:44:32.975 2025.05.06 22:36:16.393 2025.05.06 22:36:22.894
26 6.0.0.770 2025.05.05 82c4a P P 6453 6589 2025.05.06 00:44:08.202 2025.05.06 00:44:14.655 2025.05.05 22:35:07.942 2025.05.05 22:35:14.531
27 6.0.0.767 2025.05.01 cdd29 P P 7088 6617 2025.05.02 00:38:29.734 2025.05.02 00:38:36.822 2025.05.01 22:34:19.930 2025.05.01 22:34:26.547
28 6.0.0.762 2025.04.30 5cb15 P P 10660 7292 2025.05.01 00:35:29.290 2025.05.01 00:35:39.950 2025.04.30 22:32:36.094 2025.04.30 22:32:43.386
29 6.0.0.755 2025.04.29 739c6 P P 9467 6460 2025.04.30 00:38:59.030 2025.04.30 00:39:08.497 2025.04.29 22:34:15.710 2025.04.29 22:34:22.170
30 6.0.0.753 2025.04.27 29ab3 P P 7144 7496 2025.04.28 00:41:09.543 2025.04.28 00:41:16.687 2025.04.27 22:33:12.294 2025.04.27 22:33:19.790
31 6.0.0.745 2025.04.21 78ad8 P P 6674 6364 2025.04.26 00:35:56.972 2025.04.26 00:36:03.646 2025.04.25 22:34:36.646 2025.04.25 22:34:43.010
32 6.0.0.744 2025.04.19 e883a P P 9386 9804 2025.04.20 00:38:51.958 2025.04.20 00:39:01.344 2025.04.19 22:34:57.930 2025.04.19 22:35:07.734
33 6.0.0.742 2025.04.17 abc3b P P 7594 7324 2025.04.19 00:41:30.461 2025.04.19 00:41:38.055 2025.04.18 22:35:10.810 2025.04.18 22:35:18.134
34 6.0.0.737 2025.04.16 fe52b P P 7080 6620 2025.04.17 00:37:17.097 2025.04.17 00:37:24.177 2025.04.16 22:35:14.982 2025.04.16 22:35:21.602
35 6.0.0.736 2025.04.14 3e6be P P 7204 6769 2025.04.15 00:15:41.374 2025.04.15 00:15:48.578 2025.04.14 22:25:04.302 2025.04.14 22:25:11.071
36 6.0.0.735 2025.04.13 6635c P P 12404 7474 2025.04.14 00:20:13.658 2025.04.14 00:20:26.062 2025.04.13 22:26:15.929 2025.04.13 22:26:23.403
37 6.0.0.734 2025.04.12 12f3f P P 7103 7012 2025.04.13 00:17:20.088 2025.04.13 00:17:27.191 2025.04.12 22:25:33.626 2025.04.12 22:25:40.638
38 6.0.0.730 2025.04.11 240b8 P P 7152 6588 2025.04.12 00:19:59.175 2025.04.12 00:20:06.327 2025.04.11 22:25:35.678 2025.04.11 22:25:42.266
39 6.0.0.726 2025.04.10 d79c6 P P 7116 6988 2025.04.11 00:20:06.134 2025.04.11 00:20:13.250 2025.04.10 22:25:28.034 2025.04.10 22:25:35.022
40 6.0.0.725 2025.04.09 a2b05 P P 7194 6529 2025.04.10 00:19:43.688 2025.04.10 00:19:50.882 2025.04.09 22:25:58.114 2025.04.09 22:26:04.643
41 6.0.0.722 2025.04.08 a8b86 P P 7050 6392 2025.04.09 00:35:47.800 2025.04.09 00:35:54.850 2025.04.08 22:33:22.274 2025.04.08 22:33:28.666
42 6.0.0.719 2025.04.06 90fd9 P P 7348 7612 2025.04.07 00:33:41.780 2025.04.07 00:33:49.128 2025.04.06 22:31:14.142 2025.04.06 22:31:21.754
43 6.0.0.717 2025.04.04 53d70 P P 6706 7113 2025.04.05 00:29:01.467 2025.04.05 00:29:08.173 2025.04.04 22:30:24.066 2025.04.04 22:30:31.179
44 6.0.0.716 2025.04.03 fc636 P P 7149 7403 2025.04.04 00:32:18.015 2025.04.04 00:32:25.164 2025.04.03 22:32:17.671 2025.04.03 22:32:25.074
45 6.0.0.715 2025.04.02 907ed P P 6252 7517 2025.04.03 00:32:29.996 2025.04.03 00:32:36.248 2025.04.02 22:32:27.990 2025.04.02 22:32:35.507
46 6.0.0.710 2025.04.01 40651 P P 7113 7504 2025.04.02 00:31:03.935 2025.04.02 00:31:11.048 2025.04.01 22:31:13.481 2025.04.01 22:31:20.985
47 6.0.0.708 2025.03.31 cb069 P P 6254 6661 2025.04.01 00:21:49.392 2025.04.01 00:21:55.646 2025.03.31 22:26:08.745 2025.03.31 22:26:15.406
48 6.0.0.707 2025.03.28 4bd4f P P 6956 6414 2025.03.31 00:22:57.539 2025.03.31 00:23:04.495 2025.03.30 22:26:32.639 2025.03.30 22:26:39.053
49 6.0.0.698 2025.03.26 d72a7 P P 6143 6522 2025.03.28 00:43:35.684 2025.03.28 00:43:41.827 2025.03.27 22:33:43.695 2025.03.27 22:33:50.217
50 6.0.0.693 2025.03.24 0b559 P P 5798 7368 2025.03.25 00:32:38.129 2025.03.25 00:32:43.927 2025.03.24 22:29:29.306 2025.03.24 22:29:36.674
51 6.0.0.687 2025.03.22 730aa P P 6101 6480 2025.03.24 00:42:32.403 2025.03.24 00:42:38.504 2025.03.23 22:36:41.174 2025.03.23 22:36:47.654
52 6.0.0.686 2025.03.20 71bf6 P P 6534 6767 2025.03.21 00:48:07.246 2025.03.21 00:48:13.780 2025.03.20 22:39:27.626 2025.03.20 22:39:34.393
53 6.0.0.685 2025.03.19 a8577 P P 7396 7515 2025.03.20 00:56:53.342 2025.03.20 00:57:00.738 2025.03.19 22:37:38.834 2025.03.19 22:37:46.349
54 6.0.0.680 2025.03.18 90d29 P P 5861 6105 2025.03.19 11:09:33.658 2025.03.19 11:09:39.519 2025.03.19 09:20:00.270 2025.03.19 09:20:06.375
55 6.0.0.677 2025.03.16 c0a60 P P 6581 6304 2025.03.17 00:37:13.435 2025.03.17 00:37:20.016 2025.03.16 22:31:17.058 2025.03.16 22:31:23.362
56 6.0.0.676 2025.03.15 3034f P P 6716 6094 2025.03.16 16:07:32.295 2025.03.16 16:07:39.011 2025.03.16 14:20:36.284 2025.03.16 14:20:42.378
57 6.0.0.673 2025.03.13 40f5b P P 6540 6141 2025.03.14 00:33:59.555 2025.03.14 00:34:06.095 2025.03.13 22:30:22.497 2025.03.13 22:30:28.638
58 6.0.0.671 2025.03.12 a4fff P P 6451 5288 2025.03.13 00:37:58.823 2025.03.13 00:38:05.274 2025.03.12 22:33:21.234 2025.03.12 22:33:26.522
59 6.0.0.663 2025.03.11 daad2 P P 6538 6309 2025.03.12 00:38:04.237 2025.03.12 00:38:10.775 2025.03.11 22:32:26.549 2025.03.11 22:32:32.858
60 6.0.0.661 2025.03.07 b9869 P P 6400 5961 2025.03.11 00:13:56.915 2025.03.11 00:14:03.315 2025.03.10 22:23:28.149 2025.03.10 22:23:34.110
61 6.0.0.660 2025.03.04 a6700 P P 5448 6268 2025.03.07 00:24:31.759 2025.03.07 00:24:37.207 2025.03.06 22:27:42.994 2025.03.06 22:27:49.262
62 6.0.0.658 2025.03.03 f15f8 P P 6384 6033 2025.03.04 00:18:36.147 2025.03.04 00:18:42.531 2025.03.03 22:23:49.525 2025.03.03 22:23:55.558
63 6.0.0.656 2025.02.27 25fb4 P P 5717 6444 2025.03.03 00:50:32.831 2025.03.03 00:50:38.548 2025.03.02 22:34:54.383 2025.03.02 22:35:00.827
64 6.0.0.655 2025.02.25 6e3e0 P P 5413 6261 2025.02.27 00:21:41.358 2025.02.27 00:21:46.771 2025.02.26 22:24:52.290 2025.02.26 22:24:58.551
65 6.0.0.654 2025.02.24 b7141 P P 5932 5854 2025.02.25 00:26:01.606 2025.02.25 00:26:07.538 2025.02.24 22:26:31.957 2025.02.24 22:26:37.811
66 6.0.0.652 2025.02.22 22662 P P 5934 6152 2025.02.24 07:41:28.004 2025.02.24 07:41:33.938 2025.02.24 00:37:43.071 2025.02.24 00:37:49.223
67 6.0.0.647 2025.02.21 9fccb P P 5485 5872 2025.02.22 00:25:53.078 2025.02.22 00:25:58.563 2025.02.21 22:29:35.721 2025.02.21 22:29:41.593
68 6.0.0.640 2025.02.19 9b8ac P P 6427 6337 2025.02.20 00:22:41.739 2025.02.20 00:22:48.166 2025.02.19 22:24:45.827 2025.02.19 22:24:52.164
69 6.0.0.639 2025.02.18 201a4 P P 6387 5944 2025.02.19 00:15:49.192 2025.02.19 00:15:55.579 2025.02.18 22:23:16.319 2025.02.18 22:23:22.263
70 6.0.0.637 2025.02.12 6d0f5 P P 6136 6232 2025.02.14 00:34:29.831 2025.02.14 00:34:35.967 2025.02.13 22:30:17.426 2025.02.13 22:30:23.658
71 6.0.0.636 2025.02.11 0424f P P 5624 6463 2025.02.12 00:30:27.978 2025.02.12 00:30:33.602 2025.02.11 22:29:41.891 2025.02.11 22:29:48.354
72 6.0.0.635 2025.02.10 f640f P P 6431 5816 2025.02.11 00:28:57.679 2025.02.11 00:29:04.110 2025.02.10 22:29:46.008 2025.02.10 22:29:51.824
73 6.0.0.629 2025.02.07 194f9 P P 6522 6336 2025.02.08 00:29:13.402 2025.02.08 00:29:19.924 2025.02.07 22:28:43.394 2025.02.07 22:28:49.730
74 6.0.0.628 2025.02.06 859d5 P P 6632 5319 2025.02.07 00:45:38.012 2025.02.07 00:45:44.644 2025.02.06 22:35:54.495 2025.02.06 22:35:59.814
75 6.0.0.621 2025.02.05 34fe7 P P 5317 5379 2025.02.06 00:40:44.434 2025.02.06 00:40:49.751 2025.02.05 22:36:29.379 2025.02.05 22:36:34.758
76 6.0.0.609 2025.02.04 76d57 P P 6734 6265 2025.02.05 00:34:47.046 2025.02.05 00:34:53.780 2025.02.04 22:32:56.014 2025.02.04 22:33:02.279
77 6.0.0.607 2025.02.03 1985b P P 5720 6285 2025.02.04 00:33:02.797 2025.02.04 00:33:08.517 2025.02.03 22:33:41.757 2025.02.03 22:33:48.042
78 6.0.0.601 2025.02.01 6af07 P P 6419 5782 2025.02.02 00:25:38.121 2025.02.02 00:25:44.540 2025.02.01 22:28:04.459 2025.02.01 22:28:10.241
79 6.0.0.600 2025.01.27 188de P P 6548 6162 2025.01.28 00:34:03.366 2025.01.28 00:34:09.914 2025.01.27 22:30:11.209 2025.01.27 22:30:17.371
80 6.0.0.599 2025.01.25 ba588 P P 5528 6413 2025.01.26 00:33:29.744 2025.01.26 00:33:35.272 2025.01.25 22:30:39.674 2025.01.25 22:30:46.087
81 6.0.0.598 2025.01.23 ddbc3 P P 6373 6015 2025.01.25 00:34:14.678 2025.01.25 00:34:21.051 2025.01.24 22:29:28.415 2025.01.24 22:29:34.430
82 6.0.0.595 2025.01.22 e62f3 P P 6259 6016 2025.01.23 00:26:04.811 2025.01.23 00:26:11.070 2025.01.22 22:25:26.138 2025.01.22 22:25:32.154
83 6.0.0.594 2025.01.21 47fb6 P P 6663 6406 2025.01.22 00:20:18.139 2025.01.22 00:20:24.802 2025.01.21 22:24:52.388 2025.01.21 22:24:58.794
84 6.0.0.590 2025.01.20 9dc1e P P 6534 6240 2025.01.21 00:27:42.526 2025.01.21 00:27:49.060 2025.01.20 22:29:31.803 2025.01.20 22:29:38.043
85 6.0.0.588 2025.01.19 b1c4e P P 5644 6513 2025.01.20 00:25:05.805 2025.01.20 00:25:11.449 2025.01.19 22:27:12.738 2025.01.19 22:27:19.251
86 6.0.0.587 2025.01.18 63e6e P P 6463 6042 2025.01.19 00:30:15.920 2025.01.19 00:30:22.383 2025.01.18 22:28:47.365 2025.01.18 22:28:53.407
87 6.0.0.585 2025.01.16 2d6bb P P 5528 6166 2025.01.18 00:22:28.858 2025.01.18 00:22:34.386 2025.01.17 22:25:57.852 2025.01.17 22:26:04.018
88 6.0.0.584 2025.01.15 a0aa2 P P 5489 6847 2025.01.16 00:27:34.266 2025.01.16 00:27:39.755 2025.01.15 22:28:43.991 2025.01.15 22:28:50.838
89 6.0.0.581 2025.01.14 21e9e P P 6325 5780 2025.01.15 00:29:22.379 2025.01.15 00:29:28.704 2025.01.14 22:27:26.837 2025.01.14 22:27:32.617
90 6.0.0.577 2025.01.13 7e293 P P 5930 6104 2025.01.14 00:27:56.464 2025.01.14 00:28:02.394 2025.01.13 22:27:51.434 2025.01.13 22:27:57.538
91 6.0.0.576 2025.01.12 05898 P P 5467 6104 2025.01.13 00:24:56.144 2025.01.13 00:25:01.611 2025.01.12 22:26:04.822 2025.01.12 22:26:10.926
92 6.0.0.573 2025.01.10 c20f3 P P 5444 5830 2025.01.11 00:26:27.238 2025.01.11 00:26:32.682 2025.01.10 22:27:08.919 2025.01.10 22:27:14.749
93 6.0.0.571 2024.12.31 81bba P P 6040 6161 2025.01.01 00:00:44.203 2025.01.01 00:00:50.243 2024.12.31 22:07:28.222 2024.12.31 22:07:34.383
94 6.0.0.570 2024.12.30 c3c8d P P 6219 6210 2024.12.31 00:01:22.293 2024.12.31 00:01:28.512 2024.12.30 22:07:27.730 2024.12.30 22:07:33.940
95 6.0.0.565 2024.12.28 5fc59 P P 6315 6766 2024.12.30 12:34:56.083 2024.12.30 12:35:02.398 2024.12.30 11:16:04.358 2024.12.30 11:16:11.124
96 6.0.0.564 2024.12.26 12514 P P 6280 5996 2024.12.27 00:02:25.367 2024.12.27 00:02:31.647 2024.12.26 22:07:36.875 2024.12.26 22:07:42.871
97 6.0.0.560 2024.12.25 fa83e P P 5692 6175 2024.12.25 23:54:44.123 2024.12.25 23:54:49.815 2024.12.25 22:07:30.291 2024.12.25 22:07:36.466
98 6.0.0.559 2024.12.23 cc800 P P 5167 6122 2024.12.24 23:56:17.569 2024.12.24 23:56:22.736 2024.12.24 22:08:14.695 2024.12.24 22:08:20.817
99 6.0.0.556 2024.12.22 a0404 P P 5243 6140 2024.12.23 00:02:06.564 2024.12.23 00:02:11.807 2024.12.22 22:07:21.223 2024.12.22 22:07:27.363
100 6.0.0.555 2024.12.19 6990a P P 6283 5771 2024.12.21 13:10:20.612 2024.12.21 13:10:26.895 2024.12.21 11:51:46.097 2024.12.21 11:51:51.868
101 6.0.0.553 2024.12.17 d1f8a P P 6250 6170 2024.12.17 23:56:35.849 2024.12.17 23:56:42.099 2024.12.17 22:08:13.577 2024.12.17 22:08:19.747
102 6.0.0.552 2024.12.11 85e25 P P 6236 6115 2024.12.16 00:00:50.447 2024.12.16 00:00:56.683 2024.12.15 22:07:49.152 2024.12.15 22:07:55.267
103 6.0.0.550 2024.12.10 b37ac P P 6248 6229 2024.12.10 23:55:44.411 2024.12.10 23:55:50.659 2024.12.10 22:09:44.598 2024.12.10 22:09:50.827
104 6.0.0.548 2024.12.08 2cc77 P P 6200 6166 2024.12.08 23:51:53.444 2024.12.08 23:51:59.644 2024.12.08 22:06:34.295 2024.12.08 22:06:40.461
105 6.0.0.544 2024.12.05 96943 P P 5288 6139 2024.12.05 23:55:51.044 2024.12.05 23:55:56.332 2024.12.05 22:11:17.771 2024.12.05 22:11:23.910
106 6.0.0.543 2024.12.03 30b77 P P 6457 6237 2024.12.03 23:56:08.787 2024.12.03 23:56:15.244 2024.12.03 22:09:18.806 2024.12.03 22:09:25.043
107 6.0.0.540 2024.12.02 4a1f4 P P 6393 6068 2024.12.02 23:52:41.232 2024.12.02 23:52:47.625 2024.12.02 22:07:56.795 2024.12.02 22:08:02.863
108 6.0.0.539 2024.11.28 1f283 P P 6257 6236 2024.11.30 00:04:58.750 2024.11.30 00:05:05.007 2024.11.29 22:08:57.239 2024.11.29 22:09:03.475
109 6.0.0.535 2024.11.26 77b95 P P 6166 5640 2024.11.26 23:47:41.921 2024.11.26 23:47:48.087 2024.11.26 22:05:42.695 2024.11.26 22:05:48.335
110 6.0.0.534 2024.11.25 e9584 P P 6229 6228 2024.11.25 23:49:00.247 2024.11.25 23:49:06.476 2024.11.25 22:06:48.839 2024.11.25 22:06:55.067
111 6.0.0.533 2024.11.17 933ac P P 6303 5758 2024.11.22 09:52:17.109 2024.11.22 09:52:23.412 2024.11.22 08:36:02.889 2024.11.22 08:36:08.647
112 6.0.0.532 2024.11.16 9e263 P P 6262 6050 2024.11.16 23:39:46.699 2024.11.16 23:39:52.961 2024.11.16 22:06:37.113 2024.11.16 22:06:43.163
113 6.0.0.530 2024.11.15 49804 P P 6238 5843 2024.11.16 01:46:39.751 2024.11.16 01:46:45.989 2024.11.16 00:06:06.995 2024.11.16 00:06:12.838
114 6.0.0.528 2024.11.14 9625b P P 5635 6098 2024.11.15 01:50:22.222 2024.11.15 01:50:27.857 2024.11.15 00:07:29.916 2024.11.15 00:07:36.014
115 6.0.0.526 2024.11.12 65b80 P P 6314 6074 2024.11.14 01:49:43.034 2024.11.14 01:49:49.348 2024.11.14 00:07:05.830 2024.11.14 00:07:11.904
116 6.0.0.523 2024.11.08 8ca23 P P 6288 6912 2024.11.11 01:45:59.022 2024.11.11 01:46:05.310 2024.11.11 00:05:38.822 2024.11.11 00:05:45.734
117 6.0.0.520 2024.11.07 4eefa P P 6253 5761 2024.11.08 01:43:00.824 2024.11.08 01:43:07.077 2024.11.08 00:05:13.762 2024.11.08 00:05:19.523
118 6.0.0.516 2024.11.04 b0c36 P P 5158 5790 2024.11.05 01:42:13.204 2024.11.05 01:42:18.362 2024.11.05 00:04:53.186 2024.11.05 00:04:58.976
119 6.0.0.515 2024.10.30 d53f3 P P 5907 6026 2024.11.04 01:44:19.817 2024.11.04 01:44:25.724 2024.11.04 00:05:26.234 2024.11.04 00:05:32.260
120 6.0.0.512 2024.10.29 833ef P P 5171 5111 2024.10.30 01:47:02.384 2024.10.30 01:47:07.555 2024.10.30 00:07:04.996 2024.10.30 00:07:10.107
121 6.0.0.511 2024.10.26 c4bc9 P P 6199 6228 2024.10.29 01:46:30.685 2024.10.29 01:46:36.884 2024.10.29 00:06:37.308 2024.10.29 00:06:43.536
122 6.0.0.509 2024.10.25 3aedb P P 6354 6199 2024.10.26 01:57:27.185 2024.10.26 01:57:33.539 2024.10.26 00:10:34.669 2024.10.26 00:10:40.868
123 6.0.0.508 2024.10.24 a8f5b P P 5540 5209 2024.10.25 01:50:37.833 2024.10.25 01:50:43.373 2024.10.25 00:07:53.811 2024.10.25 00:07:59.020
124 6.0.0.502 2024.10.22 6bfd7 P P 6260 6076 2024.10.23 01:51:11.870 2024.10.23 01:51:18.130 2024.10.23 00:07:26.428 2024.10.23 00:07:32.504
125 6.0.0.500 2024.10.21 be565 P P 6337 5786 2024.10.22 17:55:17.437 2024.10.22 17:55:23.774 2024.10.22 16:36:58.384 2024.10.22 16:37:04.170
126 6.0.0.499 2024.10.19 6214b P P 6652 6143 2024.10.20 01:51:07.820 2024.10.20 01:51:14.472 2024.10.20 00:08:49.609 2024.10.20 00:08:55.752
127 6.0.0.498 2024.10.18 591a7 P P 6273 6062 2024.10.19 01:49:06.758 2024.10.19 01:49:13.031 2024.10.19 00:06:51.306 2024.10.19 00:06:57.368
128 6.0.0.494 2024.10.17 cf5a4 P P 6388 6088 2024.10.18 01:50:01.273 2024.10.18 01:50:07.661 2024.10.18 00:08:30.498 2024.10.18 00:08:36.586
129 6.0.0.491 2024.10.14 dc5fb P P 6244 5681 2024.10.15 01:46:25.725 2024.10.15 01:46:31.969 2024.10.15 00:05:47.960 2024.10.15 00:05:53.641
130 6.0.0.489 2024.10.11 2ba59 P P 5586 6261 2024.10.12 01:53:52.579 2024.10.12 01:53:58.165 2024.10.12 00:08:19.216 2024.10.12 00:08:25.477
131 6.0.0.488 2024.10.09 1c93e P P 6212 6219 2024.10.10 02:02:23.157 2024.10.10 02:02:29.369 2024.10.10 00:12:28.801 2024.10.10 00:12:35.020
132 6.0.0.487 2024.10.06 065a3 P P 6288 6161 2024.10.07 02:01:49.983 2024.10.07 02:01:56.271 2024.10.07 00:12:15.366 2024.10.07 00:12:21.527
133 6.0.0.485 2024.10.04 e95c1 P P 6470 6256 2024.10.05 02:02:51.163 2024.10.05 02:02:57.633 2024.10.05 00:12:33.560 2024.10.05 00:12:39.816
134 6.0.0.483 2024.10.02 5e5ae P P 5269 6111 2024.10.03 01:58:08.089 2024.10.03 01:58:13.358 2024.10.03 00:11:29.302 2024.10.03 00:11:35.413
135 6.0.0.478 2024.09.30 b5010 P P 5573 6223 2024.10.01 01:52:43.754 2024.10.01 01:52:49.327 2024.10.01 00:10:29.409 2024.10.01 00:10:35.632
136 6.0.0.474 2024.09.26 e4efb P P 6238 6189 2024.09.30 01:52:32.588 2024.09.30 01:52:38.826 2024.09.30 00:08:39.784 2024.09.30 00:08:45.973
137 6.0.0.471 2024.09.24 01b51 P P 6512 6061 2024.09.25 23:57:28.073 2024.09.25 23:57:34.585 2024.09.25 22:09:40.313 2024.09.25 22:09:46.374
138 6.0.0.470 2024.09.23 77cc0 P P 6307 6209 2024.09.23 23:55:01.305 2024.09.23 23:55:07.612 2024.09.23 22:09:49.859 2024.09.23 22:09:56.068
139 6.0.0.467 2024.09.21 ea0b8 P P 5961 6200 2024.09.22 23:54:19.347 2024.09.22 23:54:25.308 2024.09.22 22:08:42.749 2024.09.22 22:08:48.949
140 6.0.0.466 2024.09.20 32dc6 P P 6286 6217 2024.09.20 23:52:53.142 2024.09.20 23:52:59.428 2024.09.20 22:08:17.372 2024.09.20 22:08:23.589
141 6.0.0.461 2024.09.17 2c895 P P 6815 6237 2024.09.18 00:29:08.191 2024.09.18 00:29:15.006 2024.09.17 22:30:53.975 2024.09.17 22:31:00.212
142 6.0.0.460 2024.09.11 3c253 P P 6055 5271 2024.09.17 00:30:01.416 2024.09.17 00:30:07.471 2024.09.16 22:32:02.606 2024.09.16 22:32:07.877
143 6.0.0.457 2024.09.09 fdc6f P P 6864 6384 2024.09.10 00:54:29.237 2024.09.10 00:54:36.101 2024.09.09 22:42:08.514 2024.09.09 22:42:14.898
144 6.0.0.455 2024.09.07 500d8 P P 5926 5544 2024.09.08 00:49:48.414 2024.09.08 00:49:54.340 2024.09.07 22:40:10.417 2024.09.07 22:40:15.961
145 6.0.0.454 2024.09.05 4d70f P P 6756 6225 2024.09.06 00:33:01.549 2024.09.06 00:33:08.305 2024.09.05 22:34:20.728 2024.09.05 22:34:26.953
146 6.0.0.452 2024.09.04 9ff9c P P 5765 6244 2024.09.05 00:30:03.464 2024.09.05 00:30:09.229 2024.09.04 22:32:21.421 2024.09.04 22:32:27.665
147 6.0.0.450 2024.09.02 27124 P P 8473 6208 2024.09.04 01:43:55.909 2024.09.04 01:44:04.382 2024.09.03 23:04:48.288 2024.09.03 23:04:54.496
148 6.0.0.447 2024.09.01 056ec P P 7091 5712 2024.09.02 00:59:21.481 2024.09.02 00:59:28.572 2024.09.01 22:39:19.923 2024.09.01 22:39:25.635
149 6.0.0.446 2024.08.30 fe1b2 P P 6249 5579 2024.09.01 01:00:55.225 2024.09.01 01:01:01.474 2024.08.31 22:50:27.801 2024.08.31 22:50:33.380
150 6.0.0.444 2024.08.28 785d4 P P 5523 6037 2024.08.30 01:19:30.545 2024.08.30 01:19:36.068 2024.08.29 23:02:14.535 2024.08.29 23:02:20.572
151 6.0.0.442 2024.08.21 4a68f P P 5374 6859 2024.08.28 03:28:15.047 2024.08.28 03:28:20.421 2024.08.27 23:55:59.981 2024.08.27 23:56:06.840
152 6.0.0.441 2024.08.20 75042 P P 6115 6462 2024.08.21 00:46:55.528 2024.08.21 00:47:01.643 2024.08.20 22:39:52.106 2024.08.20 22:39:58.568
153 6.0.0.438 2024.08.16 088b5 P P 6300 6121 2024.08.18 23:57:04.721 2024.08.18 23:57:11.021 2024.08.18 22:16:46.499 2024.08.18 22:16:52.620
154 6.0.0.437 2024.08.14 3c88b P P 6172 6000 2024.08.15 23:54:20.374 2024.08.15 23:54:26.546 2024.08.15 22:15:50.549 2024.08.15 22:15:56.549
155 6.0.0.432 2024.08.11 e82ac P P 6285 5764 2024.08.12 23:52:49.501 2024.08.12 23:52:55.786 2024.08.12 22:14:38.405 2024.08.12 22:14:44.169
156 6.0.0.431 2024.08.09 de5a7 P P 6145 6799 2024.08.09 23:53:12.413 2024.08.09 23:53:18.558 2024.08.09 22:14:57.954 2024.08.09 22:15:04.753
157 6.0.0.428 2024.08.08 9191b P P 6375 5726 2024.08.08 23:53:11.622 2024.08.08 23:53:17.997 2024.08.08 22:14:24.661 2024.08.08 22:14:30.387
158 6.0.0.423 2024.08.07 33b41 P P 6549 6004 2024.08.08 09:41:27.531 2024.08.08 09:41:34.080 2024.08.08 08:21:06.956 2024.08.08 08:21:12.960
159 6.0.0.421 2024.08.06 ed60d P P 6251 6127 2024.08.06 23:36:10.419 2024.08.06 23:36:16.670 2024.08.06 22:07:31.725 2024.08.06 22:07:37.852
160 6.0.0.419 2024.08.05 3505a P P 4998 6040 2024.08.05 23:38:20.845 2024.08.05 23:38:25.843 2024.08.05 22:07:26.749 2024.08.05 22:07:32.789
161 6.0.0.409 2024.08.02 ec18f P P 6322 6183 2024.08.04 23:41:28.512 2024.08.04 23:41:34.834 2024.08.04 22:08:28.241 2024.08.04 22:08:34.424
162 6.0.0.406 2024.08.01 b20be P P 6484 5954 2024.08.01 23:40:14.464 2024.08.01 23:40:20.948 2024.08.01 22:07:43.238 2024.08.01 22:07:49.192
163 6.0.0.405 2024.07.31 a62ac P P 6365 6130 2024.07.31 23:38:49.684 2024.07.31 23:38:56.049 2024.07.31 22:07:24.238 2024.07.31 22:07:30.368
164 6.0.0.403 2024.07.29 30f03 P P 6447 5942 2024.07.29 23:38:28.346 2024.07.29 23:38:34.793 2024.07.29 22:07:10.888 2024.07.29 22:07:16.830
165 6.0.0.401 2024.07.26 24e41 P P 6314 6993 2024.07.26 23:36:03.642 2024.07.26 23:36:09.956 2024.07.26 22:07:07.396 2024.07.26 22:07:14.389
166 6.0.0.400 2024.07.24 5bb78 P P 6318 5202 2024.07.24 23:35:54.986 2024.07.24 23:36:01.304 2024.07.24 22:07:23.136 2024.07.24 22:07:28.338
167 6.0.0.398 2024.07.23 85b18 P P 5393 6992 2024.07.23 23:41:22.638 2024.07.23 23:41:28.031 2024.07.23 22:13:20.765 2024.07.23 22:13:27.757
168 6.0.0.397 2024.07.22 c734c P P 6564 6232 2024.07.22 23:35:41.801 2024.07.22 23:35:48.365 2024.07.22 22:07:18.098 2024.07.22 22:07:24.330
169 6.0.0.396 2024.07.13 cf952 P P 6288 6131 2024.07.21 23:36:49.833 2024.07.21 23:36:56.121 2024.07.21 22:07:10.341 2024.07.21 22:07:16.472
170 6.0.0.395 2024.07.10 845f4 P P 5345 5748 2024.07.12 23:37:26.605 2024.07.12 23:37:31.950 2024.07.12 22:06:19.203 2024.07.12 22:06:24.951
171 6.0.0.392 2024.07.09 ea301 P P 5321 5977 2024.07.09 23:32:57.612 2024.07.09 23:33:02.933 2024.07.09 22:05:38.816 2024.07.09 22:05:44.793
172 6.0.0.391 2024.07.08 7d50c P P 6408 6171 2024.07.08 23:34:17.578 2024.07.08 23:34:23.986 2024.07.08 22:06:36.577 2024.07.08 22:06:42.748
173 6.0.0.389 2024.07.05 cc71c P P 6568 5882 2024.07.05 23:38:20.061 2024.07.05 23:38:26.629 2024.07.05 22:06:21.407 2024.07.05 22:06:27.289
174 6.0.0.388 2024.06.30 e5700 P P 6250 6155 2024.06.30 23:34:29.736 2024.06.30 23:34:35.986 2024.06.30 22:06:53.357 2024.06.30 22:06:59.512
175 6.0.0.387 2024.06.27 7c28a P P 5841 6138 2024.06.27 23:33:24.920 2024.06.27 23:33:30.761 2024.06.27 22:06:35.806 2024.06.27 22:06:41.944
176 6.0.0.386 2024.06.23 7c57f P P 6222 6120 2024.06.23 23:30:45.415 2024.06.23 23:30:51.637 2024.06.23 22:05:26.344 2024.06.23 22:05:32.464
177 6.0.0.384 2024.06.21 24d99 P P 6297 6263 2024.06.21 23:35:19.074 2024.06.21 23:35:25.371 2024.06.21 22:06:41.677 2024.06.21 22:06:47.940
178 6.0.0.374 2024.06.13 0097d P P 6340 5741 2024.06.20 23:33:17.553 2024.06.20 23:33:23.893 2024.06.20 22:05:52.356 2024.06.20 22:05:58.097
179 6.0.0.373 2024.06.09 363f0 P P 5656 6022 2024.06.13 13:41:33.114 2024.06.13 13:41:38.770 2024.06.13 12:29:34.697 2024.06.13 12:29:40.719
180 6.0.0.371 2024.06.08 f7130 P P 5687 5822 2024.06.11 22:28:09.492 2024.06.11 22:28:15.179 2024.06.11 21:23:20.208 2024.06.11 21:23:26.030
181 6.0.0.366 2024.05.30 ab2c9 P P 5769 5798 2024.06.12 09:41:00.974 2024.06.12 09:41:06.743 2024.06.12 07:57:31.264 2024.06.12 07:57:37.062
182 6.0.0.363 2024.05.27 06703 P P 6623 5807 2024.06.12 14:34:48.773 2024.06.12 14:34:55.396 2024.06.12 13:26:21.860 2024.06.12 13:26:27.667
183 6.0.0.359 2024.05.23 9cb11 P P 6542 5781 2024.06.12 12:26:55.414 2024.06.12 12:27:01.956 2024.06.12 11:18:58.045 2024.06.12 11:19:03.826
184 6.0.0.358 2024.05.21 995dd P P 6580 5902 2024.06.12 17:09:40.238 2024.06.12 17:09:46.818 2024.06.12 16:03:46.571 2024.06.12 16:03:52.473
185 6.0.0.357 2024.05.18 bf6c4 P P 6549 6034 2024.06.12 21:46:08.428 2024.06.12 21:46:14.977 2024.06.12 20:39:41.389 2024.06.12 20:39:47.423
186 6.0.0.356 2024.05.17 eab06 P P 5642 6981 2024.06.13 05:52:30.971 2024.06.13 05:52:36.613 2024.06.13 04:46:21.066 2024.06.13 04:46:28.047
187 6.0.0.355 2024.05.16 8dd6e P P 6664 6815 2024.06.13 08:00:16.440 2024.06.13 08:00:23.104 2024.06.13 06:53:52.937 2024.06.13 06:53:59.752
188 6.0.0.354 2024.05.15 d3adc P P 6592 7082 2024.06.13 11:06:07.167 2024.06.13 11:06:13.759 2024.06.13 09:54:56.065 2024.06.13 09:55:03.147
189 6.0.0.351 2024.05.14 2e3e0 P P 5690 6127 2024.06.13 16:19:57.222 2024.06.13 16:20:02.912 2024.06.13 15:08:10.028 2024.06.13 15:08:16.155

Elapsed time, ms. Chart for last 150 runs:

Last commits information (all timestamps in UTC):