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   
  + Statement failed, SQLSTATE = 2C000
  + unsuccessful metadata update
  + -CREATE OR ALTER MAPPING LOCAL_MAPPING_5884 failed
  + -Dynamic SQL Error
  + -SQL error code = -504
  + -CHARACTER SET "UTF8" is not defined
  + Statement failed, SQLSTATE = 2C000
  + unsuccessful metadata update
  + -CREATE OR ALTER MAPPING GLOBAL_MAPPING_5884 failed
  + -Dynamic SQL Error
  + -SQL error code = -504
  + -CHARACTER SET "UTF8" is not defined
    MON_SEC_DB                      Self
    Records affected: 1
    SEC$USER_NAME                   SYSDBA
    SEC$ADMIN                       <true>
    SEC$PLUGIN                      Srp
    SEC$USER_NAME                   TMP$C5884_1
    SEC$ADMIN                       <false>
    SEC$PLUGIN                      Srp
    SEC$USER_NAME                   TMP$C5884_2
    SEC$ADMIN                       <false>
    SEC$PLUGIN                      Srp
    Records affected: 3
  - MAP_NAME                        GLOBAL_MAPPING_5884
  - MAP_PLUGIN                      SRP256
  - FROM_TYPE                       USER
  - MAP_FROM                        TMP$C5884_2
  - TO_TYPE                         0
  - MAP_TO                          MIKE_FROM_GLOBAL_MAPPING_5884
  - MAP_NAME                        LOCAL_MAPPING_5884
  - MAP_PLUGIN                      SRP256
  - FROM_TYPE                       USER
  - MAP_FROM                        TMP$C5884_1
  - TO_TYPE                         0
  - MAP_TO                          JOHN_FROM_LOCAL_MAPPING_5884
  - Records affected: 2
  + Records affected: 0
  - WHOAMI_A                        JOHN_FROM_LOCAL_MAPPING_5884
  + WHOAMI_A                        TMP$C5884_1
    Records affected: 1
  - WHOAMI_B                        MIKE_FROM_GLOBAL_MAPPING_5884
  + WHOAMI_B                        TMP$C5884_2
    Records affected: 1

LOG DETAILS:

2025-06-25 05:20:17.407
2025-06-25 05:20:17.411 act = <firebird.qa.plugin.Action object at [hex]>
2025-06-25 05:20:17.417 user_a = <firebird.qa.plugin.User object at [hex]>
2025-06-25 05:20:17.430 user_b = <firebird.qa.plugin.User object at [hex]>
2025-06-25 05:20:17.440 capsys = <_pytest.capture.CaptureFixture object at [hex]>
2025-06-25 05:20:17.450
2025-06-25 05:20:17.459 @pytest.mark.version('>=3.0.4')
2025-06-25 05:20:17.468 def test_1(act: Action, user_a: User, user_b: User, capsys):
2025-06-25 05:20:17.478
2025-06-25 05:20:17.485 # Scan line-by-line through databases.conf, find line starting with REQUIRED_ALIAS and extract name of file that
2025-06-25 05:20:17.492 # must be created in the $(dir_sampleDb)/qa/ folder. This name will be used further as target database (tmp_fdb).
2025-06-25 05:20:17.507 # NOTE: we have to SKIP lines which are commented out, i.e. if they starts with '#':
2025-06-25 05:20:17.517 p_required_alias_ptn =  re.compile( '^(?!#)((^|\\s+)' + REQUIRED_ALIAS + ')\\s*=\\s*\\$\\(dir_sampleDb\\)/qa/', re.IGNORECASE )
2025-06-25 05:20:17.524 fname_in_dbconf = None
2025-06-25 05:20:17.530
2025-06-25 05:20:17.537 with open(act.home_dir/'databases.conf', 'r') as f:
2025-06-25 05:20:17.543 for line in f:
2025-06-25 05:20:17.548 if p_required_alias_ptn.search(line):
2025-06-25 05:20:17.554 # If databases.conf contains line like this:
2025-06-25 05:20:17.560 #     tmp_6147_alias = $(dir_sampleDb)/qa/tmp_core_6147.fdb
2025-06-25 05:20:17.566 # - then we extract filename: 'tmp_core_6147.fdb' (see below):
2025-06-25 05:20:17.579 fname_in_dbconf = Path(line.split('=')[1].strip()).name
2025-06-25 05:20:17.590 break
2025-06-25 05:20:17.603
2025-06-25 05:20:17.616 # if 'fname_in_dbconf' remains undefined here then propably REQUIRED_ALIAS not equals to specified in the databases.conf!
2025-06-25 05:20:17.627 #
2025-06-25 05:20:17.633 assert fname_in_dbconf
2025-06-25 05:20:17.640
2025-06-25 05:20:17.646 #------------------------------------------------------------------
2025-06-25 05:20:17.652 # Full path + filename of database to which we will try to connect:
2025-06-25 05:20:17.658 #
2025-06-25 05:20:17.664 tmp_fdb = Path( act.vars['sample_dir'], 'qa', fname_in_dbconf )
2025-06-25 05:20:17.669
2025-06-25 05:20:17.675 #######!!! ACHTUNG !!!#######
2025-06-25 05:20:17.681 PLUGIN_FOR_MAPPING = 'Srp256' # <<< !! MUST BE EXACTLY THE SAME AS IN databases.conf !!
2025-06-25 05:20:17.686 #############################
2025-06-25 05:20:17.692
2025-06-25 05:20:17.699 PLUGIN_FOR_AUTH = 'Srp'
2025-06-25 05:20:17.711 LOCAL_MAPPING_NAME =  'local_mapping_5884'
2025-06-25 05:20:17.721 GLOBAL_MAPPING_NAME = 'global_mapping_5884'
2025-06-25 05:20:17.729 LOCAL_MAPPED_USER =   'john_from_local_mapping_5884'
2025-06-25 05:20:17.736 GLOBAL_MAPPED_USER =  'mike_from_global_mapping_5884'
2025-06-25 05:20:17.742
2025-06-25 05:20:17.747 tmp_dba_pswd = 'alt@pa$5884'
2025-06-25 05:20:17.759 sql_txt = f'''
2025-06-25 05:20:17.768 --set echo on;
2025-06-25 05:20:17.777 -- set bail on;
2025-06-25 05:20:17.787 set list on;
2025-06-25 05:20:17.796 create database '{REQUIRED_ALIAS}' user {act.db.user};
2025-06-25 05:20:17.803 create user {act.db.user} password '{tmp_dba_pswd}' using plugin {PLUGIN_FOR_AUTH};
2025-06-25 05:20:17.810
2025-06-25 05:20:17.822 create user {user_a.name} password '{user_a.password}' using plugin {PLUGIN_FOR_AUTH};
2025-06-25 05:20:17.830 create user {user_b.name} password '{user_b.password}' using plugin {PLUGIN_FOR_AUTH};
2025-06-25 05:20:17.836 commit;
2025-06-25 05:20:17.841
2025-06-25 05:20:17.847 create or alter mapping {LOCAL_MAPPING_NAME} using plugin {PLUGIN_FOR_MAPPING} from user {user_a.name} to user {LOCAL_MAPPED_USER};
2025-06-25 05:20:17.854 create or alter global mapping {GLOBAL_MAPPING_NAME} using plugin {PLUGIN_FOR_MAPPING} from user {user_b.name} to user {GLOBAL_MAPPED_USER};
2025-06-25 05:20:17.859 commit;
2025-06-25 05:20:17.867
2025-06-25 05:20:17.878 recreate view v_map_info as
2025-06-25 05:20:17.886 select t.*
2025-06-25 05:20:17.894 from
2025-06-25 05:20:17.904 (
2025-06-25 05:20:17.915 select
2025-06-25 05:20:17.925 rdb$map_name      as map_name
2025-06-25 05:20:17.935 ,rdb$map_plugin    as map_plugin
2025-06-25 05:20:17.942 ,rdb$map_from_type as from_type
2025-06-25 05:20:17.951 ,rdb$map_from      as map_from
2025-06-25 05:20:17.961 ,rdb$map_to_type   as to_type
2025-06-25 05:20:17.970 ,rdb$map_to        as map_to
2025-06-25 05:20:17.977 from rdb$auth_mapping
2025-06-25 05:20:17.983 ) t
2025-06-25 05:20:17.991 where
2025-06-25 05:20:18.002 t.map_name in ( upper('{LOCAL_MAPPING_NAME}'), upper('{GLOBAL_MAPPING_NAME}') )
2025-06-25 05:20:18.010 and upper(t.map_plugin) = upper('{PLUGIN_FOR_MAPPING}')
2025-06-25 05:20:18.020 order by map_name, from_type, map_from, to_type, map_to
2025-06-25 05:20:18.028 ;
2025-06-25 05:20:18.039 commit;
2025-06-25 05:20:18.050
2025-06-25 05:20:18.057 set count on;
2025-06-25 05:20:18.064
2025-06-25 05:20:18.070 select m.mon$sec_database as mon_sec_db from mon$database m;
2025-06-25 05:20:18.075
2025-06-25 05:20:18.083 select sec$user_name,sec$admin,sec$plugin from sec$users order by 1;
2025-06-25 05:20:18.093 commit;
2025-06-25 05:20:18.102
2025-06-25 05:20:18.110 select * from v_map_info;
2025-06-25 05:20:18.121 commit;
2025-06-25 05:20:18.131
2025-06-25 05:20:18.140 connect 'localhost:{REQUIRED_ALIAS}' user {user_a.name} password '{user_a.password}';
2025-06-25 05:20:18.148 select current_user as whoami_a from rdb$database;
2025-06-25 05:20:18.155 commit;
2025-06-25 05:20:18.161
2025-06-25 05:20:18.173 connect 'localhost:{REQUIRED_ALIAS}' user {user_b.name} password '{user_b.password}';
2025-06-25 05:20:18.184 select current_user as whoami_b from rdb$database;
2025-06-25 05:20:18.195 commit;
2025-06-25 05:20:18.205 '''
2025-06-25 05:20:18.212
2025-06-25 05:20:18.219 act.expected_stdout = f"""
2025-06-25 05:20:18.225 MON_SEC_DB                      Self
2025-06-25 05:20:18.236 Records affected: 1
2025-06-25 05:20:18.246
2025-06-25 05:20:18.254 SEC$USER_NAME                   {act.db.user}
2025-06-25 05:20:18.268 SEC$ADMIN                       <true>
2025-06-25 05:20:18.279 SEC$PLUGIN                      Srp
2025-06-25 05:20:18.288
2025-06-25 05:20:18.299 SEC$USER_NAME                   {user_a.name.upper()}
2025-06-25 05:20:18.308 SEC$ADMIN                       <false>
2025-06-25 05:20:18.315 SEC$PLUGIN                      Srp
2025-06-25 05:20:18.326
2025-06-25 05:20:18.332 SEC$USER_NAME                   {user_b.name.upper()}
2025-06-25 05:20:18.338 SEC$ADMIN                       <false>
2025-06-25 05:20:18.343 SEC$PLUGIN                      Srp
2025-06-25 05:20:18.355 Records affected: 3
2025-06-25 05:20:18.367
2025-06-25 05:20:18.378 MAP_NAME                        {GLOBAL_MAPPING_NAME.upper()}
2025-06-25 05:20:18.387 MAP_PLUGIN                      {PLUGIN_FOR_MAPPING.upper()}
2025-06-25 05:20:18.399 FROM_TYPE                       USER
2025-06-25 05:20:18.409 MAP_FROM                        {user_b.name.upper()}
2025-06-25 05:20:18.419 TO_TYPE                         0
2025-06-25 05:20:18.429 MAP_TO                          {GLOBAL_MAPPED_USER.upper()}
2025-06-25 05:20:18.442
2025-06-25 05:20:18.454 MAP_NAME                        {LOCAL_MAPPING_NAME.upper()}
2025-06-25 05:20:18.467 MAP_PLUGIN                      {PLUGIN_FOR_MAPPING.upper()}
2025-06-25 05:20:18.477 FROM_TYPE                       USER
2025-06-25 05:20:18.488 MAP_FROM                        {user_a.name.upper()}
2025-06-25 05:20:18.499 TO_TYPE                         0
2025-06-25 05:20:18.510 MAP_TO                          {LOCAL_MAPPED_USER.upper()}
2025-06-25 05:20:18.523
2025-06-25 05:20:18.534 Records affected: 2
2025-06-25 05:20:18.542
2025-06-25 05:20:18.550 WHOAMI_A                        {LOCAL_MAPPED_USER.upper()}
2025-06-25 05:20:18.557 Records affected: 1
2025-06-25 05:20:18.569
2025-06-25 05:20:18.579 WHOAMI_B                        {GLOBAL_MAPPED_USER.upper()}
2025-06-25 05:20:18.588 Records affected: 1
2025-06-25 05:20:18.600 """
2025-06-25 05:20:18.610 try:
2025-06-25 05:20:18.620 act.isql(switches = ['-q'], input = sql_txt, connect_db=False, credentials = False, combine_output = True, io_enc = locale.getpreferredencoding())
2025-06-25 05:20:18.629 >           assert act.clean_stdout == act.clean_expected_stdout
2025-06-25 05:20:18.635 E           assert
2025-06-25 05:20:18.641 E             + Statement failed, SQLSTATE = 2C000
2025-06-25 05:20:18.647 E             + unsuccessful metadata update
2025-06-25 05:20:18.653 E             + -CREATE OR ALTER MAPPING LOCAL_MAPPING_5884 failed
2025-06-25 05:20:18.659 E             + -Dynamic SQL Error
2025-06-25 05:20:18.665 E             + -SQL error code = -504
2025-06-25 05:20:18.671 E             + -CHARACTER SET "UTF8" is not defined
2025-06-25 05:20:18.679 E             + Statement failed, SQLSTATE = 2C000
2025-06-25 05:20:18.689 E             + unsuccessful metadata update
2025-06-25 05:20:18.697 E             + -CREATE OR ALTER MAPPING GLOBAL_MAPPING_5884 failed
2025-06-25 05:20:18.704 E             + -Dynamic SQL Error
2025-06-25 05:20:18.711 E             + -SQL error code = -504
2025-06-25 05:20:18.720 E             + -CHARACTER SET "UTF8" is not defined
2025-06-25 05:20:18.732 E               MON_SEC_DB                      Self
2025-06-25 05:20:18.744 E               Records affected: 1
2025-06-25 05:20:18.753 E               SEC$USER_NAME                   SYSDBA
2025-06-25 05:20:18.760 E               SEC$ADMIN                       <true>
2025-06-25 05:20:18.765 E               SEC$PLUGIN                      Srp
2025-06-25 05:20:18.771 E               SEC$USER_NAME                   TMP$C5884_1
2025-06-25 05:20:18.777 E               SEC$ADMIN                       <false>
2025-06-25 05:20:18.782 E               SEC$PLUGIN                      Srp
2025-06-25 05:20:18.788 E               SEC$USER_NAME                   TMP$C5884_2
2025-06-25 05:20:18.794 E               SEC$ADMIN                       <false>
2025-06-25 05:20:18.799 E               SEC$PLUGIN                      Srp
2025-06-25 05:20:18.806 E               Records affected: 3
2025-06-25 05:20:18.817 E             - MAP_NAME                        GLOBAL_MAPPING_5884
2025-06-25 05:20:18.825 E             - MAP_PLUGIN                      SRP256
2025-06-25 05:20:18.832 E             - FROM_TYPE                       USER
2025-06-25 05:20:18.838 E             - MAP_FROM                        TMP$C5884_2
2025-06-25 05:20:18.844 E             - TO_TYPE                         0
2025-06-25 05:20:18.850 E             - MAP_TO                          MIKE_FROM_GLOBAL_MAPPING_5884
2025-06-25 05:20:18.863 E             - MAP_NAME                        LOCAL_MAPPING_5884
2025-06-25 05:20:18.875 E             - MAP_PLUGIN                      SRP256
2025-06-25 05:20:18.884 E             - FROM_TYPE                       USER
2025-06-25 05:20:18.892 E             - MAP_FROM                        TMP$C5884_1
2025-06-25 05:20:18.899 E             - TO_TYPE                         0
2025-06-25 05:20:18.906 E             - MAP_TO                          JOHN_FROM_LOCAL_MAPPING_5884
2025-06-25 05:20:18.911 E             - Records affected: 2
2025-06-25 05:20:18.921 E             + Records affected: 0
2025-06-25 05:20:18.931 E             - WHOAMI_A                        JOHN_FROM_LOCAL_MAPPING_5884
2025-06-25 05:20:18.936 E             + WHOAMI_A                        TMP$C5884_1
2025-06-25 05:20:18.942 E               Records affected: 1
2025-06-25 05:20:18.952 E             - WHOAMI_B                        MIKE_FROM_GLOBAL_MAPPING_5884
2025-06-25 05:20:18.960 E             + WHOAMI_B                        TMP$C5884_2
2025-06-25 05:20:18.968 E               Records affected: 1
2025-06-25 05:20:18.979
2025-06-25 05:20:18.989 tests/bugs/core_5884_test.py:197: AssertionError
2025-06-25 05:20:18.997
2025-06-25 05:20:19.004 During handling of the above exception, another exception occurred:
2025-06-25 05:20:19.010
2025-06-25 05:20:19.020 act = <firebird.qa.plugin.Action object at [hex]>
2025-06-25 05:20:19.031 user_a = <firebird.qa.plugin.User object at [hex]>
2025-06-25 05:20:19.039 user_b = <firebird.qa.plugin.User object at [hex]>
2025-06-25 05:20:19.048 capsys = <_pytest.capture.CaptureFixture object at [hex]>
2025-06-25 05:20:19.059
2025-06-25 05:20:19.068 @pytest.mark.version('>=3.0.4')
2025-06-25 05:20:19.075 def test_1(act: Action, user_a: User, user_b: User, capsys):
2025-06-25 05:20:19.081
2025-06-25 05:20:19.087 # Scan line-by-line through databases.conf, find line starting with REQUIRED_ALIAS and extract name of file that
2025-06-25 05:20:19.093 # must be created in the $(dir_sampleDb)/qa/ folder. This name will be used further as target database (tmp_fdb).
2025-06-25 05:20:19.101 # NOTE: we have to SKIP lines which are commented out, i.e. if they starts with '#':
2025-06-25 05:20:19.109 p_required_alias_ptn =  re.compile( '^(?!#)((^|\\s+)' + REQUIRED_ALIAS + ')\\s*=\\s*\\$\\(dir_sampleDb\\)/qa/', re.IGNORECASE )
2025-06-25 05:20:19.117 fname_in_dbconf = None
2025-06-25 05:20:19.123
2025-06-25 05:20:19.130 with open(act.home_dir/'databases.conf', 'r') as f:
2025-06-25 05:20:19.137 for line in f:
2025-06-25 05:20:19.144 if p_required_alias_ptn.search(line):
2025-06-25 05:20:19.150 # If databases.conf contains line like this:
2025-06-25 05:20:19.158 #     tmp_6147_alias = $(dir_sampleDb)/qa/tmp_core_6147.fdb
2025-06-25 05:20:19.168 # - then we extract filename: 'tmp_core_6147.fdb' (see below):
2025-06-25 05:20:19.177 fname_in_dbconf = Path(line.split('=')[1].strip()).name
2025-06-25 05:20:19.184 break
2025-06-25 05:20:19.190
2025-06-25 05:20:19.195 # if 'fname_in_dbconf' remains undefined here then propably REQUIRED_ALIAS not equals to specified in the databases.conf!
2025-06-25 05:20:19.200 #
2025-06-25 05:20:19.205 assert fname_in_dbconf
2025-06-25 05:20:19.210
2025-06-25 05:20:19.216 #------------------------------------------------------------------
2025-06-25 05:20:19.221 # Full path + filename of database to which we will try to connect:
2025-06-25 05:20:19.233 #
2025-06-25 05:20:19.242 tmp_fdb = Path( act.vars['sample_dir'], 'qa', fname_in_dbconf )
2025-06-25 05:20:19.248
2025-06-25 05:20:19.256 #######!!! ACHTUNG !!!#######
2025-06-25 05:20:19.263 PLUGIN_FOR_MAPPING = 'Srp256' # <<< !! MUST BE EXACTLY THE SAME AS IN databases.conf !!
2025-06-25 05:20:19.269 #############################
2025-06-25 05:20:19.274
2025-06-25 05:20:19.279 PLUGIN_FOR_AUTH = 'Srp'
2025-06-25 05:20:19.283 LOCAL_MAPPING_NAME =  'local_mapping_5884'
2025-06-25 05:20:19.288 GLOBAL_MAPPING_NAME = 'global_mapping_5884'
2025-06-25 05:20:19.293 LOCAL_MAPPED_USER =   'john_from_local_mapping_5884'
2025-06-25 05:20:19.297 GLOBAL_MAPPED_USER =  'mike_from_global_mapping_5884'
2025-06-25 05:20:19.302
2025-06-25 05:20:19.308 tmp_dba_pswd = 'alt@pa$5884'
2025-06-25 05:20:19.313 sql_txt = f'''
2025-06-25 05:20:19.319 --set echo on;
2025-06-25 05:20:19.326 -- set bail on;
2025-06-25 05:20:19.331 set list on;
2025-06-25 05:20:19.340 create database '{REQUIRED_ALIAS}' user {act.db.user};
2025-06-25 05:20:19.351 create user {act.db.user} password '{tmp_dba_pswd}' using plugin {PLUGIN_FOR_AUTH};
2025-06-25 05:20:19.361
2025-06-25 05:20:19.373 create user {user_a.name} password '{user_a.password}' using plugin {PLUGIN_FOR_AUTH};
2025-06-25 05:20:19.384 create user {user_b.name} password '{user_b.password}' using plugin {PLUGIN_FOR_AUTH};
2025-06-25 05:20:19.396 commit;
2025-06-25 05:20:19.405
2025-06-25 05:20:19.412 create or alter mapping {LOCAL_MAPPING_NAME} using plugin {PLUGIN_FOR_MAPPING} from user {user_a.name} to user {LOCAL_MAPPED_USER};
2025-06-25 05:20:19.418 create or alter global mapping {GLOBAL_MAPPING_NAME} using plugin {PLUGIN_FOR_MAPPING} from user {user_b.name} to user {GLOBAL_MAPPED_USER};
2025-06-25 05:20:19.423 commit;
2025-06-25 05:20:19.431
2025-06-25 05:20:19.440 recreate view v_map_info as
2025-06-25 05:20:19.449 select t.*
2025-06-25 05:20:19.461 from
2025-06-25 05:20:19.473 (
2025-06-25 05:20:19.484 select
2025-06-25 05:20:19.493 rdb$map_name      as map_name
2025-06-25 05:20:19.505 ,rdb$map_plugin    as map_plugin
2025-06-25 05:20:19.515 ,rdb$map_from_type as from_type
2025-06-25 05:20:19.523 ,rdb$map_from      as map_from
2025-06-25 05:20:19.531 ,rdb$map_to_type   as to_type
2025-06-25 05:20:19.539 ,rdb$map_to        as map_to
2025-06-25 05:20:19.545 from rdb$auth_mapping
2025-06-25 05:20:19.558 ) t
2025-06-25 05:20:19.566 where
2025-06-25 05:20:19.573 t.map_name in ( upper('{LOCAL_MAPPING_NAME}'), upper('{GLOBAL_MAPPING_NAME}') )
2025-06-25 05:20:19.579 and upper(t.map_plugin) = upper('{PLUGIN_FOR_MAPPING}')
2025-06-25 05:20:19.585 order by map_name, from_type, map_from, to_type, map_to
2025-06-25 05:20:19.590 ;
2025-06-25 05:20:19.596 commit;
2025-06-25 05:20:19.601
2025-06-25 05:20:19.606 set count on;
2025-06-25 05:20:19.610
2025-06-25 05:20:19.615 select m.mon$sec_database as mon_sec_db from mon$database m;
2025-06-25 05:20:19.620
2025-06-25 05:20:19.625 select sec$user_name,sec$admin,sec$plugin from sec$users order by 1;
2025-06-25 05:20:19.630 commit;
2025-06-25 05:20:19.635
2025-06-25 05:20:19.641 select * from v_map_info;
2025-06-25 05:20:19.655 commit;
2025-06-25 05:20:19.665
2025-06-25 05:20:19.673 connect 'localhost:{REQUIRED_ALIAS}' user {user_a.name} password '{user_a.password}';
2025-06-25 05:20:19.680 select current_user as whoami_a from rdb$database;
2025-06-25 05:20:19.685 commit;
2025-06-25 05:20:19.690
2025-06-25 05:20:19.695 connect 'localhost:{REQUIRED_ALIAS}' user {user_b.name} password '{user_b.password}';
2025-06-25 05:20:19.699 select current_user as whoami_b from rdb$database;
2025-06-25 05:20:19.704 commit;
2025-06-25 05:20:19.709 '''
2025-06-25 05:20:19.713
2025-06-25 05:20:19.718 act.expected_stdout = f"""
2025-06-25 05:20:19.730 MON_SEC_DB                      Self
2025-06-25 05:20:19.738 Records affected: 1
2025-06-25 05:20:19.744
2025-06-25 05:20:19.750 SEC$USER_NAME                   {act.db.user}
2025-06-25 05:20:19.756 SEC$ADMIN                       <true>
2025-06-25 05:20:19.761 SEC$PLUGIN                      Srp
2025-06-25 05:20:19.766
2025-06-25 05:20:19.772 SEC$USER_NAME                   {user_a.name.upper()}
2025-06-25 05:20:19.779 SEC$ADMIN                       <false>
2025-06-25 05:20:19.786 SEC$PLUGIN                      Srp
2025-06-25 05:20:19.796
2025-06-25 05:20:19.805 SEC$USER_NAME                   {user_b.name.upper()}
2025-06-25 05:20:19.813 SEC$ADMIN                       <false>
2025-06-25 05:20:19.819 SEC$PLUGIN                      Srp
2025-06-25 05:20:19.826 Records affected: 3
2025-06-25 05:20:19.837
2025-06-25 05:20:19.845 MAP_NAME                        {GLOBAL_MAPPING_NAME.upper()}
2025-06-25 05:20:19.852 MAP_PLUGIN                      {PLUGIN_FOR_MAPPING.upper()}
2025-06-25 05:20:19.858 FROM_TYPE                       USER
2025-06-25 05:20:19.866 MAP_FROM                        {user_b.name.upper()}
2025-06-25 05:20:19.873 TO_TYPE                         0
2025-06-25 05:20:19.880 MAP_TO                          {GLOBAL_MAPPED_USER.upper()}
2025-06-25 05:20:19.887
2025-06-25 05:20:19.894 MAP_NAME                        {LOCAL_MAPPING_NAME.upper()}
2025-06-25 05:20:19.905 MAP_PLUGIN                      {PLUGIN_FOR_MAPPING.upper()}
2025-06-25 05:20:19.911 FROM_TYPE                       USER
2025-06-25 05:20:19.916 MAP_FROM                        {user_a.name.upper()}
2025-06-25 05:20:19.922 TO_TYPE                         0
2025-06-25 05:20:19.928 MAP_TO                          {LOCAL_MAPPED_USER.upper()}
2025-06-25 05:20:19.933
2025-06-25 05:20:19.940 Records affected: 2
2025-06-25 05:20:19.947
2025-06-25 05:20:19.953 WHOAMI_A                        {LOCAL_MAPPED_USER.upper()}
2025-06-25 05:20:19.962 Records affected: 1
2025-06-25 05:20:19.972
2025-06-25 05:20:19.981 WHOAMI_B                        {GLOBAL_MAPPED_USER.upper()}
2025-06-25 05:20:19.988 Records affected: 1
2025-06-25 05:20:19.994 """
2025-06-25 05:20:20.000 try:
2025-06-25 05:20:20.008 act.isql(switches = ['-q'], input = sql_txt, connect_db=False, credentials = False, combine_output = True, io_enc = locale.getpreferredencoding())
2025-06-25 05:20:20.015 assert act.clean_stdout == act.clean_expected_stdout
2025-06-25 05:20:20.022 act.reset()
2025-06-25 05:20:20.033
2025-06-25 05:20:20.042 finally:
2025-06-25 05:20:20.049 if Path.exists(tmp_fdb):
2025-06-25 05:20:20.059 # Change DB state to full shutdown in order to have ability to drop database file.
2025-06-25 05:20:20.071 # This is needed because when DB is self-security then it will be kept opened for 10s
2025-06-25 05:20:20.082 # (as it always occurs for common security.db). Set linger to 0 does not help.
2025-06-25 05:20:20.092 # Attempt to use 'drop database' fails with:
2025-06-25 05:20:20.104 # "SQLSTATE = 40001 / lock time-out on wait transaction / -object ... is in use"
2025-06-25 05:20:20.114 act.gfix(switches=['-shut', 'full', '-force', '0', f'localhost:{REQUIRED_ALIAS}', '-user', act.db.user, '-pas', tmp_dba_pswd], io_enc = locale.getpreferredencoding(), credentials = False, combine_output = True)
2025-06-25 05:20:20.126 tmp_fdb.unlink()
2025-06-25 05:20:20.134
2025-06-25 05:20:20.145 act.stdout = capsys.readouterr().out
2025-06-25 05:20:20.158 >               assert act.clean_stdout == act.clean_expected_stdout
2025-06-25 05:20:20.171 E               assert
2025-06-25 05:20:20.184 E                 + Statement failed, SQLSTATE = 2C000
2025-06-25 05:20:20.195 E                 + unsuccessful metadata update
2025-06-25 05:20:20.206 E                 + -CREATE OR ALTER MAPPING LOCAL_MAPPING_5884 failed
2025-06-25 05:20:20.216 E                 + -Dynamic SQL Error
2025-06-25 05:20:20.223 E                 + -SQL error code = -504
2025-06-25 05:20:20.230 E                 + -CHARACTER SET "UTF8" is not defined
2025-06-25 05:20:20.237 E                 + Statement failed, SQLSTATE = 2C000
2025-06-25 05:20:20.244 E                 + unsuccessful metadata update
2025-06-25 05:20:20.251 E                 + -CREATE OR ALTER MAPPING GLOBAL_MAPPING_5884 failed
2025-06-25 05:20:20.258 E                 + -Dynamic SQL Error
2025-06-25 05:20:20.269 E                 + -SQL error code = -504
2025-06-25 05:20:20.278 E                 + -CHARACTER SET "UTF8" is not defined
2025-06-25 05:20:20.285 E                   MON_SEC_DB                      Self
2025-06-25 05:20:20.292 E                   Records affected: 1
2025-06-25 05:20:20.297 E                   SEC$USER_NAME                   SYSDBA
2025-06-25 05:20:20.302 E                   SEC$ADMIN                       <true>
2025-06-25 05:20:20.308 E                   SEC$PLUGIN                      Srp
2025-06-25 05:20:20.313 E                   SEC$USER_NAME                   TMP$C5884_1
2025-06-25 05:20:20.319 E                   SEC$ADMIN                       <false>
2025-06-25 05:20:20.325 E                   SEC$PLUGIN                      Srp
2025-06-25 05:20:20.331 E                   SEC$USER_NAME                   TMP$C5884_2
2025-06-25 05:20:20.337 E                   SEC$ADMIN                       <false>
2025-06-25 05:20:20.343 E                   SEC$PLUGIN                      Srp
2025-06-25 05:20:20.357 E                   Records affected: 3
2025-06-25 05:20:20.367 E                 - MAP_NAME                        GLOBAL_MAPPING_5884
2025-06-25 05:20:20.378 E                 - MAP_PLUGIN                      SRP256
2025-06-25 05:20:20.389 E                 - FROM_TYPE                       USER
2025-06-25 05:20:20.396 E                 - MAP_FROM                        TMP$C5884_2
2025-06-25 05:20:20.403 E                 - TO_TYPE                         0
2025-06-25 05:20:20.411 E                 - MAP_TO                          MIKE_FROM_GLOBAL_MAPPING_5884
2025-06-25 05:20:20.417 E                 - MAP_NAME                        LOCAL_MAPPING_5884
2025-06-25 05:20:20.423 E                 - MAP_PLUGIN                      SRP256
2025-06-25 05:20:20.430 E                 - FROM_TYPE                       USER
2025-06-25 05:20:20.436 E                 - MAP_FROM                        TMP$C5884_1
2025-06-25 05:20:20.443 E                 - TO_TYPE                         0
2025-06-25 05:20:20.450 E                 - MAP_TO                          JOHN_FROM_LOCAL_MAPPING_5884
2025-06-25 05:20:20.456 E                 - Records affected: 2
2025-06-25 05:20:20.469 E                 + Records affected: 0
2025-06-25 05:20:20.482 E                 - WHOAMI_A                        JOHN_FROM_LOCAL_MAPPING_5884
2025-06-25 05:20:20.489 E                 + WHOAMI_A                        TMP$C5884_1
2025-06-25 05:20:20.495 E                   Records affected: 1
2025-06-25 05:20:20.502 E                 - WHOAMI_B                        MIKE_FROM_GLOBAL_MAPPING_5884
2025-06-25 05:20:20.510 E                 + WHOAMI_B                        TMP$C5884_2
2025-06-25 05:20:20.521 E                   Records affected: 1
2025-06-25 05:20:20.533
2025-06-25 05:20:20.542 tests/bugs/core_5884_test.py:211: AssertionError
2025-06-25 05:20:20.551 ---------------------------- Captured stdout setup -----------------------------
2025-06-25 05:20:20.558 Creating db: localhost:/var/tmp/qa_2024/test_11210/test.fdb [page_size=None, sql_dialect=None, charset='NONE', user=SYSDBA, password=masterkey]
3 #text
act = <firebird.qa.plugin.Action pytest object at [hex]>
user_a = <firebird.qa.plugin.User pytest object at [hex]>
user_b = <firebird.qa.plugin.User pytest object at [hex]>
capsys = <_pytest.capture.CaptureFixture pytest object at [hex]>

    @pytest.mark.version('>=3.0.4')
    def test_1(act: Action, user_a: User, user_b: User, capsys):
    
        # Scan line-by-line through databases.conf, find line starting with REQUIRED_ALIAS and extract name of file that
        # must be created in the $(dir_sampleDb)/qa/ folder. This name will be used further as target database (tmp_fdb).
        # NOTE: we have to SKIP lines which are commented out, i.e. if they starts with '#':
        p_required_alias_ptn =  re.compile( '^(?!#)((^|\\s+)' + REQUIRED_ALIAS + ')\\s*=\\s*\\$\\(dir_sampleDb\\)/qa/', re.IGNORECASE )
        fname_in_dbconf = None
    
        with open(act.home_dir/'databases.conf', 'r') as f:
            for line in f:
                if p_required_alias_ptn.search(line):
                    # If databases.conf contains line like this:
                    #     tmp_6147_alias = $(dir_sampleDb)/qa/tmp_core_6147.fdb
                    # - then we extract filename: 'tmp_core_6147.fdb' (see below):
                    fname_in_dbconf = Path(line.split('=')[1].strip()).name
                    break
    
        # if 'fname_in_dbconf' remains undefined here then propably REQUIRED_ALIAS not equals to specified in the databases.conf!
        #
        assert fname_in_dbconf
    
        #------------------------------------------------------------------
        # Full path + filename of database to which we will try to connect:
        #
        tmp_fdb = Path( act.vars['sample_dir'], 'qa', fname_in_dbconf )
    
        #######!!! ACHTUNG !!!#######
        PLUGIN_FOR_MAPPING = 'Srp256' # <<< !! MUST BE EXACTLY THE SAME AS IN databases.conf !!
        #############################
    
        PLUGIN_FOR_AUTH = 'Srp'
        LOCAL_MAPPING_NAME =  'local_mapping_5884'
        GLOBAL_MAPPING_NAME = 'global_mapping_5884'
        LOCAL_MAPPED_USER =   'john_from_local_mapping_5884'
        GLOBAL_MAPPED_USER =  'mike_from_global_mapping_5884'
    
        tmp_dba_pswd = 'alt@pa$5884'
        sql_txt = f'''
            --set echo on;
            -- set bail on;
            set list on;
            create database '{REQUIRED_ALIAS}' user {act.db.user};
            create user {act.db.user} password '{tmp_dba_pswd}' using plugin {PLUGIN_FOR_AUTH};
    
            create user {user_a.name} password '{user_a.password}' using plugin {PLUGIN_FOR_AUTH};
            create user {user_b.name} password '{user_b.password}' using plugin {PLUGIN_FOR_AUTH};
            commit;
    
            create or alter mapping {LOCAL_MAPPING_NAME} using plugin {PLUGIN_FOR_MAPPING} from user {user_a.name} to user {LOCAL_MAPPED_USER};
            create or alter global mapping {GLOBAL_MAPPING_NAME} using plugin {PLUGIN_FOR_MAPPING} from user {user_b.name} to user {GLOBAL_MAPPED_USER};
            commit;
    
            recreate view v_map_info as
            select t.*
            from
            (
                select
                     rdb$map_name      as map_name
                    ,rdb$map_plugin    as map_plugin
                    ,rdb$map_from_type as from_type
                    ,rdb$map_from      as map_from
                    ,rdb$map_to_type   as to_type
                    ,rdb$map_to        as map_to
                from rdb$auth_mapping
            ) t
            where
                t.map_name in ( upper('{LOCAL_MAPPING_NAME}'), upper('{GLOBAL_MAPPING_NAME}') )
                and upper(t.map_plugin) = upper('{PLUGIN_FOR_MAPPING}')
            order by map_name, from_type, map_from, to_type, map_to
            ;
            commit;
    
            set count on;
    
            select m.mon$sec_database as mon_sec_db from mon$database m;
    
            select sec$user_name,sec$admin,sec$plugin from sec$users order by 1;
            commit;
    
            select * from v_map_info;
            commit;
    
            connect 'localhost:{REQUIRED_ALIAS}' user {user_a.name} password '{user_a.password}';
            select current_user as whoami_a from rdb$database;
            commit;
    
            connect 'localhost:{REQUIRED_ALIAS}' user {user_b.name} password '{user_b.password}';
            select current_user as whoami_b from rdb$database;
            commit;
        '''
    
        act.expected_stdout = f"""
            MON_SEC_DB                      Self
            Records affected: 1
    
            SEC$USER_NAME                   {act.db.user}
            SEC$ADMIN                       <true>
            SEC$PLUGIN                      Srp
    
            SEC$USER_NAME                   {user_a.name.upper()}
            SEC$ADMIN                       <false>
            SEC$PLUGIN                      Srp
    
            SEC$USER_NAME                   {user_b.name.upper()}
            SEC$ADMIN                       <false>
            SEC$PLUGIN                      Srp
            Records affected: 3
    
            MAP_NAME                        {GLOBAL_MAPPING_NAME.upper()}
            MAP_PLUGIN                      {PLUGIN_FOR_MAPPING.upper()}
            FROM_TYPE                       USER
            MAP_FROM                        {user_b.name.upper()}
            TO_TYPE                         0
            MAP_TO                          {GLOBAL_MAPPED_USER.upper()}
    
            MAP_NAME                        {LOCAL_MAPPING_NAME.upper()}
            MAP_PLUGIN                      {PLUGIN_FOR_MAPPING.upper()}
            FROM_TYPE                       USER
            MAP_FROM                        {user_a.name.upper()}
            TO_TYPE                         0
            MAP_TO                          {LOCAL_MAPPED_USER.upper()}
    
            Records affected: 2
    
            WHOAMI_A                        {LOCAL_MAPPED_USER.upper()}
            Records affected: 1
    
            WHOAMI_B                        {GLOBAL_MAPPED_USER.upper()}
            Records affected: 1
        """
        try:
            act.isql(switches = ['-q'], input = sql_txt, connect_db=False, credentials = False, combine_output = True, io_enc = locale.getpreferredencoding())
>           assert act.clean_stdout == act.clean_expected_stdout
E           assert   
E             + Statement failed, SQLSTATE = 2C000
E             + unsuccessful metadata update
E             + -CREATE OR ALTER MAPPING LOCAL_MAPPING_5884 failed
E             + -Dynamic SQL Error
E             + -SQL error code = -504
E             + -CHARACTER SET "UTF8" is not defined
E             + Statement failed, SQLSTATE = 2C000
E             + unsuccessful metadata update
E             + -CREATE OR ALTER MAPPING GLOBAL_MAPPING_5884 failed
E             + -Dynamic SQL Error
E             + -SQL error code = -504
E             + -CHARACTER SET "UTF8" is not defined
E               MON_SEC_DB                      Self
E               Records affected: 1
E               SEC$USER_NAME                   SYSDBA
E               SEC$ADMIN                       <true>
E               SEC$PLUGIN                      Srp
E               SEC$USER_NAME                   TMP$C5884_1
E               SEC$ADMIN                       <false>
E               SEC$PLUGIN                      Srp
E               SEC$USER_NAME                   TMP$C5884_2
E               SEC$ADMIN                       <false>
E               SEC$PLUGIN                      Srp
E               Records affected: 3
E             - MAP_NAME                        GLOBAL_MAPPING_5884
E             - MAP_PLUGIN                      SRP256
E             - FROM_TYPE                       USER
E             - MAP_FROM                        TMP$C5884_2
E             - TO_TYPE                         0
E             - MAP_TO                          MIKE_FROM_GLOBAL_MAPPING_5884
E             - MAP_NAME                        LOCAL_MAPPING_5884
E             - MAP_PLUGIN                      SRP256
E             - FROM_TYPE                       USER
E             - MAP_FROM                        TMP$C5884_1
E             - TO_TYPE                         0
E             - MAP_TO                          JOHN_FROM_LOCAL_MAPPING_5884
E             - Records affected: 2
E             + Records affected: 0
E             - WHOAMI_A                        JOHN_FROM_LOCAL_MAPPING_5884
E             + WHOAMI_A                        TMP$C5884_1
E               Records affected: 1
E             - WHOAMI_B                        MIKE_FROM_GLOBAL_MAPPING_5884
E             + WHOAMI_B                        TMP$C5884_2
E               Records affected: 1

tests/bugs/core_5884_test.py:197: AssertionError

During handling of the above exception, another exception occurred:

act = <firebird.qa.plugin.Action pytest object at [hex]>
user_a = <firebird.qa.plugin.User pytest object at [hex]>
user_b = <firebird.qa.plugin.User pytest object at [hex]>
capsys = <_pytest.capture.CaptureFixture pytest object at [hex]>

    @pytest.mark.version('>=3.0.4')
    def test_1(act: Action, user_a: User, user_b: User, capsys):
    
        # Scan line-by-line through databases.conf, find line starting with REQUIRED_ALIAS and extract name of file that
        # must be created in the $(dir_sampleDb)/qa/ folder. This name will be used further as target database (tmp_fdb).
        # NOTE: we have to SKIP lines which are commented out, i.e. if they starts with '#':
        p_required_alias_ptn =  re.compile( '^(?!#)((^|\\s+)' + REQUIRED_ALIAS + ')\\s*=\\s*\\$\\(dir_sampleDb\\)/qa/', re.IGNORECASE )
        fname_in_dbconf = None
    
        with open(act.home_dir/'databases.conf', 'r') as f:
            for line in f:
                if p_required_alias_ptn.search(line):
                    # If databases.conf contains line like this:
                    #     tmp_6147_alias = $(dir_sampleDb)/qa/tmp_core_6147.fdb
                    # - then we extract filename: 'tmp_core_6147.fdb' (see below):
                    fname_in_dbconf = Path(line.split('=')[1].strip()).name
                    break
    
        # if 'fname_in_dbconf' remains undefined here then propably REQUIRED_ALIAS not equals to specified in the databases.conf!
        #
        assert fname_in_dbconf
    
        #------------------------------------------------------------------
        # Full path + filename of database to which we will try to connect:
        #
        tmp_fdb = Path( act.vars['sample_dir'], 'qa', fname_in_dbconf )
    
        #######!!! ACHTUNG !!!#######
        PLUGIN_FOR_MAPPING = 'Srp256' # <<< !! MUST BE EXACTLY THE SAME AS IN databases.conf !!
        #############################
    
        PLUGIN_FOR_AUTH = 'Srp'
        LOCAL_MAPPING_NAME =  'local_mapping_5884'
        GLOBAL_MAPPING_NAME = 'global_mapping_5884'
        LOCAL_MAPPED_USER =   'john_from_local_mapping_5884'
        GLOBAL_MAPPED_USER =  'mike_from_global_mapping_5884'
    
        tmp_dba_pswd = 'alt@pa$5884'
        sql_txt = f'''
            --set echo on;
            -- set bail on;
            set list on;
            create database '{REQUIRED_ALIAS}' user {act.db.user};
            create user {act.db.user} password '{tmp_dba_pswd}' using plugin {PLUGIN_FOR_AUTH};
    
            create user {user_a.name} password '{user_a.password}' using plugin {PLUGIN_FOR_AUTH};
            create user {user_b.name} password '{user_b.password}' using plugin {PLUGIN_FOR_AUTH};
            commit;
    
            create or alter mapping {LOCAL_MAPPING_NAME} using plugin {PLUGIN_FOR_MAPPING} from user {user_a.name} to user {LOCAL_MAPPED_USER};
            create or alter global mapping {GLOBAL_MAPPING_NAME} using plugin {PLUGIN_FOR_MAPPING} from user {user_b.name} to user {GLOBAL_MAPPED_USER};
            commit;
    
            recreate view v_map_info as
            select t.*
            from
            (
                select
                     rdb$map_name      as map_name
                    ,rdb$map_plugin    as map_plugin
                    ,rdb$map_from_type as from_type
                    ,rdb$map_from      as map_from
                    ,rdb$map_to_type   as to_type
                    ,rdb$map_to        as map_to
                from rdb$auth_mapping
            ) t
            where
                t.map_name in ( upper('{LOCAL_MAPPING_NAME}'), upper('{GLOBAL_MAPPING_NAME}') )
                and upper(t.map_plugin) = upper('{PLUGIN_FOR_MAPPING}')
            order by map_name, from_type, map_from, to_type, map_to
            ;
            commit;
    
            set count on;
    
            select m.mon$sec_database as mon_sec_db from mon$database m;
    
            select sec$user_name,sec$admin,sec$plugin from sec$users order by 1;
            commit;
    
            select * from v_map_info;
            commit;
    
            connect 'localhost:{REQUIRED_ALIAS}' user {user_a.name} password '{user_a.password}';
            select current_user as whoami_a from rdb$database;
            commit;
    
            connect 'localhost:{REQUIRED_ALIAS}' user {user_b.name} password '{user_b.password}';
            select current_user as whoami_b from rdb$database;
            commit;
        '''
    
        act.expected_stdout = f"""
            MON_SEC_DB                      Self
            Records affected: 1
    
            SEC$USER_NAME                   {act.db.user}
            SEC$ADMIN                       <true>
            SEC$PLUGIN                      Srp
    
            SEC$USER_NAME                   {user_a.name.upper()}
            SEC$ADMIN                       <false>
            SEC$PLUGIN                      Srp
    
            SEC$USER_NAME                   {user_b.name.upper()}
            SEC$ADMIN                       <false>
            SEC$PLUGIN                      Srp
            Records affected: 3
    
            MAP_NAME                        {GLOBAL_MAPPING_NAME.upper()}
            MAP_PLUGIN                      {PLUGIN_FOR_MAPPING.upper()}
            FROM_TYPE                       USER
            MAP_FROM                        {user_b.name.upper()}
            TO_TYPE                         0
            MAP_TO                          {GLOBAL_MAPPED_USER.upper()}
    
            MAP_NAME                        {LOCAL_MAPPING_NAME.upper()}
            MAP_PLUGIN                      {PLUGIN_FOR_MAPPING.upper()}
            FROM_TYPE                       USER
            MAP_FROM                        {user_a.name.upper()}
            TO_TYPE                         0
            MAP_TO                          {LOCAL_MAPPED_USER.upper()}
    
            Records affected: 2
    
            WHOAMI_A                        {LOCAL_MAPPED_USER.upper()}
            Records affected: 1
    
            WHOAMI_B                        {GLOBAL_MAPPED_USER.upper()}
            Records affected: 1
        """
        try:
            act.isql(switches = ['-q'], input = sql_txt, connect_db=False, credentials = False, combine_output = True, io_enc = locale.getpreferredencoding())
            assert act.clean_stdout == act.clean_expected_stdout
            act.reset()
    
        finally:
            if Path.exists(tmp_fdb):
                # Change DB state to full shutdown in order to have ability to drop database file.
                # This is needed because when DB is self-security then it will be kept opened for 10s
                # (as it always occurs for common security.db). Set linger to 0 does not help.
                # Attempt to use 'drop database' fails with:
                # "SQLSTATE = 40001 / lock time-out on wait transaction / -object ... is in use"
                act.gfix(switches=['-shut', 'full', '-force', '0', f'localhost:{REQUIRED_ALIAS}', '-user', act.db.user, '-pas', tmp_dba_pswd], io_enc = locale.getpreferredencoding(), credentials = False, combine_output = True)
                tmp_fdb.unlink()
    
                act.stdout = capsys.readouterr().out
>               assert act.clean_stdout == act.clean_expected_stdout
E               assert   
E                 + Statement failed, SQLSTATE = 2C000
E                 + unsuccessful metadata update
E                 + -CREATE OR ALTER MAPPING LOCAL_MAPPING_5884 failed
E                 + -Dynamic SQL Error
E                 + -SQL error code = -504
E                 + -CHARACTER SET "UTF8" is not defined
E                 + Statement failed, SQLSTATE = 2C000
E                 + unsuccessful metadata update
E                 + -CREATE OR ALTER MAPPING GLOBAL_MAPPING_5884 failed
E                 + -Dynamic SQL Error
E                 + -SQL error code = -504
E                 + -CHARACTER SET "UTF8" is not defined
E                   MON_SEC_DB                      Self
E                   Records affected: 1
E                   SEC$USER_NAME                   SYSDBA
E                   SEC$ADMIN                       <true>
E                   SEC$PLUGIN                      Srp
E                   SEC$USER_NAME                   TMP$C5884_1
E                   SEC$ADMIN                       <false>
E                   SEC$PLUGIN                      Srp
E                   SEC$USER_NAME                   TMP$C5884_2
E                   SEC$ADMIN                       <false>
E                   SEC$PLUGIN                      Srp
E                   Records affected: 3
E                 - MAP_NAME                        GLOBAL_MAPPING_5884
E                 - MAP_PLUGIN                      SRP256
E                 - FROM_TYPE                       USER
E                 - MAP_FROM                        TMP$C5884_2
E                 - TO_TYPE                         0
E                 - MAP_TO                          MIKE_FROM_GLOBAL_MAPPING_5884
E                 - MAP_NAME                        LOCAL_MAPPING_5884
E                 - MAP_PLUGIN                      SRP256
E                 - FROM_TYPE                       USER
E                 - MAP_FROM                        TMP$C5884_1
E                 - TO_TYPE                         0
E                 - MAP_TO                          JOHN_FROM_LOCAL_MAPPING_5884
E                 - Records affected: 2
E                 + Records affected: 0
E                 - WHOAMI_A                        JOHN_FROM_LOCAL_MAPPING_5884
E                 + WHOAMI_A                        TMP$C5884_1
E                   Records affected: 1
E                 - WHOAMI_B                        MIKE_FROM_GLOBAL_MAPPING_5884
E                 + WHOAMI_B                        TMP$C5884_2
E                   Records affected: 1

tests/bugs/core_5884_test.py:211: 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 1833 1791 2025.06.29 01:26:38.230 2025.06.29 01:26:40.063 2025.06.28 22:43:26.945 2025.06.28 22:43:28.736
2 6.0.0.877 2025.06.26 8e38f P P 1560 1409 2025.06.27 01:12:40.502 2025.06.27 01:12:42.062 2025.06.26 22:37:47.373 2025.06.26 22:37:48.782
3 6.0.0.876 2025.06.25 b1bec P P 1568 1658 2025.06.26 01:16:30.761 2025.06.26 01:16:32.329 2025.06.25 22:39:18.484 2025.06.25 22:39:20.142
4 6.0.0.863 2025.06.24 c3c20 F F 1587 1592 2025.06.25 01:16:52.144 2025.06.25 01:16:53.731 2025.06.24 22:39:26.018 2025.06.24 22:39:27.610
5 6.0.0.858 2025.06.23 8d6f7 F F 1654 1637 2025.06.24 01:17:08.111 2025.06.24 01:17:09.765 2025.06.23 22:39:36.733 2025.06.23 22:39:38.370
6 6.0.0.849 2025.06.20 7b79c F F 1594 1730 2025.06.21 01:28:23.605 2025.06.21 01:28:25.199 2025.06.20 22:47:07.416 2025.06.20 22:47:09.146
7 6.0.0.848 2025.06.19 c483c F F 1565 1484 2025.06.20 01:24:45.734 2025.06.20 01:24:47.299 2025.06.19 22:44:55.070 2025.06.19 22:44:56.554
8 6.0.0.845 2025.06.18 22b12 F F 1606 1769 2025.06.19 01:32:28.540 2025.06.19 01:32:30.146 2025.06.18 22:46:35.951 2025.06.18 22:46:37.720
9 6.0.0.843 2025.06.16 995f4 F F 1743 1799 2025.06.18 01:31:29.310 2025.06.18 01:31:31.053 2025.06.17 22:49:11.606 2025.06.17 22:49:13.405
10 6.0.0.840 2025.06.14 29bca F F 1642 1572 2025.06.16 01:22:49.621 2025.06.16 01:22:51.263 2025.06.15 22:42:19.222 2025.06.15 22:42:20.794
11 6.0.0.838 2025.06.13 0e28a F F 1759 956 2025.06.14 01:34:59.403 2025.06.14 01:35:01.162 2025.06.13 22:48:11.414 2025.06.13 22:48:12.370
12 6.0.0.835 2025.06.12 2cf29 F F 1745 1446 2025.06.13 01:36:07.327 2025.06.13 01:36:09.072 2025.06.12 22:53:09.498 2025.06.12 22:53:10.944
13 6.0.0.834 2025.06.11 e889f F F 1657 1459 2025.06.12 01:30:50.231 2025.06.12 01:30:51.888 2025.06.11 22:49:22.723 2025.06.11 22:49:24.182
14 6.0.0.800 2025.06.10 1f226 P P 1500 1108 2025.06.11 00:00:31.916 2025.06.11 00:00:33.416 2025.06.10 21:54:17.237 2025.06.10 21:54:18.345
15 6.0.0.799 2025.06.07 be644 P P 2258 1087 2025.06.09 23:58:25.530 2025.06.09 23:58:27.788 2025.06.09 21:54:00.761 2025.06.09 21:54:01.848
16 6.0.0.797 2025.06.06 303e8 P P 2663 1075 2025.06.07 00:01:20.535 2025.06.07 00:01:23.198 2025.06.06 21:52:26.561 2025.06.06 21:52:27.636
17 6.0.0.795 2025.05.29 7a71a P P 2421 1042 2025.06.05 23:57:35.677 2025.06.05 23:57:38.098 2025.06.05 21:51:38.071 2025.06.05 21:51:39.113
18 6.0.0.792 2025.05.28 b4327 P P 2606 1018 2025.05.29 00:07:02.333 2025.05.29 00:07:04.939 2025.05.28 21:52:42.310 2025.05.28 21:52:43.328
19 6.0.0.791 2025.05.27 02db8 P P 2461 1127 2025.05.28 00:05:41.626 2025.05.28 00:05:44.087 2025.05.27 21:52:45.963 2025.05.27 21:52:47.090
20 6.0.0.789 2025.05.21 64051 P P 2403 1096 2025.05.25 00:01:47.262 2025.05.25 00:01:49.665 2025.05.24 21:52:12.981 2025.05.24 21:52:14.077
21 6.0.0.787 2025.05.20 230ad P P 2451 1053 2025.05.20 23:58:32.947 2025.05.20 23:58:35.398 2025.05.20 21:51:36.612 2025.05.20 21:51:37.665
22 6.0.0.783 2025.05.12 37320 P P 1549 1114 2025.05.19 11:32:33.961 2025.05.19 11:32:35.510 2025.05.19 09:42:50.443 2025.05.19 09:42:51.557
23 6.0.0.779 2025.05.11 136fa P P 2549 1114 2025.05.11 23:54:04.099 2025.05.11 23:54:06.648 2025.05.11 21:50:48.149 2025.05.11 21:50:49.263
24 6.0.0.778 2025.05.07 d735e P P 2468 1007 2025.05.07 23:53:47.078 2025.05.07 23:53:49.546 2025.05.07 21:50:25.664 2025.05.07 21:50:26.671
25 6.0.0.776 2025.05.06 007cd P P 2535 1110 2025.05.06 23:46:10.150 2025.05.06 23:46:12.685 2025.05.06 21:49:44.627 2025.05.06 21:49:45.737
26 6.0.0.770 2025.05.05 82c4a P P 2359 1041 2025.05.05 23:44:58.759 2025.05.05 23:45:01.118 2025.05.05 21:49:48.782 2025.05.05 21:49:49.823
27 6.0.0.767 2025.05.01 cdd29 P P 2429 1064 2025.05.01 23:43:26.934 2025.05.01 23:43:29.363 2025.05.01 21:49:45.445 2025.05.01 21:49:46.509
28 6.0.0.762 2025.04.30 5cb15 P P 2405 1082 2025.04.30 23:40:13.137 2025.04.30 23:40:15.542 2025.04.30 21:49:01.936 2025.04.30 21:49:03.018
29 6.0.0.755 2025.04.29 739c6 P P 2478 1172 2025.04.29 23:42:35.191 2025.04.29 23:42:37.669 2025.04.29 21:49:34.918 2025.04.29 21:49:36.090
30 6.0.0.753 2025.04.27 29ab3 P P 2434 1120 2025.04.27 23:43:21.353 2025.04.27 23:43:23.787 2025.04.27 21:49:23.221 2025.04.27 21:49:24.341
31 6.0.0.745 2025.04.21 78ad8 P P 2337 1116 2025.04.25 23:42:02.270 2025.04.25 23:42:04.607 2025.04.25 21:50:55.801 2025.04.25 21:50:56.917
32 6.0.0.744 2025.04.19 e883a P P 2258 1051 2025.04.19 23:43:42.282 2025.04.19 23:43:44.540 2025.04.19 21:49:48.154 2025.04.19 21:49:49.205
33 6.0.0.742 2025.04.17 abc3b P P 2381 1122 2025.04.18 23:45:22.254 2025.04.18 23:45:24.635 2025.04.18 21:49:50.227 2025.04.18 21:49:51.349
34 6.0.0.737 2025.04.16 fe52b P P 2604 1096 2025.04.16 23:43:46.747 2025.04.16 23:43:49.351 2025.04.16 21:49:46.354 2025.04.16 21:49:47.450
35 6.0.0.736 2025.04.14 3e6be P P 2320 1071 2025.04.14 23:27:53.546 2025.04.14 23:27:55.866 2025.04.14 21:47:01.383 2025.04.14 21:47:02.454
36 6.0.0.735 2025.04.13 6635c P P 2268 1086 2025.04.13 23:29:43.262 2025.04.13 23:29:45.530 2025.04.13 21:47:37.089 2025.04.13 21:47:38.175
37 6.0.0.734 2025.04.12 12f3f P P 2156 1023 2025.04.12 23:28:30.746 2025.04.12 23:28:32.902 2025.04.12 21:47:04.294 2025.04.12 21:47:05.317
38 6.0.0.730 2025.04.11 240b8 P P 2325 1032 2025.04.11 23:29:47.616 2025.04.11 23:29:49.941 2025.04.11 21:46:50.889 2025.04.11 21:46:51.921
39 6.0.0.726 2025.04.10 d79c6 P P 2270 903 2025.04.10 23:29:14.791 2025.04.10 23:29:17.061 2025.04.10 21:46:39.856 2025.04.10 21:46:40.759
40 6.0.0.725 2025.04.09 a2b05 P P 2320 1147 2025.04.09 23:29:30.130 2025.04.09 23:29:32.450 2025.04.09 21:47:44.614 2025.04.09 21:47:45.761
41 6.0.0.722 2025.04.08 a8b86 P P 2490 1072 2025.04.08 23:42:15.117 2025.04.08 23:42:17.607 2025.04.08 21:49:37.363 2025.04.08 21:49:38.435
42 6.0.0.719 2025.04.06 90fd9 P P 2490 1054 2025.04.06 23:40:07.873 2025.04.06 23:40:10.363 2025.04.06 21:49:38.454 2025.04.06 21:49:39.508
43 6.0.0.717 2025.04.04 53d70 P P 2417 1197 2025.04.04 23:36:47.545 2025.04.04 23:36:49.962 2025.04.04 21:49:07.879 2025.04.04 21:49:09.076
44 6.0.0.716 2025.04.03 fc636 P P 2642 1077 2025.04.03 23:40:56.508 2025.04.03 23:40:59.150 2025.04.03 21:49:17.916 2025.04.03 21:49:18.993
45 6.0.0.715 2025.04.02 907ed P P 2396 1185 2025.04.02 23:40:39.694 2025.04.02 23:40:42.090 2025.04.02 21:49:57.759 2025.04.02 21:49:58.944
46 6.0.0.710 2025.04.01 40651 P P 2593 1144 2025.04.01 23:39:28.141 2025.04.01 23:39:30.734 2025.04.01 21:49:11.623 2025.04.01 21:49:12.767
47 6.0.0.708 2025.03.31 cb069 P P 2420 1042 2025.03.31 23:31:53.450 2025.03.31 23:31:55.870 2025.03.31 21:47:37.887 2025.03.31 21:47:38.929
48 6.0.0.707 2025.03.28 4bd4f P P 2376 1108 2025.03.30 23:31:02.926 2025.03.30 23:31:05.302 2025.03.30 21:47:46.933 2025.03.30 21:47:48.041
49 6.0.0.698 2025.03.26 d72a7 P P 2651 934 2025.03.27 23:46:57.075 2025.03.27 23:46:59.726 2025.03.27 21:49:45.187 2025.03.27 21:49:46.121
50 6.0.0.693 2025.03.24 0b559 P P 2260 925 2025.03.24 23:37:16.406 2025.03.24 23:37:18.666 2025.03.24 21:49:09.256 2025.03.24 21:49:10.181
51 6.0.0.687 2025.03.22 730aa P P 2440 1048 2025.03.23 23:48:12.283 2025.03.23 23:48:14.723 2025.03.23 21:50:55.393 2025.03.23 21:50:56.441
52 6.0.0.686 2025.03.20 71bf6 P P 2636 1114 2025.03.20 23:52:23.546 2025.03.20 23:52:26.182 2025.03.20 21:51:42.433 2025.03.20 21:51:43.547
53 6.0.0.685 2025.03.19 a8577 P P 2640 1037 2025.03.19 23:49:44.938 2025.03.19 23:49:47.578 2025.03.19 21:50:42.054 2025.03.19 21:50:43.091
54 6.0.0.680 2025.03.18 90d29 P P 1152 615 2025.03.19 10:20:07.243 2025.03.19 10:20:08.395 2025.03.19 08:40:28.683 2025.03.19 08:40:29.298
55 6.0.0.677 2025.03.16 c0a60 P P 1256 656 2025.03.16 23:43:19.591 2025.03.16 23:43:20.847 2025.03.16 21:51:01.892 2025.03.16 21:51:02.548
56 6.0.0.676 2025.03.15 3034f P P 1251 595 2025.03.16 15:22:18.312 2025.03.16 15:22:19.563 2025.03.16 13:45:54.761 2025.03.16 13:45:55.356
57 6.0.0.673 2025.03.13 40f5b P P 1691 666 2025.03.13 23:42:49.254 2025.03.13 23:42:50.945 2025.03.13 21:50:33.171 2025.03.13 21:50:33.837
58 6.0.0.671 2025.03.12 a4fff P P 1644 640 2025.03.12 23:46:34.086 2025.03.12 23:46:35.730 2025.03.12 21:51:29.435 2025.03.12 21:51:30.075
59 6.0.0.663 2025.03.11 daad2 P P 1732 616 2025.03.11 23:44:04.350 2025.03.11 23:44:06.082 2025.03.11 21:51:21.350 2025.03.11 21:51:21.966
60 6.0.0.661 2025.03.07 b9869 P P 1608 576 2025.03.10 23:28:35.645 2025.03.10 23:28:37.253 2025.03.10 21:48:36.054 2025.03.10 21:48:36.630
61 6.0.0.660 2025.03.04 a6700 P P 1047 652 2025.03.06 23:36:06.248 2025.03.06 23:36:07.295 2025.03.06 21:49:28.985 2025.03.06 21:49:29.637
62 6.0.0.658 2025.03.03 f15f8 P P 1583 583 2025.03.03 23:31:13.502 2025.03.03 23:31:15.085 2025.03.03 21:48:31.974 2025.03.03 21:48:32.557
63 6.0.0.656 2025.02.27 25fb4 P P 2064 677 2025.03.02 23:51:26.015 2025.03.02 23:51:28.079 2025.03.02 21:52:33.148 2025.03.02 21:52:33.825
64 6.0.0.655 2025.02.25 6e3e0 P P 1682 633 2025.02.26 23:34:50.132 2025.02.26 23:34:51.814 2025.02.26 21:49:07.827 2025.02.26 21:49:08.460
65 6.0.0.654 2025.02.24 b7141 P P 1605 609 2025.02.24 23:36:45.861 2025.02.24 23:36:47.466 2025.02.24 21:49:40.578 2025.02.24 21:49:41.187
66 6.0.0.652 2025.02.22 22662 P P 1126 624 2025.02.24 06:56:11.649 2025.02.24 06:56:12.775 2025.02.24 00:05:43.843 2025.02.24 00:05:44.467
67 6.0.0.647 2025.02.21 9fccb P P 1688 604 2025.02.21 23:38:40.150 2025.02.21 23:38:41.838 2025.02.21 21:53:12.901 2025.02.21 21:53:13.505
68 6.0.0.640 2025.02.19 9b8ac P P 1540 548 2025.02.19 23:35:30.943 2025.02.19 23:35:32.483 2025.02.19 21:49:32.399 2025.02.19 21:49:32.947
69 6.0.0.639 2025.02.18 201a4 P P 1684 596 2025.02.18 23:30:18.658 2025.02.18 23:30:20.342 2025.02.18 21:48:56.559 2025.02.18 21:48:57.155
70 6.0.0.637 2025.02.12 6d0f5 P P 1825 608 2025.02.13 23:43:49.899 2025.02.13 23:43:51.724 2025.02.13 21:50:37.315 2025.02.13 21:50:37.923
71 6.0.0.636 2025.02.11 0424f P P 1818 582 2025.02.11 23:41:35.108 2025.02.11 23:41:36.926 2025.02.11 21:50:08.249 2025.02.11 21:50:08.831
72 6.0.0.635 2025.02.10 f640f P P 1737 752 2025.02.10 23:41:19.810 2025.02.10 23:41:21.547 2025.02.10 21:51:10.149 2025.02.10 21:51:10.901
73 6.0.0.629 2025.02.07 194f9 P P 1687 698 2025.02.07 23:39:45.234 2025.02.07 23:39:46.921 2025.02.07 21:50:14.996 2025.02.07 21:50:15.694
74 6.0.0.628 2025.02.06 859d5 P P 1777 574 2025.02.06 23:45:57.392 2025.02.06 23:45:59.169 2025.02.06 21:49:59.839 2025.02.06 21:50:00.413
75 6.0.0.621 2025.02.05 34fe7 P P 1706 588 2025.02.05 23:46:34.179 2025.02.05 23:46:35.885 2025.02.05 21:49:59.778 2025.02.05 21:50:00.366
76 6.0.0.609 2025.02.04 76d57 P P 1736 636 2025.02.04 23:40:31.554 2025.02.04 23:40:33.290 2025.02.04 21:50:00.181 2025.02.04 21:50:00.817
77 6.0.0.607 2025.02.03 1985b P P 1696 629 2025.02.03 23:41:12.686 2025.02.03 23:41:14.382 2025.02.03 21:50:19.162 2025.02.03 21:50:19.791
78 6.0.0.601 2025.02.01 6af07 P P 1653 681 2025.02.01 23:37:55.190 2025.02.01 23:37:56.843 2025.02.01 21:49:52.784 2025.02.01 21:49:53.465
79 6.0.0.600 2025.01.27 188de P P 1734 629 2025.01.27 23:43:24.338 2025.01.27 23:43:26.072 2025.01.27 21:50:23.538 2025.01.27 21:50:24.167
80 6.0.0.599 2025.01.25 ba588 P P 1970 641 2025.01.25 23:43:44.003 2025.01.25 23:43:45.973 2025.01.25 21:50:49.829 2025.01.25 21:50:50.470
81 6.0.0.598 2025.01.23 ddbc3 P P 1755 572 2025.01.24 23:43:52.646 2025.01.24 23:43:54.401 2025.01.24 21:50:13.461 2025.01.24 21:50:14.033
82 6.0.0.595 2025.01.22 e62f3 P P 1558 607 2025.01.22 23:35:48.770 2025.01.22 23:35:50.328 2025.01.22 21:49:27.399 2025.01.22 21:49:28.006
83 6.0.0.594 2025.01.21 47fb6 P P 937 627 2025.01.21 23:33:59.612 2025.01.21 23:34:00.549 2025.01.21 21:49:21.542 2025.01.21 21:49:22.169
84 6.0.0.590 2025.01.20 9dc1e P P 1669 625 2025.01.20 23:40:53.887 2025.01.20 23:40:55.556 2025.01.20 21:50:00.547 2025.01.20 21:50:01.172
85 6.0.0.588 2025.01.19 b1c4e P P 1776 618 2025.01.19 23:37:20.342 2025.01.19 23:37:22.118 2025.01.19 21:50:29.221 2025.01.19 21:50:29.839
86 6.0.0.587 2025.01.18 63e6e P P 1812 582 2025.01.18 23:41:22.118 2025.01.18 23:41:23.930 2025.01.18 21:50:53.839 2025.01.18 21:50:54.421
87 6.0.0.585 2025.01.16 2d6bb P P 1714 642 2025.01.17 23:34:32.098 2025.01.17 23:34:33.812 2025.01.17 21:49:24.273 2025.01.17 21:49:24.915
88 6.0.0.584 2025.01.15 a0aa2 P P 1680 650 2025.01.15 23:39:40.354 2025.01.15 23:39:42.034 2025.01.15 21:50:20.799 2025.01.15 21:50:21.449
89 6.0.0.581 2025.01.14 21e9e P P 1693 627 2025.01.14 23:40:54.803 2025.01.14 23:40:56.496 2025.01.14 21:50:06.992 2025.01.14 21:50:07.619
90 6.0.0.577 2025.01.13 7e293 P P 1757 592 2025.01.13 23:41:26.086 2025.01.13 23:41:27.843 2025.01.13 21:50:10.669 2025.01.13 21:50:11.261
91 6.0.0.576 2025.01.12 05898 P P 1695 654 2025.01.12 23:38:17.827 2025.01.12 23:38:19.522 2025.01.12 21:49:33.492 2025.01.12 21:49:34.146
92 6.0.0.573 2025.01.10 c20f3 P P 1633 663 2025.01.10 23:38:26.842 2025.01.10 23:38:28.475 2025.01.10 21:49:56.555 2025.01.10 21:49:57.218
93 6.0.0.571 2024.12.31 81bba P P 1442 411 2024.12.31 23:11:28.481 2024.12.31 23:11:29.923 2024.12.31 21:42:50.756 2024.12.31 21:42:51.167
94 6.0.0.570 2024.12.30 c3c8d P P 1443 428 2024.12.30 23:11:11.619 2024.12.30 23:11:13.062 2024.12.30 21:43:00.353 2024.12.30 21:43:00.781
95 6.0.0.565 2024.12.28 5fc59 P P 893 427 2024.12.30 12:03:04.220 2024.12.30 12:03:05.113 2024.12.30 10:51:30.901 2024.12.30 10:51:31.328
96 6.0.0.564 2024.12.26 12514 P P 1444 422 2024.12.26 23:12:23.043 2024.12.26 23:12:24.487 2024.12.26 21:42:50.252 2024.12.26 21:42:50.674
97 6.0.0.560 2024.12.25 fa83e P P 1548 397 2024.12.25 23:12:15.219 2024.12.25 23:12:16.767 2024.12.25 21:42:50.351 2024.12.25 21:42:50.748
98 6.0.0.559 2024.12.23 cc800 P P 1450 433 2024.12.24 23:14:21.249 2024.12.24 23:14:22.699 2024.12.24 21:43:09.827 2024.12.24 21:43:10.260
99 6.0.0.556 2024.12.22 a0404 P P 1420 424 2024.12.22 23:12:57.484 2024.12.22 23:12:58.904 2024.12.22 21:43:04.719 2024.12.22 21:43:05.143
100 6.0.0.555 2024.12.19 6990a P P 821 429 2024.12.21 12:39:03.844 2024.12.21 12:39:04.665 2024.12.21 11:17:57.051 2024.12.21 11:17:57.480
101 6.0.0.553 2024.12.17 d1f8a P P 801 434 2024.12.17 23:14:05.697 2024.12.17 23:14:06.498 2024.12.17 21:43:25.657 2024.12.17 21:43:26.091
102 6.0.0.552 2024.12.11 85e25 P P 1502 424 2024.12.15 23:12:31.562 2024.12.15 23:12:33.064 2024.12.15 21:43:14.436 2024.12.15 21:43:14.860
103 6.0.0.550 2024.12.10 b37ac P P 1524 447 2024.12.10 23:15:28.411 2024.12.10 23:15:29.935 2024.12.10 21:44:06.457 2024.12.10 21:44:06.904
104 6.0.0.548 2024.12.08 2cc77 P P 1554 421 2024.12.08 23:09:39.899 2024.12.08 23:09:41.453 2024.12.08 21:42:32.031 2024.12.08 21:42:32.452
105 6.0.0.544 2024.12.05 96943 P P 1480 441 2024.12.05 23:14:40.078 2024.12.05 23:14:41.558 2024.12.05 21:44:37.154 2024.12.05 21:44:37.595
106 6.0.0.543 2024.12.03 30b77 P P 1673 460 2024.12.03 23:15:22.454 2024.12.03 23:15:24.127 2024.12.03 21:43:48.209 2024.12.03 21:43:48.669
107 6.0.0.540 2024.12.02 4a1f4 P P 805 432 2024.12.02 23:05:32.318 2024.12.02 23:05:33.123 2024.12.02 21:43:10.242 2024.12.02 21:43:10.674
108 6.0.0.539 2024.11.28 1f283 P P 1715 426 2024.11.29 23:14:06.866 2024.11.29 23:14:08.581 2024.11.29 21:43:32.981 2024.11.29 21:43:33.407
109 6.0.0.535 2024.11.26 77b95 P P 1397 443 2024.11.26 23:04:52.489 2024.11.26 23:04:53.886 2024.11.26 21:41:53.938 2024.11.26 21:41:54.381
110 6.0.0.534 2024.11.25 e9584 P P 1521 469 2024.11.25 23:06:00.838 2024.11.25 23:06:02.359 2024.11.25 21:42:23.081 2024.11.25 21:42:23.550
111 6.0.0.533 2024.11.17 933ac P P 863 438 2024.11.22 09:20:07.183 2024.11.22 09:20:08.046 2024.11.22 08:11:50.546 2024.11.22 08:11:50.984
112 6.0.0.532 2024.11.16 9e263 P P 1740 426 2024.11.16 22:59:28.343 2024.11.16 22:59:30.083 2024.11.16 21:42:23.825 2024.11.16 21:42:24.251
113 6.0.0.530 2024.11.15 49804 P P 1539 450 2024.11.16 01:05:25.867 2024.11.16 01:05:27.406 2024.11.15 23:42:03.502 2024.11.15 23:42:03.952
114 6.0.0.528 2024.11.14 9625b P P 1530 518 2024.11.15 01:07:18.800 2024.11.15 01:07:20.330 2024.11.14 23:42:57.609 2024.11.14 23:42:58.127
115 6.0.0.526 2024.11.12 65b80 P P 1466 440 2024.11.14 01:06:28.369 2024.11.14 01:06:29.835 2024.11.13 23:42:25.582 2024.11.13 23:42:26.022
116 6.0.0.523 2024.11.08 8ca23 P P 1409 460 2024.11.11 01:03:56.750 2024.11.11 01:03:58.159 2024.11.10 23:41:46.789 2024.11.10 23:41:47.249
117 6.0.0.520 2024.11.07 4eefa P P 755 472 2024.11.08 01:01:49.270 2024.11.08 01:01:50.025 2024.11.07 23:41:40.871 2024.11.07 23:41:41.343
118 6.0.0.516 2024.11.04 b0c36 P P 1487 433 2024.11.05 01:01:21.399 2024.11.05 01:01:22.886 2024.11.04 23:41:38.582 2024.11.04 23:41:39.015
119 6.0.0.515 2024.10.30 d53f3 P P 1476 456 2024.11.04 01:03:16.420 2024.11.04 01:03:17.896 2024.11.03 23:41:49.092 2024.11.03 23:41:49.548
120 6.0.0.512 2024.10.29 833ef P P 1230 446 2024.10.30 01:05:24.703 2024.10.30 01:05:25.933 2024.10.29 23:42:50.223 2024.10.29 23:42:50.669
121 6.0.0.511 2024.10.26 c4bc9 P P 1547 471 2024.10.29 01:05:29.905 2024.10.29 01:05:31.452 2024.10.28 23:42:26.201 2024.10.28 23:42:26.672
122 6.0.0.509 2024.10.25 3aedb P P 1621 435 2024.10.26 01:13:05.849 2024.10.26 01:13:07.470 2024.10.25 23:44:09.028 2024.10.25 23:44:09.463
123 6.0.0.508 2024.10.24 a8f5b P P 829 454 2024.10.25 01:08:19.856 2024.10.25 01:08:20.685 2024.10.24 23:43:14.038 2024.10.24 23:43:14.492
124 6.0.0.502 2024.10.22 6bfd7 P P 1671 447 2024.10.23 01:07:57.257 2024.10.23 01:07:58.928 2024.10.22 23:42:59.354 2024.10.22 23:42:59.801
125 6.0.0.500 2024.10.21 be565 P P 963 496 2024.10.22 17:23:01.622 2024.10.22 17:23:02.585 2024.10.22 16:12:27.905 2024.10.22 16:12:28.401
126 6.0.0.499 2024.10.19 6214b P P 1552 433 2024.10.20 01:09:13.177 2024.10.20 01:09:14.729 2024.10.19 23:43:44.570 2024.10.19 23:43:45.003
127 6.0.0.498 2024.10.18 591a7 P P 1607 443 2024.10.19 01:07:00.525 2024.10.19 01:07:02.132 2024.10.18 23:42:37.268 2024.10.18 23:42:37.711
128 6.0.0.494 2024.10.17 cf5a4 P P 1520 498 2024.10.18 01:07:56.245 2024.10.18 01:07:57.765 2024.10.17 23:43:51.027 2024.10.17 23:43:51.525
129 6.0.0.491 2024.10.14 dc5fb P P 1444 471 2024.10.15 01:04:49.945 2024.10.15 01:04:51.389 2024.10.14 23:42:08.620 2024.10.14 23:42:09.091
130 6.0.0.489 2024.10.11 2ba59 P P 1685 516 2024.10.12 01:09:44.717 2024.10.12 01:09:46.402 2024.10.11 23:43:18.368 2024.10.11 23:43:18.884
131 6.0.0.488 2024.10.09 1c93e P P 1716 459 2024.10.10 01:17:11.066 2024.10.10 01:17:12.782 2024.10.09 23:45:08.006 2024.10.09 23:45:08.465
132 6.0.0.487 2024.10.06 065a3 P P 1612 508 2024.10.07 01:16:21.049 2024.10.07 01:16:22.661 2024.10.06 23:45:16.709 2024.10.06 23:45:17.217
133 6.0.0.485 2024.10.04 e95c1 P P 1656 466 2024.10.05 01:17:48.889 2024.10.05 01:17:50.545 2024.10.04 23:44:31.041 2024.10.04 23:44:31.507
134 6.0.0.483 2024.10.02 5e5ae P P 1592 455 2024.10.03 01:14:49.335 2024.10.03 01:14:50.927 2024.10.02 23:44:29.822 2024.10.02 23:44:30.277
135 6.0.0.478 2024.09.30 b5010 P P 1614 501 2024.10.01 01:10:44.833 2024.10.01 01:10:46.447 2024.09.30 23:44:07.573 2024.09.30 23:44:08.074
136 6.0.0.474 2024.09.26 e4efb P P 1532 519 2024.09.30 01:09:44.897 2024.09.30 01:09:46.429 2024.09.29 23:43:36.649 2024.09.29 23:43:37.168
137 6.0.0.471 2024.09.24 01b51 P P 1575 502 2024.09.25 23:12:18.701 2024.09.25 23:12:20.276 2024.09.25 21:43:41.566 2024.09.25 21:43:42.068
138 6.0.0.470 2024.09.23 77cc0 P P 840 487 2024.09.23 23:11:24.636 2024.09.23 23:11:25.476 2024.09.23 21:43:55.434 2024.09.23 21:43:55.921
139 6.0.0.467 2024.09.21 ea0b8 P P 1565 500 2024.09.22 23:10:17.516 2024.09.22 23:10:19.081 2024.09.22 21:43:13.421 2024.09.22 21:43:13.921
140 6.0.0.466 2024.09.20 32dc6 P P 1536 428 2024.09.20 23:09:20.097 2024.09.20 23:09:21.633 2024.09.20 21:43:19.557 2024.09.20 21:43:19.985
141 6.0.0.461 2024.09.17 2c895 P P 1857 692 2024.09.17 23:39:28.617 2024.09.17 23:39:30.474 2024.09.17 21:54:20.795 2024.09.17 21:54:21.487
142 6.0.0.460 2024.09.11 3c253 P P 1284 675 2024.09.16 23:40:48.002 2024.09.16 23:40:49.286 2024.09.16 21:55:05.128 2024.09.16 21:55:05.803
143 6.0.0.457 2024.09.09 fdc6f P P 2136 843 2024.09.09 23:58:37.353 2024.09.09 23:58:39.489 2024.09.09 21:57:55.870 2024.09.09 21:57:56.713
144 6.0.0.455 2024.09.07 500d8 P P 1833 742 2024.09.07 23:55:17.040 2024.09.07 23:55:18.873 2024.09.07 21:57:37.005 2024.09.07 21:57:37.747
145 6.0.0.454 2024.09.05 4d70f P P 1788 832 2024.09.05 23:41:03.203 2024.09.05 23:41:04.991 2024.09.05 21:55:59.892 2024.09.05 21:56:00.724
146 6.0.0.452 2024.09.04 9ff9c P P 1227 784 2024.09.04 23:40:12.150 2024.09.04 23:40:13.377 2024.09.04 21:54:53.757 2024.09.04 21:54:54.541
147 6.0.0.450 2024.09.02 27124 P P 2853 848 2024.09.04 00:37:17.760 2024.09.04 00:37:20.613 2024.09.03 22:12:24.505 2024.09.03 22:12:25.353
148 6.0.0.447 2024.09.01 056ec P P 1796 752 2024.09.01 23:59:03.648 2024.09.01 23:59:05.444 2024.09.01 21:58:22.078 2024.09.01 21:58:22.830
149 6.0.0.446 2024.08.30 fe1b2 P P 5407 890 2024.09.01 00:04:23.994 2024.09.01 00:04:29.401 2024.08.31 22:09:43.223 2024.08.31 22:09:44.113
150 6.0.0.444 2024.08.28 785d4 P P 1766 567 2024.08.30 00:18:10.381 2024.08.30 00:18:12.147 2024.08.29 22:09:27.939 2024.08.29 22:09:28.506
151 6.0.0.442 2024.08.21 4a68f P P 1743 1199 2024.08.28 01:33:32.305 2024.08.28 01:33:34.048 2024.08.27 22:25:16.433 2024.08.27 22:25:17.632
152 6.0.0.441 2024.08.20 75042 P P 1379 833 2024.08.20 23:48:15.111 2024.08.20 23:48:16.490 2024.08.20 21:57:37.979 2024.08.20 21:57:38.812
153 6.0.0.438 2024.08.16 088b5 P P 1672 640 2024.08.18 23:14:38.817 2024.08.18 23:14:40.489 2024.08.18 21:47:38.360 2024.08.18 21:47:39.000
154 6.0.0.437 2024.08.14 3c88b P P 1607 602 2024.08.15 23:13:17.029 2024.08.15 23:13:18.636 2024.08.15 21:47:22.450 2024.08.15 21:47:23.052
155 6.0.0.432 2024.08.11 e82ac P P 1608 602 2024.08.12 23:12:18.649 2024.08.12 23:12:20.257 2024.08.12 21:46:56.701 2024.08.12 21:46:57.303
156 6.0.0.431 2024.08.09 de5a7 P P 1708 687 2024.08.09 23:13:20.672 2024.08.09 23:13:22.380 2024.08.09 21:47:39.108 2024.08.09 21:47:39.795
157 6.0.0.428 2024.08.08 9191b P P 1631 642 2024.08.08 23:12:36.470 2024.08.08 23:12:38.101 2024.08.08 21:47:23.822 2024.08.08 21:47:24.464
158 6.0.0.423 2024.08.07 33b41 P P 1083 678 2024.08.08 09:07:36.142 2024.08.08 09:07:37.225 2024.08.08 07:54:50.058 2024.08.08 07:54:50.736
159 6.0.0.421 2024.08.06 ed60d P P 1340 472 2024.08.06 22:59:00.261 2024.08.06 22:59:01.601 2024.08.06 21:44:12.073 2024.08.06 21:44:12.545
160 6.0.0.419 2024.08.05 3505a P P 726 474 2024.08.05 23:00:47.632 2024.08.05 23:00:48.358 2024.08.05 21:44:16.994 2024.08.05 21:44:17.468
161 6.0.0.409 2024.08.02 ec18f P P 1315 519 2024.08.04 23:02:42.897 2024.08.04 23:02:44.212 2024.08.04 21:44:51.977 2024.08.04 21:44:52.496
162 6.0.0.406 2024.08.01 b20be P P 1438 449 2024.08.01 23:01:48.829 2024.08.01 23:01:50.267 2024.08.01 21:44:19.725 2024.08.01 21:44:20.174
163 6.0.0.405 2024.07.31 a62ac P P 684 496 2024.07.31 23:00:57.179 2024.07.31 23:00:57.863 2024.07.31 21:44:19.580 2024.07.31 21:44:20.076
164 6.0.0.403 2024.07.29 30f03 P P 1352 530 2024.07.29 23:00:34.801 2024.07.29 23:00:36.153 2024.07.29 21:44:05.805 2024.07.29 21:44:06.335
165 6.0.0.401 2024.07.26 24e41 P P 708 496 2024.07.26 22:58:40.061 2024.07.26 22:58:40.769 2024.07.26 21:43:57.981 2024.07.26 21:43:58.477
166 6.0.0.400 2024.07.24 5bb78 P P 790 471 2024.07.24 22:58:18.928 2024.07.24 22:58:19.718 2024.07.24 21:44:08.194 2024.07.24 21:44:08.665
167 6.0.0.398 2024.07.23 85b18 P P 1320 458 2024.07.23 23:04:10.397 2024.07.23 23:04:11.717 2024.07.23 21:44:10.781 2024.07.23 21:44:11.239
168 6.0.0.397 2024.07.22 c734c P P 841 480 2024.07.22 22:58:20.336 2024.07.22 22:58:21.177 2024.07.22 21:44:05.319 2024.07.22 21:44:05.799
169 6.0.0.396 2024.07.13 cf952 P P 695 452 2024.07.21 22:58:20.710 2024.07.21 22:58:21.405 2024.07.21 21:43:50.738 2024.07.21 21:43:51.190
170 6.0.0.395 2024.07.10 845f4 P P 702 487 2024.07.12 22:59:27.393 2024.07.12 22:59:28.095 2024.07.12 21:43:34.310 2024.07.12 21:43:34.797
171 6.0.0.392 2024.07.09 ea301 P P 1380 453 2024.07.09 22:56:16.562 2024.07.09 22:56:17.942 2024.07.09 21:43:21.102 2024.07.09 21:43:21.555
172 6.0.0.391 2024.07.08 7d50c P P 1451 511 2024.07.08 22:57:36.094 2024.07.08 22:57:37.545 2024.07.08 21:43:58.517 2024.07.08 21:43:59.028
173 6.0.0.389 2024.07.05 cc71c P P 903 492 2024.07.05 22:59:28.558 2024.07.05 22:59:29.461 2024.07.05 21:43:50.936 2024.07.05 21:43:51.428
174 6.0.0.388 2024.06.30 e5700 P P 1379 404 2024.06.30 22:56:56.682 2024.06.30 22:56:58.061 2024.06.30 21:44:00.188 2024.06.30 21:44:00.592
175 6.0.0.387 2024.06.27 7c28a P P 1392 503 2024.06.27 22:57:14.797 2024.06.27 22:57:16.189 2024.06.27 21:43:57.601 2024.06.27 21:43:58.104
176 6.0.0.386 2024.06.23 7c57f P P 694 524 2024.06.23 22:54:44.868 2024.06.23 22:54:45.562 2024.06.23 21:43:07.095 2024.06.23 21:43:07.619
177 6.0.0.384 2024.06.21 24d99 P P 723 504 2024.06.21 22:58:52.106 2024.06.21 22:58:52.829 2024.06.21 21:43:34.968 2024.06.21 21:43:35.472
178 6.0.0.374 2024.06.13 0097d P P 657 495 2024.06.20 22:57:18.144 2024.06.20 22:57:18.801 2024.06.20 21:43:22.094 2024.06.20 21:43:22.589
179 6.0.0.373 2024.06.09 363f0 P P 935 472 2024.06.13 13:11:45.760 2024.06.13 13:11:46.695 2024.06.13 12:06:44.260 2024.06.13 12:06:44.732
180 6.0.0.371 2024.06.08 f7130 P P 772 363 2024.06.11 22:01:13.670 2024.06.11 22:01:14.442 2024.06.11 21:03:34.588 2024.06.11 21:03:34.951
181 6.0.0.366 2024.05.30 ab2c9 P P 1538 487 2024.06.12 08:56:14.230 2024.06.12 08:56:15.768 2024.06.12 07:36:57.218 2024.06.12 07:36:57.705
182 6.0.0.363 2024.05.27 06703 P P 757 440 2024.06.12 14:06:38.080 2024.06.12 14:06:38.837 2024.06.12 13:06:16.221 2024.06.12 13:06:16.661
183 6.0.0.359 2024.05.23 9cb11 P P 779 389 2024.06.12 11:59:34.161 2024.06.12 11:59:34.940 2024.06.12 10:58:53.412 2024.06.12 10:58:53.801
184 6.0.0.358 2024.05.21 995dd P P 710 344 2024.06.12 16:42:56.241 2024.06.12 16:42:56.951 2024.06.12 15:43:58.186 2024.06.12 15:43:58.530
185 6.0.0.357 2024.05.18 bf6c4 P P 785 353 2024.06.12 21:19:25.144 2024.06.12 21:19:25.929 2024.06.12 20:20:06.745 2024.06.12 20:20:07.098
186 6.0.0.356 2024.05.17 eab06 P P 741 324 2024.06.13 05:25:55.056 2024.06.13 05:25:55.797 2024.06.13 04:26:31.477 2024.06.13 04:26:31.801
187 6.0.0.355 2024.05.16 8dd6e P P 740 345 2024.06.13 07:33:12.009 2024.06.13 07:33:12.749 2024.06.13 06:34:00.384 2024.06.13 06:34:00.729
188 6.0.0.354 2024.05.15 d3adc P P 749 526 2024.06.13 10:37:12.821 2024.06.13 10:37:13.570 2024.06.13 09:32:12.015 2024.06.13 09:32:12.541
189 6.0.0.351 2024.05.14 2e3e0 P P 774 510 2024.06.13 15:51:06.449 2024.06.13 15:51:07.223 2024.06.13 14:44:57.530 2024.06.13 14:44:58.040

Elapsed time, ms. Chart for last 150 runs:

Last commits information (all timestamps in UTC):