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   
    Initial state:
    Query: select * from v1_chk_nr
    Select Expression
    ....-> Sort (record length: NN, key length: MM)
    ........-> Filter
  - ............-> Table "TEST1" as "V1_CHK_NR TEST1" Full Scan
  + ............-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_NR" "PUBLIC"."TEST1" Full Scan
    3 lowered "D" normal
    Query: select * from v1_chk_ir_asc
    Select Expression
    ....-> Filter
  - ........-> Table "TEST1" as "V1_CHK_IR_ASC TEST1" Access By ID
  + ........-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_IR_ASC" "PUBLIC"."TEST1" Access By ID
  - ............-> Index "TEST1_ASC" Range Scan (full match)
  + ............-> Index "PUBLIC"."TEST1_ASC" Range Scan (full match)
    3 lowered "D" normal
    Query: select * from v1_chk_ir_dec
    Select Expression
    ....-> Filter
  - ........-> Table "TEST1" as "V1_CHK_IR_DEC TEST1" Access By ID
  + ........-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_IR_DEC" "PUBLIC"."TEST1" Access By ID
  - ............-> Index "TEST1_DEC" Range Scan (full match)
  + ............-> Index "PUBLIC"."TEST1_DEC" Range Scan (full match)
    3 lowered "D" normal
    Query: select * from v2_chk_nr
    Select Expression
    ....-> Sort (record length: NN, key length: MM)
    ........-> Filter
  - ............-> Table "TEST2" as "V2_CHK_NR TEST2" Full Scan
  + ............-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_NR" "PUBLIC"."TEST2" Full Scan
    3 lowered "L" normal
    Query: select * from v2_chk_ir_asc
    Select Expression
    ....-> Filter
  - ........-> Table "TEST2" as "V2_CHK_IR_ASC TEST2" Access By ID
  + ........-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_IR_ASC" "PUBLIC"."TEST2" Access By ID
  - ............-> Index "TEST2_PARTIAL_ASC" Full Scan
  + ............-> Index "PUBLIC"."TEST2_PARTIAL_ASC" Full Scan
    3 lowered "L" normal
    Query: select * from v2_chk_ir_dec
    Select Expression
    ....-> Sort (record length: NN, key length: MM)
    ........-> Filter
  - ............-> Table "TEST2" as "V2_CHK_IR_DEC TEST2" Access By ID
  + ............-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_IR_DEC" "PUBLIC"."TEST2" Access By ID
    ................-> Bitmap
  - ....................-> Index "TEST2_PARTIAL_ASC" Full Scan
  + ....................-> Index "PUBLIC"."TEST2_PARTIAL_ASC" Full Scan
    3 lowered "L" normal
    After alter domain dm_utf8 type varchar(1) character set utf8 collate unicode_ci:
    Query: select * from v1_chk_nr
    Select Expression
    ....-> Sort (record length: NN, key length: MM)
    ........-> Filter
  - ............-> Table "TEST1" as "V1_CHK_NR TEST1" Full Scan
  + ............-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_NR" "PUBLIC"."TEST1" Full Scan
    3 lowered "D" normal
    4 UPPERED "D" normal
    Query: select * from v1_chk_ir_asc
    Select Expression
    ....-> Filter
  - ........-> Table "TEST1" as "V1_CHK_IR_ASC TEST1" Access By ID
  + ........-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_IR_ASC" "PUBLIC"."TEST1" Access By ID
  - ............-> Index "TEST1_ASC" Range Scan (full match)
  + ............-> Index "PUBLIC"."TEST1_ASC" Range Scan (full match)
    3 lowered "D" normal
    4 UPPERED "D" normal
    Query: select * from v1_chk_ir_dec
    Select Expression
    ....-> Filter
  - ........-> Table "TEST1" as "V1_CHK_IR_DEC TEST1" Access By ID
  + ........-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_IR_DEC" "PUBLIC"."TEST1" Access By ID
  - ............-> Index "TEST1_DEC" Range Scan (full match)
  + ............-> Index "PUBLIC"."TEST1_DEC" Range Scan (full match)
    4 UPPERED "D" normal
    3 lowered "D" normal
    Query: select * from v2_chk_nr
    Select Expression
    ....-> Sort (record length: NN, key length: MM)
    ........-> Filter
  - ............-> Table "TEST2" as "V2_CHK_NR TEST2" Full Scan
  + ............-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_NR" "PUBLIC"."TEST2" Full Scan
    3 lowered "L" normal
    4 UPPERED "L" normal
    Query: select * from v2_chk_ir_asc
    Select Expression
    ....-> Filter
  - ........-> Table "TEST2" as "V2_CHK_IR_ASC TEST2" Access By ID
  + ........-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_IR_ASC" "PUBLIC"."TEST2" Access By ID
  - ............-> Index "TEST2_PARTIAL_ASC" Full Scan
  + ............-> Index "PUBLIC"."TEST2_PARTIAL_ASC" Full Scan
    3 lowered "L" normal
    4 UPPERED "L" normal
    Query: select * from v2_chk_ir_dec
    Select Expression
    ....-> Sort (record length: NN, key length: MM)
    ........-> Filter
  - ............-> Table "TEST2" as "V2_CHK_IR_DEC TEST2" Access By ID
  + ............-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_IR_DEC" "PUBLIC"."TEST2" Access By ID
    ................-> Bitmap
  - ....................-> Index "TEST2_PARTIAL_ASC" Full Scan
  + ....................-> Index "PUBLIC"."TEST2_PARTIAL_ASC" Full Scan
    4 UPPERED "L" normal
    3 lowered "L" normal
    After alter domain dm_utf8 type varchar(1) character set utf8 collate unicode_ci_ai:
    Query: select * from v1_chk_nr
    Select Expression
    ....-> Sort (record length: NN, key length: MM)
    ........-> Filter
  - ............-> Table "TEST1" as "V1_CHK_NR TEST1" Full Scan
  + ............-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_NR" "PUBLIC"."TEST1" Full Scan
    1 lowered "D" w/accent
    2 UPPERED "D" w/accent
    3 lowered "D" normal
    4 UPPERED "D" normal
    Query: select * from v1_chk_ir_asc
    Select Expression
    ....-> Filter
  - ........-> Table "TEST1" as "V1_CHK_IR_ASC TEST1" Access By ID
  + ........-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_IR_ASC" "PUBLIC"."TEST1" Access By ID
  - ............-> Index "TEST1_ASC" Range Scan (full match)
  + ............-> Index "PUBLIC"."TEST1_ASC" Range Scan (full match)
    3 lowered "D" normal
    4 UPPERED "D" normal
    1 lowered "D" w/accent
    2 UPPERED "D" w/accent
    Query: select * from v1_chk_ir_dec
    Select Expression
    ....-> Filter
  - ........-> Table "TEST1" as "V1_CHK_IR_DEC TEST1" Access By ID
  + ........-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_IR_DEC" "PUBLIC"."TEST1" Access By ID
  - ............-> Index "TEST1_DEC" Range Scan (full match)
  + ............-> Index "PUBLIC"."TEST1_DEC" Range Scan (full match)
    2 UPPERED "D" w/accent
    1 lowered "D" w/accent
    4 UPPERED "D" normal
    3 lowered "D" normal
    Query: select * from v2_chk_nr
    Select Expression
    ....-> Sort (record length: NN, key length: MM)
    ........-> Filter
  - ............-> Table "TEST2" as "V2_CHK_NR TEST2" Full Scan
  + ............-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_NR" "PUBLIC"."TEST2" Full Scan
    1 lowered "L" w/accent
    2 UPPERED "L" w/accent
    3 lowered "L" normal
    4 UPPERED "L" normal
    Query: select * from v2_chk_ir_asc
    Select Expression
    ....-> Filter
  - ........-> Table "TEST2" as "V2_CHK_IR_ASC TEST2" Access By ID
  + ........-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_IR_ASC" "PUBLIC"."TEST2" Access By ID
  - ............-> Index "TEST2_PARTIAL_ASC" Full Scan
  + ............-> Index "PUBLIC"."TEST2_PARTIAL_ASC" Full Scan
    3 lowered "L" normal
    4 UPPERED "L" normal
    1 lowered "L" w/accent
    2 UPPERED "L" w/accent
    Query: select * from v2_chk_ir_dec
    Select Expression
    ....-> Sort (record length: NN, key length: MM)
    ........-> Filter
  - ............-> Table "TEST2" as "V2_CHK_IR_DEC TEST2" Access By ID
  + ............-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_IR_DEC" "PUBLIC"."TEST2" Access By ID
    ................-> Bitmap
  - ....................-> Index "TEST2_PARTIAL_ASC" Full Scan
  + ....................-> Index "PUBLIC"."TEST2_PARTIAL_ASC" Full Scan
    2 UPPERED "L" w/accent
    1 lowered "L" w/accent
    4 UPPERED "L" normal
    3 lowered "L" normal
    After alter domain dm_utf8 type varchar(1) character set utf8:
    Query: select * from v1_chk_nr
    Select Expression
    ....-> Sort (record length: NN, key length: MM)
    ........-> Filter
  - ............-> Table "TEST1" as "V1_CHK_NR TEST1" Full Scan
  + ............-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_NR" "PUBLIC"."TEST1" Full Scan
    3 lowered "D" normal
    Query: select * from v1_chk_ir_asc
    Select Expression
    ....-> Filter
  - ........-> Table "TEST1" as "V1_CHK_IR_ASC TEST1" Access By ID
  + ........-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_IR_ASC" "PUBLIC"."TEST1" Access By ID
  - ............-> Index "TEST1_ASC" Range Scan (full match)
  + ............-> Index "PUBLIC"."TEST1_ASC" Range Scan (full match)
    3 lowered "D" normal
    Query: select * from v1_chk_ir_dec
    Select Expression
    ....-> Filter
  - ........-> Table "TEST1" as "V1_CHK_IR_DEC TEST1" Access By ID
  + ........-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_IR_DEC" "PUBLIC"."TEST1" Access By ID
  - ............-> Index "TEST1_DEC" Range Scan (full match)
  + ............-> Index "PUBLIC"."TEST1_DEC" Range Scan (full match)
    3 lowered "D" normal
    Query: select * from v2_chk_nr
    Select Expression
    ....-> Sort (record length: NN, key length: MM)
    ........-> Filter
  - ............-> Table "TEST2" as "V2_CHK_NR TEST2" Full Scan
  + ............-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_NR" "PUBLIC"."TEST2" Full Scan
    3 lowered "L" normal
    Query: select * from v2_chk_ir_asc
    Select Expression
    ....-> Filter
  - ........-> Table "TEST2" as "V2_CHK_IR_ASC TEST2" Access By ID
  + ........-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_IR_ASC" "PUBLIC"."TEST2" Access By ID
  - ............-> Index "TEST2_PARTIAL_ASC" Full Scan
  + ............-> Index "PUBLIC"."TEST2_PARTIAL_ASC" Full Scan
    3 lowered "L" normal
    Query: select * from v2_chk_ir_dec
    Select Expression
    ....-> Sort (record length: NN, key length: MM)
    ........-> Filter
  - ............-> Table "TEST2" as "V2_CHK_IR_DEC TEST2" Access By ID
  + ............-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_IR_DEC" "PUBLIC"."TEST2" Access By ID
    ................-> Bitmap
  - ....................-> Index "TEST2_PARTIAL_ASC" Full Scan
  + ....................-> Index "PUBLIC"."TEST2_PARTIAL_ASC" Full Scan
    3 lowered "L" normal

LOG DETAILS:

2025-07-02 14:36:27.577
2025-07-02 14:36:27.577 act = <firebird.qa.plugin.Action object at [hex]>
2025-07-02 14:36:27.577 capsys = <_pytest.capture.CaptureFixture object at [hex]>
2025-07-02 14:36:27.577
2025-07-02 14:36:27.577     @pytest.mark.version('>=6')
2025-07-02 14:36:27.577     def test_1(act: Action, capsys):
2025-07-02 14:36:27.577         qry_map = {
2025-07-02 14:36:27.577             1 : 'select * from v1_chk_nr'
2025-07-02 14:36:27.577            ,2 : 'select * from v1_chk_ir_asc'
2025-07-02 14:36:27.577            ,3 : 'select * from v1_chk_ir_dec'
2025-07-02 14:36:27.580            ,4 : 'select * from v2_chk_nr'
2025-07-02 14:36:27.580            ,5 : 'select * from v2_chk_ir_asc'
2025-07-02 14:36:27.581            ,6 : 'select * from v2_chk_ir_dec'
2025-07-02 14:36:27.581         }
2025-07-02 14:36:27.581
2025-07-02 14:36:27.581         alter_lst = (
2025-07-02 14:36:27.581             ''
2025-07-02 14:36:27.581            ,'alter domain dm_utf8 type varchar(1) character set utf8 collate unicode_ci'
2025-07-02 14:36:27.581            ,'alter domain dm_utf8 type varchar(1) character set utf8 collate unicode_ci_ai'
2025-07-02 14:36:27.581            ,'alter domain dm_utf8 type varchar(1) character set utf8'
2025-07-02 14:36:27.581         )
2025-07-02 14:36:27.581
2025-07-02 14:36:27.581         with act.db.connect(charset = 'utf8') as con:
2025-07-02 14:36:27.581             cur = con.cursor()
2025-07-02 14:36:27.581             for alter_i in alter_lst:
2025-07-02 14:36:27.581                 if alter_i.strip():
2025-07-02 14:36:27.581                     con.execute_immediate(alter_i)
2025-07-02 14:36:27.581                     con.commit()
2025-07-02 14:36:27.581                     print(f'\nAfter {alter_i}:')
2025-07-02 14:36:27.581                 else:
2025-07-02 14:36:27.581                     print('Initial state:')
2025-07-02 14:36:27.581
2025-07-02 14:36:27.582                 for k, v in qry_map.items():
2025-07-02 14:36:27.582                     ps, rs = None, None
2025-07-02 14:36:27.582                     try:
2025-07-02 14:36:27.582                         ps = cur.prepare(v)
2025-07-02 14:36:27.582
2025-07-02 14:36:27.582                         print('Query:', v)
2025-07-02 14:36:27.582                         # Print explained plan with padding eash line by dots in order to see indentations:
2025-07-02 14:36:27.582                         print( '\n'.join([replace_leading(s) for s in ps.detailed_plan.split('\n')]) )
2025-07-02 14:36:27.582                         print('')
2025-07-02 14:36:27.582
2025-07-02 14:36:27.582                         # ::: NB ::: 'ps' returns data, i.e. this is SELECTABLE expression.
2025-07-02 14:36:27.582                         # We have to store result of cur.execute(<psInstance>) in order to
2025-07-02 14:36:27.582                         # close it explicitly.
2025-07-02 14:36:27.582                         # Otherwise AV can occur during Python garbage collection and this
2025-07-02 14:36:27.582                         # causes pytest to hang on its final point.
2025-07-02 14:36:27.582                         # Explained by hvlad, email 26.10.24 17:42
2025-07-02 14:36:27.582                         rs = cur.execute(ps)
2025-07-02 14:36:27.582                         for r in rs:
2025-07-02 14:36:27.582                             print(r[0], r[1])
2025-07-02 14:36:27.583                     except DatabaseError as e:
2025-07-02 14:36:27.583                         print(e.__str__())
2025-07-02 14:36:27.583                         print(e.gds_codes)
2025-07-02 14:36:27.583                     finally:
2025-07-02 14:36:27.583                         if rs:
2025-07-02 14:36:27.583                             rs.close() # <<< EXPLICITLY CLOSING CURSOR RESULTS
2025-07-02 14:36:27.583                         if ps:
2025-07-02 14:36:27.583                             ps.free()
2025-07-02 14:36:27.583
2025-07-02 14:36:27.583
2025-07-02 14:36:27.583         expected_stdout = """
2025-07-02 14:36:27.583             Initial state:
2025-07-02 14:36:27.583
2025-07-02 14:36:27.583             Query: select * from v1_chk_nr
2025-07-02 14:36:27.583             Select Expression
2025-07-02 14:36:27.583             ....-> Sort (record length: NN, key length: MM)
2025-07-02 14:36:27.583             ........-> Filter
2025-07-02 14:36:27.583             ............-> Table "TEST1" as "V1_CHK_NR TEST1" Full Scan
2025-07-02 14:36:27.583             3 lowered "D" normal
2025-07-02 14:36:27.583             Query: select * from v1_chk_ir_asc
2025-07-02 14:36:27.584             Select Expression
2025-07-02 14:36:27.584             ....-> Filter
2025-07-02 14:36:27.584             ........-> Table "TEST1" as "V1_CHK_IR_ASC TEST1" Access By ID
2025-07-02 14:36:27.584             ............-> Index "TEST1_ASC" Range Scan (full match)
2025-07-02 14:36:27.584             3 lowered "D" normal
2025-07-02 14:36:27.584             Query: select * from v1_chk_ir_dec
2025-07-02 14:36:27.584             Select Expression
2025-07-02 14:36:27.584             ....-> Filter
2025-07-02 14:36:27.584             ........-> Table "TEST1" as "V1_CHK_IR_DEC TEST1" Access By ID
2025-07-02 14:36:27.584             ............-> Index "TEST1_DEC" Range Scan (full match)
2025-07-02 14:36:27.584             3 lowered "D" normal
2025-07-02 14:36:27.584             Query: select * from v2_chk_nr
2025-07-02 14:36:27.584             Select Expression
2025-07-02 14:36:27.584             ....-> Sort (record length: NN, key length: MM)
2025-07-02 14:36:27.584             ........-> Filter
2025-07-02 14:36:27.584             ............-> Table "TEST2" as "V2_CHK_NR TEST2" Full Scan
2025-07-02 14:36:27.584             3 lowered "L" normal
2025-07-02 14:36:27.584             Query: select * from v2_chk_ir_asc
2025-07-02 14:36:27.584             Select Expression
2025-07-02 14:36:27.584             ....-> Filter
2025-07-02 14:36:27.584             ........-> Table "TEST2" as "V2_CHK_IR_ASC TEST2" Access By ID
2025-07-02 14:36:27.585             ............-> Index "TEST2_PARTIAL_ASC" Full Scan
2025-07-02 14:36:27.585             3 lowered "L" normal
2025-07-02 14:36:27.585             Query: select * from v2_chk_ir_dec
2025-07-02 14:36:27.585             Select Expression
2025-07-02 14:36:27.585             ....-> Sort (record length: NN, key length: MM)
2025-07-02 14:36:27.585             ........-> Filter
2025-07-02 14:36:27.585             ............-> Table "TEST2" as "V2_CHK_IR_DEC TEST2" Access By ID
2025-07-02 14:36:27.585             ................-> Bitmap
2025-07-02 14:36:27.585             ....................-> Index "TEST2_PARTIAL_ASC" Full Scan
2025-07-02 14:36:27.585             3 lowered "L" normal
2025-07-02 14:36:27.585
2025-07-02 14:36:27.585
2025-07-02 14:36:27.585             After alter domain dm_utf8 type varchar(1) character set utf8 collate unicode_ci:
2025-07-02 14:36:27.585
2025-07-02 14:36:27.585             Query: select * from v1_chk_nr
2025-07-02 14:36:27.585             Select Expression
2025-07-02 14:36:27.585             ....-> Sort (record length: NN, key length: MM)
2025-07-02 14:36:27.585             ........-> Filter
2025-07-02 14:36:27.585             ............-> Table "TEST1" as "V1_CHK_NR TEST1" Full Scan
2025-07-02 14:36:27.585             3 lowered "D" normal
2025-07-02 14:36:27.586             4 UPPERED "D" normal
2025-07-02 14:36:27.586             Query: select * from v1_chk_ir_asc
2025-07-02 14:36:27.586             Select Expression
2025-07-02 14:36:27.586             ....-> Filter
2025-07-02 14:36:27.586             ........-> Table "TEST1" as "V1_CHK_IR_ASC TEST1" Access By ID
2025-07-02 14:36:27.586             ............-> Index "TEST1_ASC" Range Scan (full match)
2025-07-02 14:36:27.586             3 lowered "D" normal
2025-07-02 14:36:27.586             4 UPPERED "D" normal
2025-07-02 14:36:27.586             Query: select * from v1_chk_ir_dec
2025-07-02 14:36:27.586             Select Expression
2025-07-02 14:36:27.586             ....-> Filter
2025-07-02 14:36:27.586             ........-> Table "TEST1" as "V1_CHK_IR_DEC TEST1" Access By ID
2025-07-02 14:36:27.586             ............-> Index "TEST1_DEC" Range Scan (full match)
2025-07-02 14:36:27.586             4 UPPERED "D" normal
2025-07-02 14:36:27.586             3 lowered "D" normal
2025-07-02 14:36:27.586             Query: select * from v2_chk_nr
2025-07-02 14:36:27.586             Select Expression
2025-07-02 14:36:27.586             ....-> Sort (record length: NN, key length: MM)
2025-07-02 14:36:27.586             ........-> Filter
2025-07-02 14:36:27.586             ............-> Table "TEST2" as "V2_CHK_NR TEST2" Full Scan
2025-07-02 14:36:27.586             3 lowered "L" normal
2025-07-02 14:36:27.587             4 UPPERED "L" normal
2025-07-02 14:36:27.587             Query: select * from v2_chk_ir_asc
2025-07-02 14:36:27.587             Select Expression
2025-07-02 14:36:27.587             ....-> Filter
2025-07-02 14:36:27.587             ........-> Table "TEST2" as "V2_CHK_IR_ASC TEST2" Access By ID
2025-07-02 14:36:27.587             ............-> Index "TEST2_PARTIAL_ASC" Full Scan
2025-07-02 14:36:27.587             3 lowered "L" normal
2025-07-02 14:36:27.587             4 UPPERED "L" normal
2025-07-02 14:36:27.587             Query: select * from v2_chk_ir_dec
2025-07-02 14:36:27.587             Select Expression
2025-07-02 14:36:27.587             ....-> Sort (record length: NN, key length: MM)
2025-07-02 14:36:27.587             ........-> Filter
2025-07-02 14:36:27.587             ............-> Table "TEST2" as "V2_CHK_IR_DEC TEST2" Access By ID
2025-07-02 14:36:27.587             ................-> Bitmap
2025-07-02 14:36:27.587             ....................-> Index "TEST2_PARTIAL_ASC" Full Scan
2025-07-02 14:36:27.587             4 UPPERED "L" normal
2025-07-02 14:36:27.587             3 lowered "L" normal
2025-07-02 14:36:27.587
2025-07-02 14:36:27.588
2025-07-02 14:36:27.588             After alter domain dm_utf8 type varchar(1) character set utf8 collate unicode_ci_ai:
2025-07-02 14:36:27.588
2025-07-02 14:36:27.588             Query: select * from v1_chk_nr
2025-07-02 14:36:27.588             Select Expression
2025-07-02 14:36:27.588             ....-> Sort (record length: NN, key length: MM)
2025-07-02 14:36:27.588             ........-> Filter
2025-07-02 14:36:27.588             ............-> Table "TEST1" as "V1_CHK_NR TEST1" Full Scan
2025-07-02 14:36:27.588             1 lowered "D" w/accent
2025-07-02 14:36:27.588             2 UPPERED "D" w/accent
2025-07-02 14:36:27.588             3 lowered "D" normal
2025-07-02 14:36:27.588             4 UPPERED "D" normal
2025-07-02 14:36:27.588             Query: select * from v1_chk_ir_asc
2025-07-02 14:36:27.588             Select Expression
2025-07-02 14:36:27.588             ....-> Filter
2025-07-02 14:36:27.588             ........-> Table "TEST1" as "V1_CHK_IR_ASC TEST1" Access By ID
2025-07-02 14:36:27.588             ............-> Index "TEST1_ASC" Range Scan (full match)
2025-07-02 14:36:27.588             3 lowered "D" normal
2025-07-02 14:36:27.588             4 UPPERED "D" normal
2025-07-02 14:36:27.588             1 lowered "D" w/accent
2025-07-02 14:36:27.588             2 UPPERED "D" w/accent
2025-07-02 14:36:27.589             Query: select * from v1_chk_ir_dec
2025-07-02 14:36:27.589             Select Expression
2025-07-02 14:36:27.589             ....-> Filter
2025-07-02 14:36:27.589             ........-> Table "TEST1" as "V1_CHK_IR_DEC TEST1" Access By ID
2025-07-02 14:36:27.589             ............-> Index "TEST1_DEC" Range Scan (full match)
2025-07-02 14:36:27.589             2 UPPERED "D" w/accent
2025-07-02 14:36:27.589             1 lowered "D" w/accent
2025-07-02 14:36:27.589             4 UPPERED "D" normal
2025-07-02 14:36:27.589             3 lowered "D" normal
2025-07-02 14:36:27.589             Query: select * from v2_chk_nr
2025-07-02 14:36:27.589             Select Expression
2025-07-02 14:36:27.589             ....-> Sort (record length: NN, key length: MM)
2025-07-02 14:36:27.589             ........-> Filter
2025-07-02 14:36:27.589             ............-> Table "TEST2" as "V2_CHK_NR TEST2" Full Scan
2025-07-02 14:36:27.589             1 lowered "L" w/accent
2025-07-02 14:36:27.589             2 UPPERED "L" w/accent
2025-07-02 14:36:27.589             3 lowered "L" normal
2025-07-02 14:36:27.589             4 UPPERED "L" normal
2025-07-02 14:36:27.589             Query: select * from v2_chk_ir_asc
2025-07-02 14:36:27.589             Select Expression
2025-07-02 14:36:27.590             ....-> Filter
2025-07-02 14:36:27.590             ........-> Table "TEST2" as "V2_CHK_IR_ASC TEST2" Access By ID
2025-07-02 14:36:27.590             ............-> Index "TEST2_PARTIAL_ASC" Full Scan
2025-07-02 14:36:27.590             3 lowered "L" normal
2025-07-02 14:36:27.590             4 UPPERED "L" normal
2025-07-02 14:36:27.590             1 lowered "L" w/accent
2025-07-02 14:36:27.590             2 UPPERED "L" w/accent
2025-07-02 14:36:27.590             Query: select * from v2_chk_ir_dec
2025-07-02 14:36:27.590             Select Expression
2025-07-02 14:36:27.590             ....-> Sort (record length: NN, key length: MM)
2025-07-02 14:36:27.590             ........-> Filter
2025-07-02 14:36:27.590             ............-> Table "TEST2" as "V2_CHK_IR_DEC TEST2" Access By ID
2025-07-02 14:36:27.590             ................-> Bitmap
2025-07-02 14:36:27.590             ....................-> Index "TEST2_PARTIAL_ASC" Full Scan
2025-07-02 14:36:27.590             2 UPPERED "L" w/accent
2025-07-02 14:36:27.590             1 lowered "L" w/accent
2025-07-02 14:36:27.590             4 UPPERED "L" normal
2025-07-02 14:36:27.590             3 lowered "L" normal
2025-07-02 14:36:27.590
2025-07-02 14:36:27.590
2025-07-02 14:36:27.591             After alter domain dm_utf8 type varchar(1) character set utf8:
2025-07-02 14:36:27.591
2025-07-02 14:36:27.591             Query: select * from v1_chk_nr
2025-07-02 14:36:27.591             Select Expression
2025-07-02 14:36:27.591             ....-> Sort (record length: NN, key length: MM)
2025-07-02 14:36:27.591             ........-> Filter
2025-07-02 14:36:27.591             ............-> Table "TEST1" as "V1_CHK_NR TEST1" Full Scan
2025-07-02 14:36:27.591             3 lowered "D" normal
2025-07-02 14:36:27.591             Query: select * from v1_chk_ir_asc
2025-07-02 14:36:27.591             Select Expression
2025-07-02 14:36:27.591             ....-> Filter
2025-07-02 14:36:27.591             ........-> Table "TEST1" as "V1_CHK_IR_ASC TEST1" Access By ID
2025-07-02 14:36:27.591             ............-> Index "TEST1_ASC" Range Scan (full match)
2025-07-02 14:36:27.591             3 lowered "D" normal
2025-07-02 14:36:27.591             Query: select * from v1_chk_ir_dec
2025-07-02 14:36:27.591             Select Expression
2025-07-02 14:36:27.591             ....-> Filter
2025-07-02 14:36:27.591             ........-> Table "TEST1" as "V1_CHK_IR_DEC TEST1" Access By ID
2025-07-02 14:36:27.591             ............-> Index "TEST1_DEC" Range Scan (full match)
2025-07-02 14:36:27.591             3 lowered "D" normal
2025-07-02 14:36:27.591             Query: select * from v2_chk_nr
2025-07-02 14:36:27.592             Select Expression
2025-07-02 14:36:27.592             ....-> Sort (record length: NN, key length: MM)
2025-07-02 14:36:27.592             ........-> Filter
2025-07-02 14:36:27.592             ............-> Table "TEST2" as "V2_CHK_NR TEST2" Full Scan
2025-07-02 14:36:27.592             3 lowered "L" normal
2025-07-02 14:36:27.592             Query: select * from v2_chk_ir_asc
2025-07-02 14:36:27.592             Select Expression
2025-07-02 14:36:27.592             ....-> Filter
2025-07-02 14:36:27.592             ........-> Table "TEST2" as "V2_CHK_IR_ASC TEST2" Access By ID
2025-07-02 14:36:27.592             ............-> Index "TEST2_PARTIAL_ASC" Full Scan
2025-07-02 14:36:27.592             3 lowered "L" normal
2025-07-02 14:36:27.592             Query: select * from v2_chk_ir_dec
2025-07-02 14:36:27.592             Select Expression
2025-07-02 14:36:27.592             ....-> Sort (record length: NN, key length: MM)
2025-07-02 14:36:27.592             ........-> Filter
2025-07-02 14:36:27.592             ............-> Table "TEST2" as "V2_CHK_IR_DEC TEST2" Access By ID
2025-07-02 14:36:27.592             ................-> Bitmap
2025-07-02 14:36:27.592             ....................-> Index "TEST2_PARTIAL_ASC" Full Scan
2025-07-02 14:36:27.592             3 lowered "L" normal
2025-07-02 14:36:27.592         """
2025-07-02 14:36:27.593
2025-07-02 14:36:27.593         act.expected_stdout = expected_stdout
2025-07-02 14:36:27.593
2025-07-02 14:36:27.593         act.stdout = capsys.readouterr().out
2025-07-02 14:36:27.593 >       assert act.clean_stdout == act.clean_expected_stdout
2025-07-02 14:36:27.593 E       assert
2025-07-02 14:36:27.593 E           Initial state:
2025-07-02 14:36:27.593 E           Query: select * from v1_chk_nr
2025-07-02 14:36:27.593 E           Select Expression
2025-07-02 14:36:27.593 E           ....-> Sort (record length: NN, key length: MM)
2025-07-02 14:36:27.593 E           ........-> Filter
2025-07-02 14:36:27.593 E         - ............-> Table "TEST1" as "V1_CHK_NR TEST1" Full Scan
2025-07-02 14:36:27.593 E         + ............-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_NR" "PUBLIC"."TEST1" Full Scan
2025-07-02 14:36:27.593 E           3 lowered "D" normal
2025-07-02 14:36:27.593 E           Query: select * from v1_chk_ir_asc
2025-07-02 14:36:27.593 E           Select Expression
2025-07-02 14:36:27.593 E           ....-> Filter
2025-07-02 14:36:27.593 E         - ........-> Table "TEST1" as "V1_CHK_IR_ASC TEST1" Access By ID
2025-07-02 14:36:27.599 E         + ........-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_IR_ASC" "PUBLIC"."TEST1" Access By ID
2025-07-02 14:36:27.599 E         - ............-> Index "TEST1_ASC" Range Scan (full match)
2025-07-02 14:36:27.599 E         + ............-> Index "PUBLIC"."TEST1_ASC" Range Scan (full match)
2025-07-02 14:36:27.599 E           3 lowered "D" normal
2025-07-02 14:36:27.599 E           Query: select * from v1_chk_ir_dec
2025-07-02 14:36:27.599 E           Select Expression
2025-07-02 14:36:27.599 E           ....-> Filter
2025-07-02 14:36:27.599 E         - ........-> Table "TEST1" as "V1_CHK_IR_DEC TEST1" Access By ID
2025-07-02 14:36:27.599 E         + ........-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_IR_DEC" "PUBLIC"."TEST1" Access By ID
2025-07-02 14:36:27.599 E         - ............-> Index "TEST1_DEC" Range Scan (full match)
2025-07-02 14:36:27.599 E         + ............-> Index "PUBLIC"."TEST1_DEC" Range Scan (full match)
2025-07-02 14:36:27.599 E           3 lowered "D" normal
2025-07-02 14:36:27.599 E           Query: select * from v2_chk_nr
2025-07-02 14:36:27.600 E           Select Expression
2025-07-02 14:36:27.600 E           ....-> Sort (record length: NN, key length: MM)
2025-07-02 14:36:27.600 E           ........-> Filter
2025-07-02 14:36:27.600 E         - ............-> Table "TEST2" as "V2_CHK_NR TEST2" Full Scan
2025-07-02 14:36:27.600 E         + ............-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_NR" "PUBLIC"."TEST2" Full Scan
2025-07-02 14:36:27.600 E           3 lowered "L" normal
2025-07-02 14:36:27.600 E           Query: select * from v2_chk_ir_asc
2025-07-02 14:36:27.600 E           Select Expression
2025-07-02 14:36:27.600 E           ....-> Filter
2025-07-02 14:36:27.600 E         - ........-> Table "TEST2" as "V2_CHK_IR_ASC TEST2" Access By ID
2025-07-02 14:36:27.600 E         + ........-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_IR_ASC" "PUBLIC"."TEST2" Access By ID
2025-07-02 14:36:27.600 E         - ............-> Index "TEST2_PARTIAL_ASC" Full Scan
2025-07-02 14:36:27.600 E         + ............-> Index "PUBLIC"."TEST2_PARTIAL_ASC" Full Scan
2025-07-02 14:36:27.600 E           3 lowered "L" normal
2025-07-02 14:36:27.600 E           Query: select * from v2_chk_ir_dec
2025-07-02 14:36:27.601 E           Select Expression
2025-07-02 14:36:27.601 E           ....-> Sort (record length: NN, key length: MM)
2025-07-02 14:36:27.601 E           ........-> Filter
2025-07-02 14:36:27.601 E         - ............-> Table "TEST2" as "V2_CHK_IR_DEC TEST2" Access By ID
2025-07-02 14:36:27.601 E         + ............-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_IR_DEC" "PUBLIC"."TEST2" Access By ID
2025-07-02 14:36:27.601 E           ................-> Bitmap
2025-07-02 14:36:27.601 E         - ....................-> Index "TEST2_PARTIAL_ASC" Full Scan
2025-07-02 14:36:27.601 E         + ....................-> Index "PUBLIC"."TEST2_PARTIAL_ASC" Full Scan
2025-07-02 14:36:27.601 E           3 lowered "L" normal
2025-07-02 14:36:27.601 E           After alter domain dm_utf8 type varchar(1) character set utf8 collate unicode_ci:
2025-07-02 14:36:27.601 E           Query: select * from v1_chk_nr
2025-07-02 14:36:27.601 E           Select Expression
2025-07-02 14:36:27.601 E           ....-> Sort (record length: NN, key length: MM)
2025-07-02 14:36:27.601 E           ........-> Filter
2025-07-02 14:36:27.601 E         - ............-> Table "TEST1" as "V1_CHK_NR TEST1" Full Scan
2025-07-02 14:36:27.601 E         + ............-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_NR" "PUBLIC"."TEST1" Full Scan
2025-07-02 14:36:27.602 E           3 lowered "D" normal
2025-07-02 14:36:27.602 E           4 UPPERED "D" normal
2025-07-02 14:36:27.602 E           Query: select * from v1_chk_ir_asc
2025-07-02 14:36:27.602 E           Select Expression
2025-07-02 14:36:27.602 E           ....-> Filter
2025-07-02 14:36:27.602 E         - ........-> Table "TEST1" as "V1_CHK_IR_ASC TEST1" Access By ID
2025-07-02 14:36:27.602 E         + ........-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_IR_ASC" "PUBLIC"."TEST1" Access By ID
2025-07-02 14:36:27.602 E         - ............-> Index "TEST1_ASC" Range Scan (full match)
2025-07-02 14:36:27.602 E         + ............-> Index "PUBLIC"."TEST1_ASC" Range Scan (full match)
2025-07-02 14:36:27.602 E           3 lowered "D" normal
2025-07-02 14:36:27.602 E           4 UPPERED "D" normal
2025-07-02 14:36:27.602 E           Query: select * from v1_chk_ir_dec
2025-07-02 14:36:27.602 E           Select Expression
2025-07-02 14:36:27.602 E           ....-> Filter
2025-07-02 14:36:27.603 E         - ........-> Table "TEST1" as "V1_CHK_IR_DEC TEST1" Access By ID
2025-07-02 14:36:27.603 E         + ........-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_IR_DEC" "PUBLIC"."TEST1" Access By ID
2025-07-02 14:36:27.603 E         - ............-> Index "TEST1_DEC" Range Scan (full match)
2025-07-02 14:36:27.603 E         + ............-> Index "PUBLIC"."TEST1_DEC" Range Scan (full match)
2025-07-02 14:36:27.603 E           4 UPPERED "D" normal
2025-07-02 14:36:27.603 E           3 lowered "D" normal
2025-07-02 14:36:27.603 E           Query: select * from v2_chk_nr
2025-07-02 14:36:27.603 E           Select Expression
2025-07-02 14:36:27.603 E           ....-> Sort (record length: NN, key length: MM)
2025-07-02 14:36:27.603 E           ........-> Filter
2025-07-02 14:36:27.603 E         - ............-> Table "TEST2" as "V2_CHK_NR TEST2" Full Scan
2025-07-02 14:36:27.603 E         + ............-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_NR" "PUBLIC"."TEST2" Full Scan
2025-07-02 14:36:27.603 E           3 lowered "L" normal
2025-07-02 14:36:27.603 E           4 UPPERED "L" normal
2025-07-02 14:36:27.603 E           Query: select * from v2_chk_ir_asc
2025-07-02 14:36:27.604 E           Select Expression
2025-07-02 14:36:27.604 E           ....-> Filter
2025-07-02 14:36:27.604 E         - ........-> Table "TEST2" as "V2_CHK_IR_ASC TEST2" Access By ID
2025-07-02 14:36:27.604 E         + ........-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_IR_ASC" "PUBLIC"."TEST2" Access By ID
2025-07-02 14:36:27.604 E         - ............-> Index "TEST2_PARTIAL_ASC" Full Scan
2025-07-02 14:36:27.604 E         + ............-> Index "PUBLIC"."TEST2_PARTIAL_ASC" Full Scan
2025-07-02 14:36:27.604 E           3 lowered "L" normal
2025-07-02 14:36:27.604 E           4 UPPERED "L" normal
2025-07-02 14:36:27.604 E           Query: select * from v2_chk_ir_dec
2025-07-02 14:36:27.604 E           Select Expression
2025-07-02 14:36:27.604 E           ....-> Sort (record length: NN, key length: MM)
2025-07-02 14:36:27.604 E           ........-> Filter
2025-07-02 14:36:27.604 E         - ............-> Table "TEST2" as "V2_CHK_IR_DEC TEST2" Access By ID
2025-07-02 14:36:27.604 E         + ............-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_IR_DEC" "PUBLIC"."TEST2" Access By ID
2025-07-02 14:36:27.604 E           ................-> Bitmap
2025-07-02 14:36:27.605 E         - ....................-> Index "TEST2_PARTIAL_ASC" Full Scan
2025-07-02 14:36:27.605 E         + ....................-> Index "PUBLIC"."TEST2_PARTIAL_ASC" Full Scan
2025-07-02 14:36:27.605 E           4 UPPERED "L" normal
2025-07-02 14:36:27.605 E           3 lowered "L" normal
2025-07-02 14:36:27.605 E           After alter domain dm_utf8 type varchar(1) character set utf8 collate unicode_ci_ai:
2025-07-02 14:36:27.605 E           Query: select * from v1_chk_nr
2025-07-02 14:36:27.605 E           Select Expression
2025-07-02 14:36:27.605 E           ....-> Sort (record length: NN, key length: MM)
2025-07-02 14:36:27.605 E           ........-> Filter
2025-07-02 14:36:27.605 E         - ............-> Table "TEST1" as "V1_CHK_NR TEST1" Full Scan
2025-07-02 14:36:27.605 E         + ............-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_NR" "PUBLIC"."TEST1" Full Scan
2025-07-02 14:36:27.605 E           1 lowered "D" w/accent
2025-07-02 14:36:27.605 E           2 UPPERED "D" w/accent
2025-07-02 14:36:27.605 E           3 lowered "D" normal
2025-07-02 14:36:27.605 E           4 UPPERED "D" normal
2025-07-02 14:36:27.605 E           Query: select * from v1_chk_ir_asc
2025-07-02 14:36:27.605 E           Select Expression
2025-07-02 14:36:27.605 E           ....-> Filter
2025-07-02 14:36:27.606 E         - ........-> Table "TEST1" as "V1_CHK_IR_ASC TEST1" Access By ID
2025-07-02 14:36:27.606 E         + ........-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_IR_ASC" "PUBLIC"."TEST1" Access By ID
2025-07-02 14:36:27.606 E         - ............-> Index "TEST1_ASC" Range Scan (full match)
2025-07-02 14:36:27.606 E         + ............-> Index "PUBLIC"."TEST1_ASC" Range Scan (full match)
2025-07-02 14:36:27.606 E           3 lowered "D" normal
2025-07-02 14:36:27.606 E           4 UPPERED "D" normal
2025-07-02 14:36:27.606 E           1 lowered "D" w/accent
2025-07-02 14:36:27.606 E           2 UPPERED "D" w/accent
2025-07-02 14:36:27.606 E           Query: select * from v1_chk_ir_dec
2025-07-02 14:36:27.606 E           Select Expression
2025-07-02 14:36:27.606 E           ....-> Filter
2025-07-02 14:36:27.606 E         - ........-> Table "TEST1" as "V1_CHK_IR_DEC TEST1" Access By ID
2025-07-02 14:36:27.606 E         + ........-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_IR_DEC" "PUBLIC"."TEST1" Access By ID
2025-07-02 14:36:27.606 E         - ............-> Index "TEST1_DEC" Range Scan (full match)
2025-07-02 14:36:27.606 E         + ............-> Index "PUBLIC"."TEST1_DEC" Range Scan (full match)
2025-07-02 14:36:27.607 E           2 UPPERED "D" w/accent
2025-07-02 14:36:27.607 E           1 lowered "D" w/accent
2025-07-02 14:36:27.607 E           4 UPPERED "D" normal
2025-07-02 14:36:27.607 E           3 lowered "D" normal
2025-07-02 14:36:27.607 E           Query: select * from v2_chk_nr
2025-07-02 14:36:27.607 E           Select Expression
2025-07-02 14:36:27.607 E           ....-> Sort (record length: NN, key length: MM)
2025-07-02 14:36:27.607 E           ........-> Filter
2025-07-02 14:36:27.607 E         - ............-> Table "TEST2" as "V2_CHK_NR TEST2" Full Scan
2025-07-02 14:36:27.607 E         + ............-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_NR" "PUBLIC"."TEST2" Full Scan
2025-07-02 14:36:27.607 E           1 lowered "L" w/accent
2025-07-02 14:36:27.607 E           2 UPPERED "L" w/accent
2025-07-02 14:36:27.607 E           3 lowered "L" normal
2025-07-02 14:36:27.607 E           4 UPPERED "L" normal
2025-07-02 14:36:27.607 E           Query: select * from v2_chk_ir_asc
2025-07-02 14:36:27.607 E           Select Expression
2025-07-02 14:36:27.608 E           ....-> Filter
2025-07-02 14:36:27.608 E         - ........-> Table "TEST2" as "V2_CHK_IR_ASC TEST2" Access By ID
2025-07-02 14:36:27.608 E         + ........-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_IR_ASC" "PUBLIC"."TEST2" Access By ID
2025-07-02 14:36:27.608 E         - ............-> Index "TEST2_PARTIAL_ASC" Full Scan
2025-07-02 14:36:27.608 E         + ............-> Index "PUBLIC"."TEST2_PARTIAL_ASC" Full Scan
2025-07-02 14:36:27.608 E           3 lowered "L" normal
2025-07-02 14:36:27.608 E           4 UPPERED "L" normal
2025-07-02 14:36:27.608 E           1 lowered "L" w/accent
2025-07-02 14:36:27.608 E           2 UPPERED "L" w/accent
2025-07-02 14:36:27.608 E           Query: select * from v2_chk_ir_dec
2025-07-02 14:36:27.608 E           Select Expression
2025-07-02 14:36:27.608 E           ....-> Sort (record length: NN, key length: MM)
2025-07-02 14:36:27.608 E           ........-> Filter
2025-07-02 14:36:27.608 E         - ............-> Table "TEST2" as "V2_CHK_IR_DEC TEST2" Access By ID
2025-07-02 14:36:27.608 E         + ............-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_IR_DEC" "PUBLIC"."TEST2" Access By ID
2025-07-02 14:36:27.609 E           ................-> Bitmap
2025-07-02 14:36:27.609 E         - ....................-> Index "TEST2_PARTIAL_ASC" Full Scan
2025-07-02 14:36:27.609 E         + ....................-> Index "PUBLIC"."TEST2_PARTIAL_ASC" Full Scan
2025-07-02 14:36:27.609 E           2 UPPERED "L" w/accent
2025-07-02 14:36:27.609 E           1 lowered "L" w/accent
2025-07-02 14:36:27.609 E           4 UPPERED "L" normal
2025-07-02 14:36:27.609 E           3 lowered "L" normal
2025-07-02 14:36:27.609 E           After alter domain dm_utf8 type varchar(1) character set utf8:
2025-07-02 14:36:27.609 E           Query: select * from v1_chk_nr
2025-07-02 14:36:27.609 E           Select Expression
2025-07-02 14:36:27.609 E           ....-> Sort (record length: NN, key length: MM)
2025-07-02 14:36:27.609 E           ........-> Filter
2025-07-02 14:36:27.609 E         - ............-> Table "TEST1" as "V1_CHK_NR TEST1" Full Scan
2025-07-02 14:36:27.609 E         + ............-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_NR" "PUBLIC"."TEST1" Full Scan
2025-07-02 14:36:27.609 E           3 lowered "D" normal
2025-07-02 14:36:27.609 E           Query: select * from v1_chk_ir_asc
2025-07-02 14:36:27.609 E           Select Expression
2025-07-02 14:36:27.612 E           ....-> Filter
2025-07-02 14:36:27.613 E         - ........-> Table "TEST1" as "V1_CHK_IR_ASC TEST1" Access By ID
2025-07-02 14:36:27.613 E         + ........-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_IR_ASC" "PUBLIC"."TEST1" Access By ID
2025-07-02 14:36:27.613 E         - ............-> Index "TEST1_ASC" Range Scan (full match)
2025-07-02 14:36:27.613 E         + ............-> Index "PUBLIC"."TEST1_ASC" Range Scan (full match)
2025-07-02 14:36:27.613 E           3 lowered "D" normal
2025-07-02 14:36:27.613 E           Query: select * from v1_chk_ir_dec
2025-07-02 14:36:27.613 E           Select Expression
2025-07-02 14:36:27.613 E           ....-> Filter
2025-07-02 14:36:27.613 E         - ........-> Table "TEST1" as "V1_CHK_IR_DEC TEST1" Access By ID
2025-07-02 14:36:27.613 E         + ........-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_IR_DEC" "PUBLIC"."TEST1" Access By ID
2025-07-02 14:36:27.614 E         - ............-> Index "TEST1_DEC" Range Scan (full match)
2025-07-02 14:36:27.614 E         + ............-> Index "PUBLIC"."TEST1_DEC" Range Scan (full match)
2025-07-02 14:36:27.614 E           3 lowered "D" normal
2025-07-02 14:36:27.614 E           Query: select * from v2_chk_nr
2025-07-02 14:36:27.614 E           Select Expression
2025-07-02 14:36:27.614 E           ....-> Sort (record length: NN, key length: MM)
2025-07-02 14:36:27.614 E           ........-> Filter
2025-07-02 14:36:27.614 E         - ............-> Table "TEST2" as "V2_CHK_NR TEST2" Full Scan
2025-07-02 14:36:27.614 E         + ............-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_NR" "PUBLIC"."TEST2" Full Scan
2025-07-02 14:36:27.614 E           3 lowered "L" normal
2025-07-02 14:36:27.614 E           Query: select * from v2_chk_ir_asc
2025-07-02 14:36:27.614 E           Select Expression
2025-07-02 14:36:27.614 E           ....-> Filter
2025-07-02 14:36:27.614 E         - ........-> Table "TEST2" as "V2_CHK_IR_ASC TEST2" Access By ID
2025-07-02 14:36:27.614 E         + ........-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_IR_ASC" "PUBLIC"."TEST2" Access By ID
2025-07-02 14:36:27.615 E         - ............-> Index "TEST2_PARTIAL_ASC" Full Scan
2025-07-02 14:36:27.615 E         + ............-> Index "PUBLIC"."TEST2_PARTIAL_ASC" Full Scan
2025-07-02 14:36:27.615 E           3 lowered "L" normal
2025-07-02 14:36:27.615 E           Query: select * from v2_chk_ir_dec
2025-07-02 14:36:27.615 E           Select Expression
2025-07-02 14:36:27.615 E           ....-> Sort (record length: NN, key length: MM)
2025-07-02 14:36:27.615 E           ........-> Filter
2025-07-02 14:36:27.615 E         - ............-> Table "TEST2" as "V2_CHK_IR_DEC TEST2" Access By ID
2025-07-02 14:36:27.615 E         + ............-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_IR_DEC" "PUBLIC"."TEST2" Access By ID
2025-07-02 14:36:27.615 E           ................-> Bitmap
2025-07-02 14:36:27.615 E         - ....................-> Index "TEST2_PARTIAL_ASC" Full Scan
2025-07-02 14:36:27.615 E         + ....................-> Index "PUBLIC"."TEST2_PARTIAL_ASC" Full Scan
2025-07-02 14:36:27.615 E           3 lowered "L" normal
2025-07-02 14:36:27.615
2025-07-02 14:36:27.615 tests\bugs\gh_8434_test.py:371: AssertionError
2025-07-02 14:36:27.615 ---------------------------- Captured stdout setup ----------------------------
2025-07-02 14:36:27.616 Creating db: localhost:H:\QA\temp\qa2024.tmp\fbqa\test_11765\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]>
capsys = <_pytest.capture.CaptureFixture pytest object at [hex]>

    @pytest.mark.version('>=6')
    def test_1(act: Action, capsys):
        qry_map = {
            1 : 'select * from v1_chk_nr'
           ,2 : 'select * from v1_chk_ir_asc'
           ,3 : 'select * from v1_chk_ir_dec'
           ,4 : 'select * from v2_chk_nr'
           ,5 : 'select * from v2_chk_ir_asc'
           ,6 : 'select * from v2_chk_ir_dec'
        }
    
        alter_lst = (
            ''
           ,'alter domain dm_utf8 type varchar(1) character set utf8 collate unicode_ci'
           ,'alter domain dm_utf8 type varchar(1) character set utf8 collate unicode_ci_ai'
           ,'alter domain dm_utf8 type varchar(1) character set utf8'
        )
    
        with act.db.connect(charset = 'utf8') as con:
            cur = con.cursor()
            for alter_i in alter_lst:
                if alter_i.strip():
                    con.execute_immediate(alter_i)
                    con.commit()
                    print(f'\nAfter {alter_i}:')
                else:
                    print('Initial state:')
    
                for k, v in qry_map.items():
                    ps, rs = None, None
                    try:
                        ps = cur.prepare(v)
    
                        print('Query:', v)
                        # Print explained plan with padding eash line by dots in order to see indentations:
                        print( '\n'.join([replace_leading(s) for s in ps.detailed_plan.split('\n')]) )
                        print('')
    
                        # ::: NB ::: 'ps' returns data, i.e. this is SELECTABLE expression.
                        # We have to store result of cur.execute(<psInstance>) in order to
                        # close it explicitly.
                        # Otherwise AV can occur during Python garbage collection and this
                        # causes pytest to hang on its final point.
                        # Explained by hvlad, email 26.10.24 17:42
                        rs = cur.execute(ps)
                        for r in rs:
                            print(r[0], r[1])
                    except DatabaseError as e:
                        print(e.__str__())
                        print(e.gds_codes)
                    finally:
                        if rs:
                            rs.close() # <<< EXPLICITLY CLOSING CURSOR RESULTS
                        if ps:
                            ps.free()
    
    
        expected_stdout = """
            Initial state:
    
            Query: select * from v1_chk_nr
            Select Expression
            ....-> Sort (record length: NN, key length: MM)
            ........-> Filter
            ............-> Table "TEST1" as "V1_CHK_NR TEST1" Full Scan
            3 lowered "D" normal
            Query: select * from v1_chk_ir_asc
            Select Expression
            ....-> Filter
            ........-> Table "TEST1" as "V1_CHK_IR_ASC TEST1" Access By ID
            ............-> Index "TEST1_ASC" Range Scan (full match)
            3 lowered "D" normal
            Query: select * from v1_chk_ir_dec
            Select Expression
            ....-> Filter
            ........-> Table "TEST1" as "V1_CHK_IR_DEC TEST1" Access By ID
            ............-> Index "TEST1_DEC" Range Scan (full match)
            3 lowered "D" normal
            Query: select * from v2_chk_nr
            Select Expression
            ....-> Sort (record length: NN, key length: MM)
            ........-> Filter
            ............-> Table "TEST2" as "V2_CHK_NR TEST2" Full Scan
            3 lowered "L" normal
            Query: select * from v2_chk_ir_asc
            Select Expression
            ....-> Filter
            ........-> Table "TEST2" as "V2_CHK_IR_ASC TEST2" Access By ID
            ............-> Index "TEST2_PARTIAL_ASC" Full Scan
            3 lowered "L" normal
            Query: select * from v2_chk_ir_dec
            Select Expression
            ....-> Sort (record length: NN, key length: MM)
            ........-> Filter
            ............-> Table "TEST2" as "V2_CHK_IR_DEC TEST2" Access By ID
            ................-> Bitmap
            ....................-> Index "TEST2_PARTIAL_ASC" Full Scan
            3 lowered "L" normal
    
    
            After alter domain dm_utf8 type varchar(1) character set utf8 collate unicode_ci:
    
            Query: select * from v1_chk_nr
            Select Expression
            ....-> Sort (record length: NN, key length: MM)
            ........-> Filter
            ............-> Table "TEST1" as "V1_CHK_NR TEST1" Full Scan
            3 lowered "D" normal
            4 UPPERED "D" normal
            Query: select * from v1_chk_ir_asc
            Select Expression
            ....-> Filter
            ........-> Table "TEST1" as "V1_CHK_IR_ASC TEST1" Access By ID
            ............-> Index "TEST1_ASC" Range Scan (full match)
            3 lowered "D" normal
            4 UPPERED "D" normal
            Query: select * from v1_chk_ir_dec
            Select Expression
            ....-> Filter
            ........-> Table "TEST1" as "V1_CHK_IR_DEC TEST1" Access By ID
            ............-> Index "TEST1_DEC" Range Scan (full match)
            4 UPPERED "D" normal
            3 lowered "D" normal
            Query: select * from v2_chk_nr
            Select Expression
            ....-> Sort (record length: NN, key length: MM)
            ........-> Filter
            ............-> Table "TEST2" as "V2_CHK_NR TEST2" Full Scan
            3 lowered "L" normal
            4 UPPERED "L" normal
            Query: select * from v2_chk_ir_asc
            Select Expression
            ....-> Filter
            ........-> Table "TEST2" as "V2_CHK_IR_ASC TEST2" Access By ID
            ............-> Index "TEST2_PARTIAL_ASC" Full Scan
            3 lowered "L" normal
            4 UPPERED "L" normal
            Query: select * from v2_chk_ir_dec
            Select Expression
            ....-> Sort (record length: NN, key length: MM)
            ........-> Filter
            ............-> Table "TEST2" as "V2_CHK_IR_DEC TEST2" Access By ID
            ................-> Bitmap
            ....................-> Index "TEST2_PARTIAL_ASC" Full Scan
            4 UPPERED "L" normal
            3 lowered "L" normal
    
    
            After alter domain dm_utf8 type varchar(1) character set utf8 collate unicode_ci_ai:
    
            Query: select * from v1_chk_nr
            Select Expression
            ....-> Sort (record length: NN, key length: MM)
            ........-> Filter
            ............-> Table "TEST1" as "V1_CHK_NR TEST1" Full Scan
            1 lowered "D" w/accent
            2 UPPERED "D" w/accent
            3 lowered "D" normal
            4 UPPERED "D" normal
            Query: select * from v1_chk_ir_asc
            Select Expression
            ....-> Filter
            ........-> Table "TEST1" as "V1_CHK_IR_ASC TEST1" Access By ID
            ............-> Index "TEST1_ASC" Range Scan (full match)
            3 lowered "D" normal
            4 UPPERED "D" normal
            1 lowered "D" w/accent
            2 UPPERED "D" w/accent
            Query: select * from v1_chk_ir_dec
            Select Expression
            ....-> Filter
            ........-> Table "TEST1" as "V1_CHK_IR_DEC TEST1" Access By ID
            ............-> Index "TEST1_DEC" Range Scan (full match)
            2 UPPERED "D" w/accent
            1 lowered "D" w/accent
            4 UPPERED "D" normal
            3 lowered "D" normal
            Query: select * from v2_chk_nr
            Select Expression
            ....-> Sort (record length: NN, key length: MM)
            ........-> Filter
            ............-> Table "TEST2" as "V2_CHK_NR TEST2" Full Scan
            1 lowered "L" w/accent
            2 UPPERED "L" w/accent
            3 lowered "L" normal
            4 UPPERED "L" normal
            Query: select * from v2_chk_ir_asc
            Select Expression
            ....-> Filter
            ........-> Table "TEST2" as "V2_CHK_IR_ASC TEST2" Access By ID
            ............-> Index "TEST2_PARTIAL_ASC" Full Scan
            3 lowered "L" normal
            4 UPPERED "L" normal
            1 lowered "L" w/accent
            2 UPPERED "L" w/accent
            Query: select * from v2_chk_ir_dec
            Select Expression
            ....-> Sort (record length: NN, key length: MM)
            ........-> Filter
            ............-> Table "TEST2" as "V2_CHK_IR_DEC TEST2" Access By ID
            ................-> Bitmap
            ....................-> Index "TEST2_PARTIAL_ASC" Full Scan
            2 UPPERED "L" w/accent
            1 lowered "L" w/accent
            4 UPPERED "L" normal
            3 lowered "L" normal
    
    
            After alter domain dm_utf8 type varchar(1) character set utf8:
    
            Query: select * from v1_chk_nr
            Select Expression
            ....-> Sort (record length: NN, key length: MM)
            ........-> Filter
            ............-> Table "TEST1" as "V1_CHK_NR TEST1" Full Scan
            3 lowered "D" normal
            Query: select * from v1_chk_ir_asc
            Select Expression
            ....-> Filter
            ........-> Table "TEST1" as "V1_CHK_IR_ASC TEST1" Access By ID
            ............-> Index "TEST1_ASC" Range Scan (full match)
            3 lowered "D" normal
            Query: select * from v1_chk_ir_dec
            Select Expression
            ....-> Filter
            ........-> Table "TEST1" as "V1_CHK_IR_DEC TEST1" Access By ID
            ............-> Index "TEST1_DEC" Range Scan (full match)
            3 lowered "D" normal
            Query: select * from v2_chk_nr
            Select Expression
            ....-> Sort (record length: NN, key length: MM)
            ........-> Filter
            ............-> Table "TEST2" as "V2_CHK_NR TEST2" Full Scan
            3 lowered "L" normal
            Query: select * from v2_chk_ir_asc
            Select Expression
            ....-> Filter
            ........-> Table "TEST2" as "V2_CHK_IR_ASC TEST2" Access By ID
            ............-> Index "TEST2_PARTIAL_ASC" Full Scan
            3 lowered "L" normal
            Query: select * from v2_chk_ir_dec
            Select Expression
            ....-> Sort (record length: NN, key length: MM)
            ........-> Filter
            ............-> Table "TEST2" as "V2_CHK_IR_DEC TEST2" Access By ID
            ................-> Bitmap
            ....................-> Index "TEST2_PARTIAL_ASC" Full Scan
            3 lowered "L" normal
        """
    
        act.expected_stdout = expected_stdout
    
        act.stdout = capsys.readouterr().out
>       assert act.clean_stdout == act.clean_expected_stdout
E       assert   
E           Initial state:
E           Query: select * from v1_chk_nr
E           Select Expression
E           ....-> Sort (record length: NN, key length: MM)
E           ........-> Filter
E         - ............-> Table "TEST1" as "V1_CHK_NR TEST1" Full Scan
E         + ............-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_NR" "PUBLIC"."TEST1" Full Scan
E           3 lowered "D" normal
E           Query: select * from v1_chk_ir_asc
E           Select Expression
E           ....-> Filter
E         - ........-> Table "TEST1" as "V1_CHK_IR_ASC TEST1" Access By ID
E         + ........-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_IR_ASC" "PUBLIC"."TEST1" Access By ID
E         - ............-> Index "TEST1_ASC" Range Scan (full match)
E         + ............-> Index "PUBLIC"."TEST1_ASC" Range Scan (full match)
E           3 lowered "D" normal
E           Query: select * from v1_chk_ir_dec
E           Select Expression
E           ....-> Filter
E         - ........-> Table "TEST1" as "V1_CHK_IR_DEC TEST1" Access By ID
E         + ........-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_IR_DEC" "PUBLIC"."TEST1" Access By ID
E         - ............-> Index "TEST1_DEC" Range Scan (full match)
E         + ............-> Index "PUBLIC"."TEST1_DEC" Range Scan (full match)
E           3 lowered "D" normal
E           Query: select * from v2_chk_nr
E           Select Expression
E           ....-> Sort (record length: NN, key length: MM)
E           ........-> Filter
E         - ............-> Table "TEST2" as "V2_CHK_NR TEST2" Full Scan
E         + ............-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_NR" "PUBLIC"."TEST2" Full Scan
E           3 lowered "L" normal
E           Query: select * from v2_chk_ir_asc
E           Select Expression
E           ....-> Filter
E         - ........-> Table "TEST2" as "V2_CHK_IR_ASC TEST2" Access By ID
E         + ........-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_IR_ASC" "PUBLIC"."TEST2" Access By ID
E         - ............-> Index "TEST2_PARTIAL_ASC" Full Scan
E         + ............-> Index "PUBLIC"."TEST2_PARTIAL_ASC" Full Scan
E           3 lowered "L" normal
E           Query: select * from v2_chk_ir_dec
E           Select Expression
E           ....-> Sort (record length: NN, key length: MM)
E           ........-> Filter
E         - ............-> Table "TEST2" as "V2_CHK_IR_DEC TEST2" Access By ID
E         + ............-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_IR_DEC" "PUBLIC"."TEST2" Access By ID
E           ................-> Bitmap
E         - ....................-> Index "TEST2_PARTIAL_ASC" Full Scan
E         + ....................-> Index "PUBLIC"."TEST2_PARTIAL_ASC" Full Scan
E           3 lowered "L" normal
E           After alter domain dm_utf8 type varchar(1) character set utf8 collate unicode_ci:
E           Query: select * from v1_chk_nr
E           Select Expression
E           ....-> Sort (record length: NN, key length: MM)
E           ........-> Filter
E         - ............-> Table "TEST1" as "V1_CHK_NR TEST1" Full Scan
E         + ............-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_NR" "PUBLIC"."TEST1" Full Scan
E           3 lowered "D" normal
E           4 UPPERED "D" normal
E           Query: select * from v1_chk_ir_asc
E           Select Expression
E           ....-> Filter
E         - ........-> Table "TEST1" as "V1_CHK_IR_ASC TEST1" Access By ID
E         + ........-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_IR_ASC" "PUBLIC"."TEST1" Access By ID
E         - ............-> Index "TEST1_ASC" Range Scan (full match)
E         + ............-> Index "PUBLIC"."TEST1_ASC" Range Scan (full match)
E           3 lowered "D" normal
E           4 UPPERED "D" normal
E           Query: select * from v1_chk_ir_dec
E           Select Expression
E           ....-> Filter
E         - ........-> Table "TEST1" as "V1_CHK_IR_DEC TEST1" Access By ID
E         + ........-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_IR_DEC" "PUBLIC"."TEST1" Access By ID
E         - ............-> Index "TEST1_DEC" Range Scan (full match)
E         + ............-> Index "PUBLIC"."TEST1_DEC" Range Scan (full match)
E           4 UPPERED "D" normal
E           3 lowered "D" normal
E           Query: select * from v2_chk_nr
E           Select Expression
E           ....-> Sort (record length: NN, key length: MM)
E           ........-> Filter
E         - ............-> Table "TEST2" as "V2_CHK_NR TEST2" Full Scan
E         + ............-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_NR" "PUBLIC"."TEST2" Full Scan
E           3 lowered "L" normal
E           4 UPPERED "L" normal
E           Query: select * from v2_chk_ir_asc
E           Select Expression
E           ....-> Filter
E         - ........-> Table "TEST2" as "V2_CHK_IR_ASC TEST2" Access By ID
E         + ........-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_IR_ASC" "PUBLIC"."TEST2" Access By ID
E         - ............-> Index "TEST2_PARTIAL_ASC" Full Scan
E         + ............-> Index "PUBLIC"."TEST2_PARTIAL_ASC" Full Scan
E           3 lowered "L" normal
E           4 UPPERED "L" normal
E           Query: select * from v2_chk_ir_dec
E           Select Expression
E           ....-> Sort (record length: NN, key length: MM)
E           ........-> Filter
E         - ............-> Table "TEST2" as "V2_CHK_IR_DEC TEST2" Access By ID
E         + ............-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_IR_DEC" "PUBLIC"."TEST2" Access By ID
E           ................-> Bitmap
E         - ....................-> Index "TEST2_PARTIAL_ASC" Full Scan
E         + ....................-> Index "PUBLIC"."TEST2_PARTIAL_ASC" Full Scan
E           4 UPPERED "L" normal
E           3 lowered "L" normal
E           After alter domain dm_utf8 type varchar(1) character set utf8 collate unicode_ci_ai:
E           Query: select * from v1_chk_nr
E           Select Expression
E           ....-> Sort (record length: NN, key length: MM)
E           ........-> Filter
E         - ............-> Table "TEST1" as "V1_CHK_NR TEST1" Full Scan
E         + ............-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_NR" "PUBLIC"."TEST1" Full Scan
E           1 lowered "D" w/accent
E           2 UPPERED "D" w/accent
E           3 lowered "D" normal
E           4 UPPERED "D" normal
E           Query: select * from v1_chk_ir_asc
E           Select Expression
E           ....-> Filter
E         - ........-> Table "TEST1" as "V1_CHK_IR_ASC TEST1" Access By ID
E         + ........-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_IR_ASC" "PUBLIC"."TEST1" Access By ID
E         - ............-> Index "TEST1_ASC" Range Scan (full match)
E         + ............-> Index "PUBLIC"."TEST1_ASC" Range Scan (full match)
E           3 lowered "D" normal
E           4 UPPERED "D" normal
E           1 lowered "D" w/accent
E           2 UPPERED "D" w/accent
E           Query: select * from v1_chk_ir_dec
E           Select Expression
E           ....-> Filter
E         - ........-> Table "TEST1" as "V1_CHK_IR_DEC TEST1" Access By ID
E         + ........-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_IR_DEC" "PUBLIC"."TEST1" Access By ID
E         - ............-> Index "TEST1_DEC" Range Scan (full match)
E         + ............-> Index "PUBLIC"."TEST1_DEC" Range Scan (full match)
E           2 UPPERED "D" w/accent
E           1 lowered "D" w/accent
E           4 UPPERED "D" normal
E           3 lowered "D" normal
E           Query: select * from v2_chk_nr
E           Select Expression
E           ....-> Sort (record length: NN, key length: MM)
E           ........-> Filter
E         - ............-> Table "TEST2" as "V2_CHK_NR TEST2" Full Scan
E         + ............-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_NR" "PUBLIC"."TEST2" Full Scan
E           1 lowered "L" w/accent
E           2 UPPERED "L" w/accent
E           3 lowered "L" normal
E           4 UPPERED "L" normal
E           Query: select * from v2_chk_ir_asc
E           Select Expression
E           ....-> Filter
E         - ........-> Table "TEST2" as "V2_CHK_IR_ASC TEST2" Access By ID
E         + ........-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_IR_ASC" "PUBLIC"."TEST2" Access By ID
E         - ............-> Index "TEST2_PARTIAL_ASC" Full Scan
E         + ............-> Index "PUBLIC"."TEST2_PARTIAL_ASC" Full Scan
E           3 lowered "L" normal
E           4 UPPERED "L" normal
E           1 lowered "L" w/accent
E           2 UPPERED "L" w/accent
E           Query: select * from v2_chk_ir_dec
E           Select Expression
E           ....-> Sort (record length: NN, key length: MM)
E           ........-> Filter
E         - ............-> Table "TEST2" as "V2_CHK_IR_DEC TEST2" Access By ID
E         + ............-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_IR_DEC" "PUBLIC"."TEST2" Access By ID
E           ................-> Bitmap
E         - ....................-> Index "TEST2_PARTIAL_ASC" Full Scan
E         + ....................-> Index "PUBLIC"."TEST2_PARTIAL_ASC" Full Scan
E           2 UPPERED "L" w/accent
E           1 lowered "L" w/accent
E           4 UPPERED "L" normal
E           3 lowered "L" normal
E           After alter domain dm_utf8 type varchar(1) character set utf8:
E           Query: select * from v1_chk_nr
E           Select Expression
E           ....-> Sort (record length: NN, key length: MM)
E           ........-> Filter
E         - ............-> Table "TEST1" as "V1_CHK_NR TEST1" Full Scan
E         + ............-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_NR" "PUBLIC"."TEST1" Full Scan
E           3 lowered "D" normal
E           Query: select * from v1_chk_ir_asc
E           Select Expression
E           ....-> Filter
E         - ........-> Table "TEST1" as "V1_CHK_IR_ASC TEST1" Access By ID
E         + ........-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_IR_ASC" "PUBLIC"."TEST1" Access By ID
E         - ............-> Index "TEST1_ASC" Range Scan (full match)
E         + ............-> Index "PUBLIC"."TEST1_ASC" Range Scan (full match)
E           3 lowered "D" normal
E           Query: select * from v1_chk_ir_dec
E           Select Expression
E           ....-> Filter
E         - ........-> Table "TEST1" as "V1_CHK_IR_DEC TEST1" Access By ID
E         + ........-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_IR_DEC" "PUBLIC"."TEST1" Access By ID
E         - ............-> Index "TEST1_DEC" Range Scan (full match)
E         + ............-> Index "PUBLIC"."TEST1_DEC" Range Scan (full match)
E           3 lowered "D" normal
E           Query: select * from v2_chk_nr
E           Select Expression
E           ....-> Sort (record length: NN, key length: MM)
E           ........-> Filter
E         - ............-> Table "TEST2" as "V2_CHK_NR TEST2" Full Scan
E         + ............-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_NR" "PUBLIC"."TEST2" Full Scan
E           3 lowered "L" normal
E           Query: select * from v2_chk_ir_asc
E           Select Expression
E           ....-> Filter
E         - ........-> Table "TEST2" as "V2_CHK_IR_ASC TEST2" Access By ID
E         + ........-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_IR_ASC" "PUBLIC"."TEST2" Access By ID
E         - ............-> Index "TEST2_PARTIAL_ASC" Full Scan
E         + ............-> Index "PUBLIC"."TEST2_PARTIAL_ASC" Full Scan
E           3 lowered "L" normal
E           Query: select * from v2_chk_ir_dec
E           Select Expression
E           ....-> Sort (record length: NN, key length: MM)
E           ........-> Filter
E         - ............-> Table "TEST2" as "V2_CHK_IR_DEC TEST2" Access By ID
E         + ............-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_IR_DEC" "PUBLIC"."TEST2" Access By ID
E           ................-> Bitmap
E         - ....................-> Index "TEST2_PARTIAL_ASC" Full Scan
E         + ....................-> Index "PUBLIC"."TEST2_PARTIAL_ASC" Full Scan
E           3 lowered "L" normal

tests\bugs\gh_8434_test.py:371: 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.889 2025.07.02 4b4e6 F F 818 539 2025.07.02 11:13:40.508 2025.07.02 11:13:41.326 2025.07.02 09:31:41.578 2025.07.02 09:31:42.117
2 6.0.0.889 2025.07.01 969ac F F 777 543 2025.07.02 03:19:15.597 2025.07.02 03:19:16.374 2025.07.02 01:33:59.894 2025.07.02 01:34:00.437
3 6.0.0.881 2025.06.27 7035d F F 786 546 2025.07.01 03:13:04.107 2025.07.01 03:13:04.893 2025.07.01 01:30:50.597 2025.07.01 01:30:51.143
4 6.0.0.877 2025.06.26 8e38f F F 821 549 2025.06.27 03:14:26.309 2025.06.27 03:14:27.130 2025.06.27 01:31:36.225 2025.06.27 01:31:36.774
5 6.0.0.876 2025.06.25 b1bec F F 777 544 2025.06.26 03:19:44.643 2025.06.26 03:19:45.420 2025.06.26 01:37:15.388 2025.06.26 01:37:15.932
6 6.0.0.863 2025.06.24 c3c20 F F 817 539 2025.06.25 08:03:54.332 2025.06.25 08:03:55.149 2025.06.25 01:31:17.145 2025.06.25 01:31:17.684
7 6.0.0.858 2025.06.24 cbbbf F F 829 540 2025.06.24 17:46:26.755 2025.06.24 17:46:27.584 2025.06.24 16:03:14.807 2025.06.24 16:03:15.347
8 6.0.0.858 2025.06.23 d377c F F 788 553 2025.06.24 08:58:28.392 2025.06.24 08:58:29.180 2025.06.24 07:15:36.661 2025.06.24 07:15:37.214
9 6.0.0.854 2025.06.23 10b58 F F 796 559 2025.06.23 15:39:19.823 2025.06.23 15:39:20.619 2025.06.23 13:55:09.526 2025.06.23 13:55:10.085
10 6.0.0.849 2025.06.20 7b79c F F 810 537 2025.06.21 03:17:40.223 2025.06.21 03:17:41.033 2025.06.21 01:31:50.059 2025.06.21 01:31:50.596
11 6.0.0.848 2025.06.19 c483c F F 775 555 2025.06.20 03:17:17.331 2025.06.20 03:17:18.106 2025.06.20 01:31:35.282 2025.06.20 01:31:35.837
12 6.0.0.845 2025.06.18 20191 F F 783 545 2025.06.19 03:16:55.827 2025.06.19 03:16:56.610 2025.06.19 01:31:23.735 2025.06.19 01:31:24.280
13 6.0.0.843 2025.06.16 995f4 F F 811 528 2025.06.18 03:16:43.120 2025.06.18 03:16:43.931 2025.06.18 01:31:05.014 2025.06.18 01:31:05.542
14 6.0.0.840 2025.06.14 29bca F F 774 568 2025.06.15 03:25:13.550 2025.06.15 03:25:14.324 2025.06.15 01:34:08.993 2025.06.15 01:34:09.561
15 6.0.0.838 2025.06.13 0e28a F F 794 539 2025.06.14 03:22:56.948 2025.06.14 03:22:57.742 2025.06.14 01:32:27.794 2025.06.14 01:32:28.333
16 6.0.0.834 2025.06.11 e889f F F 839 544 2025.06.12 03:20:27.921 2025.06.12 03:20:28.760 2025.06.12 01:32:57.905 2025.06.12 01:32:58.449
17 6.0.0.800 2025.06.10 1f226 P P 696 458 2025.06.11 02:05:24.433 2025.06.11 02:05:25.129 2025.06.11 00:56:12.377 2025.06.11 00:56:12.835
18 6.0.0.799 2025.06.07 be644 P P 742 460 2025.06.10 02:05:03.685 2025.06.10 02:05:04.427 2025.06.10 00:55:50.520 2025.06.10 00:55:50.980
19 6.0.0.797 2025.06.06 303e8 P P 696 481 2025.06.07 02:03:50.842 2025.06.07 02:03:51.538 2025.06.07 00:55:38.041 2025.06.07 00:55:38.522
20 6.0.0.795 2025.05.29 7a71a P P 757 463 2025.06.06 02:03:40.873 2025.06.06 02:03:41.630 2025.06.06 00:55:35.573 2025.06.06 00:55:36.036
21 6.0.0.792 2025.05.28 ee5a8 P P 729 498 2025.05.29 02:02:46.860 2025.05.29 02:02:47.589 2025.05.29 00:55:42.837 2025.05.29 00:55:43.335
22 6.0.0.791 2025.05.27 02db8 P P 703 477 2025.05.28 02:03:16.408 2025.05.28 02:03:17.111 2025.05.28 00:55:25.191 2025.05.28 00:55:25.668
23 6.0.0.789 2025.05.21 64051 P P 692 469 2025.05.25 02:02:59.391 2025.05.25 02:03:00.083 2025.05.25 00:55:52.267 2025.05.25 00:55:52.736
24 6.0.0.787 2025.05.20 230ad P P 737 462 2025.05.21 02:01:54.655 2025.05.21 02:01:55.392 2025.05.21 00:55:00.713 2025.05.21 00:55:01.175
25 6.0.0.783 2025.05.12 37320 P P 693 471 2025.05.19 02:01:40.601 2025.05.19 02:01:41.294 2025.05.19 00:55:07.728 2025.05.19 00:55:08.199
26 6.0.0.779 2025.05.11 136fa P P 702 474 2025.05.12 02:03:49.965 2025.05.12 02:03:50.667 2025.05.12 00:55:45.486 2025.05.12 00:55:45.960
27 6.0.0.778 2025.05.07 d735e P P 707 524 2025.05.11 02:03:14.663 2025.05.11 02:03:15.370 2025.05.11 00:55:59.060 2025.05.11 00:55:59.584
28 6.0.0.776 2025.05.06 007cd P P 766 480 2025.05.07 02:02:27.096 2025.05.07 02:02:27.862 2025.05.07 00:55:36.647 2025.05.07 00:55:37.127
29 6.0.0.770 2025.05.05 82c4a P P 704 473 2025.05.06 02:02:45.623 2025.05.06 02:02:46.327 2025.05.06 00:55:43.005 2025.05.06 00:55:43.478
30 6.0.0.767 2025.05.01 cdd29 P P 714 477 2025.05.02 02:03:21.661 2025.05.02 02:03:22.375 2025.05.02 00:56:33.797 2025.05.02 00:56:34.274
31 6.0.0.762 2025.04.30 5cb15 P P 693 486 2025.05.01 02:01:47.158 2025.05.01 02:01:47.851 2025.05.01 00:55:54.651 2025.05.01 00:55:55.137
32 6.0.0.755 2025.04.29 739c6 P P 695 463 2025.04.30 02:02:01.232 2025.04.30 02:02:01.927 2025.04.30 00:55:36.636 2025.04.30 00:55:37.099
33 6.0.0.753 2025.04.27 29ab3 P P 696 501 2025.04.29 02:02:10.853 2025.04.29 02:02:11.549 2025.04.29 00:55:47.408 2025.04.29 00:55:47.909
34 6.0.0.745 2025.04.21 78ad8 P P 741 488 2025.04.26 02:03:40.257 2025.04.26 02:03:40.998 2025.04.26 00:56:04.410 2025.04.26 00:56:04.898
35 6.0.0.744 2025.04.19 e883a P P 719 513 2025.04.20 02:03:07.030 2025.04.20 02:03:07.749 2025.04.20 00:55:56.985 2025.04.20 00:55:57.498
36 6.0.0.742 2025.04.17 abc3b P P 711 506 2025.04.19 02:02:35.510 2025.04.19 02:02:36.221 2025.04.19 00:55:31.748 2025.04.19 00:55:32.254
37 6.0.0.737 2025.04.16 fe52b P P 713 478 2025.04.17 02:02:58.248 2025.04.17 02:02:58.961 2025.04.17 00:55:44.144 2025.04.17 00:55:44.622
38 6.0.0.736 2025.04.14 3e6be P P 724 478 2025.04.15 02:03:49.993 2025.04.15 02:03:50.717 2025.04.15 00:56:00.185 2025.04.15 00:56:00.663
39 6.0.0.735 2025.04.13 6635c P P 718 468 2025.04.14 02:03:01.015 2025.04.14 02:03:01.733 2025.04.14 00:56:16.110 2025.04.14 00:56:16.578
40 6.0.0.734 2025.04.12 e2fd1 P P 703 453 2025.04.13 02:00:46.613 2025.04.13 02:00:47.316 2025.04.13 00:55:10.430 2025.04.13 00:55:10.883
41 6.0.0.730 2025.04.11 240b8 P P 746 480 2025.04.12 02:07:25.063 2025.04.12 02:07:25.809 2025.04.12 00:56:41.390 2025.04.12 00:56:41.870
42 6.0.0.726 2025.04.10 d79c6 P P 726 483 2025.04.11 02:07:46.920 2025.04.11 02:07:47.646 2025.04.11 00:56:31.627 2025.04.11 00:56:32.110
43 6.0.0.725 2025.04.09 a2b05 P P 723 475 2025.04.10 02:06:59.372 2025.04.10 02:07:00.095 2025.04.10 00:56:24.339 2025.04.10 00:56:24.814
44 6.0.0.722 2025.04.08 a8b86 P P 732 486 2025.04.09 02:03:38.398 2025.04.09 02:03:39.130 2025.04.09 00:56:03.271 2025.04.09 00:56:03.757
45 6.0.0.719 2025.04.06 90fd9 P P 724 490 2025.04.08 02:03:33.815 2025.04.08 02:03:34.539 2025.04.08 00:55:55.973 2025.04.08 00:55:56.463
46 6.0.0.717 2025.04.04 53d70 P P 727 486 2025.04.05 02:03:39.393 2025.04.05 02:03:40.120 2025.04.05 00:56:07.138 2025.04.05 00:56:07.624
47 6.0.0.716 2025.04.03 fc636 P P 715 483 2025.04.04 02:03:37.252 2025.04.04 02:03:37.967 2025.04.04 00:56:10.463 2025.04.04 00:56:10.946
48 6.0.0.715 2025.04.02 907ed P P 758 480 2025.04.03 02:03:46.870 2025.04.03 02:03:47.628 2025.04.03 00:55:59.051 2025.04.03 00:55:59.531
49 6.0.0.710 2025.04.01 40651 P P 720 496 2025.04.02 02:03:46.553 2025.04.02 02:03:47.273 2025.04.02 00:56:40.742 2025.04.02 00:56:41.238
50 6.0.0.708 2025.03.31 cb069 P P 752 478 2025.04.01 02:03:04.926 2025.04.01 02:03:05.678 2025.04.01 00:55:57.650 2025.04.01 00:55:58.128
51 6.0.0.707 2025.03.28 4bd4f P P 751 481 2025.03.31 02:03:32.457 2025.03.31 02:03:33.208 2025.03.31 00:55:54.884 2025.03.31 00:55:55.365
52 6.0.0.702 2025.03.27 86f4d P E 723 2271 2025.03.28 02:20:46.313 2025.03.28 02:20:47.036 2025.03.28 00:57:36.170 2025.03.28 00:57:38.441
53 6.0.0.698 2025.03.26 d72a7 P P 794 515 2025.03.27 15:46:55.955 2025.03.27 15:46:56.749 2025.03.27 14:37:27.688 2025.03.27 14:37:28.203
54 6.0.0.693 2025.03.25 8aac2 P P 772 510 2025.03.26 02:07:32.879 2025.03.26 02:07:33.651 2025.03.26 00:57:50.766 2025.03.26 00:57:51.276
55 6.0.0.693 2025.03.24 0b559 P P 755 522 2025.03.25 02:08:09.402 2025.03.25 02:08:10.157 2025.03.25 00:57:52.023 2025.03.25 00:57:52.545
56 6.0.0.687 2025.03.22 730aa P P 802 521 2025.03.24 02:07:52.690 2025.03.24 02:07:53.492 2025.03.24 00:58:17.217 2025.03.24 00:58:17.738
57 6.0.0.686 2025.03.20 71bf6 P P 717 500 2025.03.21 02:04:17.978 2025.03.21 02:04:18.695 2025.03.21 00:56:36.141 2025.03.21 00:56:36.641
58 6.0.0.685 2025.03.19 a8577 P P 750 471 2025.03.20 02:04:32.292 2025.03.20 02:04:33.042 2025.03.20 00:57:06.660 2025.03.20 00:57:07.131
59 6.0.0.680 2025.03.18 90d29 P P 729 473 2025.03.19 02:04:50.667 2025.03.19 02:04:51.396 2025.03.19 00:57:12.970 2025.03.19 00:57:13.443
60 6.0.0.677 2025.03.16 c0a60 P P 720 488 2025.03.18 02:03:03.222 2025.03.18 02:03:03.942 2025.03.18 00:57:06.598 2025.03.18 00:57:07.086
61 6.0.0.676 2025.03.15 11cfb P P 719 468 2025.03.16 02:02:25.271 2025.03.16 02:02:25.990 2025.03.16 00:56:11.382 2025.03.16 00:56:11.850
62 6.0.0.674 2025.03.14 7d82c P P 748 473 2025.03.15 02:01:04.136 2025.03.15 02:01:04.884 2025.03.15 00:56:39.693 2025.03.15 00:56:40.166
63 6.0.0.673 2025.03.13 40f5b P P 704 515 2025.03.14 14:32:01.173 2025.03.14 14:32:01.877 2025.03.14 13:26:33.242 2025.03.14 13:26:33.757
64 6.0.0.671 2025.03.12 a4fff P P 743 521 2025.03.13 02:06:32.740 2025.03.13 02:06:33.483 2025.03.13 00:58:24.538 2025.03.13 00:58:25.059
65 6.0.0.663 2025.03.11 65970 P P 745 521 2025.03.12 02:05:59.719 2025.03.12 02:06:00.464 2025.03.12 00:58:03.786 2025.03.12 00:58:04.307
66 6.0.0.661 2025.03.07 b9869 P P 786 488 2025.03.11 02:06:18.268 2025.03.11 02:06:19.054 2025.03.11 00:58:11.029 2025.03.11 00:58:11.517
67 6.0.0.660 2025.03.04 a6700 P P 731 527 2025.03.06 02:06:24.024 2025.03.06 02:06:24.755 2025.03.06 00:58:00.518 2025.03.06 00:58:01.045
68 6.0.0.658 2025.03.03 f15f8 P P 745 493 2025.03.04 02:03:10.556 2025.03.04 02:03:11.301 2025.03.04 00:57:10.788 2025.03.04 00:57:11.281
69 6.0.0.656 2025.02.27 25fb4 P P 727 483 2025.03.03 02:03:23.259 2025.03.03 02:03:23.986 2025.03.03 00:57:17.182 2025.03.03 00:57:17.665
70 6.0.0.655 2025.02.25 6e3e0 P P 726 477 2025.02.27 02:04:56.228 2025.02.27 02:04:56.954 2025.02.27 00:57:50.774 2025.02.27 00:57:51.251
71 6.0.0.654 2025.02.24 b7141 P P 747 483 2025.02.25 02:01:42.785 2025.02.25 02:01:43.532 2025.02.25 00:56:33.330 2025.02.25 00:56:33.813
72 6.0.0.652 2025.02.22 22662 P P 749 491 2025.02.24 02:00:47.853 2025.02.24 02:00:48.602 2025.02.24 00:55:55.712 2025.02.24 00:55:56.203
73 6.0.0.647 2025.02.21 9fccb P P 759 483 2025.02.22 01:59:35.936 2025.02.22 01:59:36.695 2025.02.22 00:55:32.044 2025.02.22 00:55:32.527
74 6.0.0.640 2025.02.19 9b8ac P P 714 465 2025.02.20 02:01:04.806 2025.02.20 02:01:05.520 2025.02.20 00:56:02.990 2025.02.20 00:56:03.455
75 6.0.0.639 2025.02.18 201a4 P P 723 483 2025.02.19 02:01:53.878 2025.02.19 02:01:54.601 2025.02.19 00:56:43.852 2025.02.19 00:56:44.335
76 6.0.0.637 2025.02.12 6d0f5 P P 719 525 2025.02.14 02:02:32.968 2025.02.14 02:02:33.687 2025.02.14 00:57:11.874 2025.02.14 00:57:12.399

Elapsed time, ms. Chart for last 76 runs:

Last commits information (all timestamps in UTC):