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-06-29 05:35:26.497
2025-06-29 05:35:26.504 act = <firebird.qa.plugin.Action object at [hex]>
2025-06-29 05:35:26.510 capsys = <_pytest.capture.CaptureFixture object at [hex]>
2025-06-29 05:35:26.516
2025-06-29 05:35:26.525 @pytest.mark.version('>=6')
2025-06-29 05:35:26.538 def test_1(act: Action, capsys):
2025-06-29 05:35:26.547 qry_map = {
2025-06-29 05:35:26.555 1 : 'select * from v1_chk_nr'
2025-06-29 05:35:26.562 ,2 : 'select * from v1_chk_ir_asc'
2025-06-29 05:35:26.569 ,3 : 'select * from v1_chk_ir_dec'
2025-06-29 05:35:26.576 ,4 : 'select * from v2_chk_nr'
2025-06-29 05:35:26.582 ,5 : 'select * from v2_chk_ir_asc'
2025-06-29 05:35:26.589 ,6 : 'select * from v2_chk_ir_dec'
2025-06-29 05:35:26.596 }
2025-06-29 05:35:26.602
2025-06-29 05:35:26.613 alter_lst = (
2025-06-29 05:35:26.625 ''
2025-06-29 05:35:26.639 ,'alter domain dm_utf8 type varchar(1) character set utf8 collate unicode_ci'
2025-06-29 05:35:26.649 ,'alter domain dm_utf8 type varchar(1) character set utf8 collate unicode_ci_ai'
2025-06-29 05:35:26.661 ,'alter domain dm_utf8 type varchar(1) character set utf8'
2025-06-29 05:35:26.672 )
2025-06-29 05:35:26.686
2025-06-29 05:35:26.698 with act.db.connect(charset = 'utf8') as con:
2025-06-29 05:35:26.713 cur = con.cursor()
2025-06-29 05:35:26.723 for alter_i in alter_lst:
2025-06-29 05:35:26.731 if alter_i.strip():
2025-06-29 05:35:26.739 con.execute_immediate(alter_i)
2025-06-29 05:35:26.746 con.commit()
2025-06-29 05:35:26.754 print(f'\nAfter {alter_i}:')
2025-06-29 05:35:26.760 else:
2025-06-29 05:35:26.767 print('Initial state:')
2025-06-29 05:35:26.773
2025-06-29 05:35:26.780 for k, v in qry_map.items():
2025-06-29 05:35:26.786 ps, rs = None, None
2025-06-29 05:35:26.793 try:
2025-06-29 05:35:26.806 ps = cur.prepare(v)
2025-06-29 05:35:26.820
2025-06-29 05:35:26.829 print('Query:', v)
2025-06-29 05:35:26.836 # Print explained plan with padding eash line by dots in order to see indentations:
2025-06-29 05:35:26.843 print( '\n'.join([replace_leading(s) for s in ps.detailed_plan.split('\n')]) )
2025-06-29 05:35:26.850 print('')
2025-06-29 05:35:26.856
2025-06-29 05:35:26.862 # ::: NB ::: 'ps' returns data, i.e. this is SELECTABLE expression.
2025-06-29 05:35:26.867 # We have to store result of cur.execute(<psInstance>) in order to
2025-06-29 05:35:26.872 # close it explicitly.
2025-06-29 05:35:26.878 # Otherwise AV can occur during Python garbage collection and this
2025-06-29 05:35:26.884 # causes pytest to hang on its final point.
2025-06-29 05:35:26.892 # Explained by hvlad, email 26.10.24 17:42
2025-06-29 05:35:26.904 rs = cur.execute(ps)
2025-06-29 05:35:26.915 for r in rs:
2025-06-29 05:35:26.927 print(r[0], r[1])
2025-06-29 05:35:26.936 except DatabaseError as e:
2025-06-29 05:35:26.945 print(e.__str__())
2025-06-29 05:35:26.958 print(e.gds_codes)
2025-06-29 05:35:26.968 finally:
2025-06-29 05:35:26.981 if rs:
2025-06-29 05:35:26.994 rs.close() # <<< EXPLICITLY CLOSING CURSOR RESULTS
2025-06-29 05:35:27.004 if ps:
2025-06-29 05:35:27.013 ps.free()
2025-06-29 05:35:27.018
2025-06-29 05:35:27.023
2025-06-29 05:35:27.030 expected_stdout = """
2025-06-29 05:35:27.035 Initial state:
2025-06-29 05:35:27.043
2025-06-29 05:35:27.051 Query: select * from v1_chk_nr
2025-06-29 05:35:27.058 Select Expression
2025-06-29 05:35:27.063 ....-> Sort (record length: NN, key length: MM)
2025-06-29 05:35:27.068 ........-> Filter
2025-06-29 05:35:27.073 ............-> Table "TEST1" as "V1_CHK_NR TEST1" Full Scan
2025-06-29 05:35:27.080 3 lowered "D" normal
2025-06-29 05:35:27.086 Query: select * from v1_chk_ir_asc
2025-06-29 05:35:27.091 Select Expression
2025-06-29 05:35:27.097 ....-> Filter
2025-06-29 05:35:27.103 ........-> Table "TEST1" as "V1_CHK_IR_ASC TEST1" Access By ID
2025-06-29 05:35:27.108 ............-> Index "TEST1_ASC" Range Scan (full match)
2025-06-29 05:35:27.120 3 lowered "D" normal
2025-06-29 05:35:27.131 Query: select * from v1_chk_ir_dec
2025-06-29 05:35:27.139 Select Expression
2025-06-29 05:35:27.146 ....-> Filter
2025-06-29 05:35:27.152 ........-> Table "TEST1" as "V1_CHK_IR_DEC TEST1" Access By ID
2025-06-29 05:35:27.159 ............-> Index "TEST1_DEC" Range Scan (full match)
2025-06-29 05:35:27.165 3 lowered "D" normal
2025-06-29 05:35:27.171 Query: select * from v2_chk_nr
2025-06-29 05:35:27.178 Select Expression
2025-06-29 05:35:27.190 ....-> Sort (record length: NN, key length: MM)
2025-06-29 05:35:27.201 ........-> Filter
2025-06-29 05:35:27.212 ............-> Table "TEST2" as "V2_CHK_NR TEST2" Full Scan
2025-06-29 05:35:27.221 3 lowered "L" normal
2025-06-29 05:35:27.230 Query: select * from v2_chk_ir_asc
2025-06-29 05:35:27.240 Select Expression
2025-06-29 05:35:27.248 ....-> Filter
2025-06-29 05:35:27.257 ........-> Table "TEST2" as "V2_CHK_IR_ASC TEST2" Access By ID
2025-06-29 05:35:27.264 ............-> Index "TEST2_PARTIAL_ASC" Full Scan
2025-06-29 05:35:27.272 3 lowered "L" normal
2025-06-29 05:35:27.280 Query: select * from v2_chk_ir_dec
2025-06-29 05:35:27.287 Select Expression
2025-06-29 05:35:27.295 ....-> Sort (record length: NN, key length: MM)
2025-06-29 05:35:27.303 ........-> Filter
2025-06-29 05:35:27.316 ............-> Table "TEST2" as "V2_CHK_IR_DEC TEST2" Access By ID
2025-06-29 05:35:27.328 ................-> Bitmap
2025-06-29 05:35:27.338 ....................-> Index "TEST2_PARTIAL_ASC" Full Scan
2025-06-29 05:35:27.347 3 lowered "L" normal
2025-06-29 05:35:27.354
2025-06-29 05:35:27.364
2025-06-29 05:35:27.377 After alter domain dm_utf8 type varchar(1) character set utf8 collate unicode_ci:
2025-06-29 05:35:27.385
2025-06-29 05:35:27.394 Query: select * from v1_chk_nr
2025-06-29 05:35:27.406 Select Expression
2025-06-29 05:35:27.416 ....-> Sort (record length: NN, key length: MM)
2025-06-29 05:35:27.424 ........-> Filter
2025-06-29 05:35:27.432 ............-> Table "TEST1" as "V1_CHK_NR TEST1" Full Scan
2025-06-29 05:35:27.439 3 lowered "D" normal
2025-06-29 05:35:27.444 4 UPPERED "D" normal
2025-06-29 05:35:27.449 Query: select * from v1_chk_ir_asc
2025-06-29 05:35:27.454 Select Expression
2025-06-29 05:35:27.459 ....-> Filter
2025-06-29 05:35:27.470 ........-> Table "TEST1" as "V1_CHK_IR_ASC TEST1" Access By ID
2025-06-29 05:35:27.480 ............-> Index "TEST1_ASC" Range Scan (full match)
2025-06-29 05:35:27.488 3 lowered "D" normal
2025-06-29 05:35:27.494 4 UPPERED "D" normal
2025-06-29 05:35:27.504 Query: select * from v1_chk_ir_dec
2025-06-29 05:35:27.517 Select Expression
2025-06-29 05:35:27.526 ....-> Filter
2025-06-29 05:35:27.535 ........-> Table "TEST1" as "V1_CHK_IR_DEC TEST1" Access By ID
2025-06-29 05:35:27.543 ............-> Index "TEST1_DEC" Range Scan (full match)
2025-06-29 05:35:27.550 4 UPPERED "D" normal
2025-06-29 05:35:27.558 3 lowered "D" normal
2025-06-29 05:35:27.566 Query: select * from v2_chk_nr
2025-06-29 05:35:27.573 Select Expression
2025-06-29 05:35:27.587 ....-> Sort (record length: NN, key length: MM)
2025-06-29 05:35:27.598 ........-> Filter
2025-06-29 05:35:27.606 ............-> Table "TEST2" as "V2_CHK_NR TEST2" Full Scan
2025-06-29 05:35:27.614 3 lowered "L" normal
2025-06-29 05:35:27.620 4 UPPERED "L" normal
2025-06-29 05:35:27.627 Query: select * from v2_chk_ir_asc
2025-06-29 05:35:27.634 Select Expression
2025-06-29 05:35:27.641 ....-> Filter
2025-06-29 05:35:27.647 ........-> Table "TEST2" as "V2_CHK_IR_ASC TEST2" Access By ID
2025-06-29 05:35:27.655 ............-> Index "TEST2_PARTIAL_ASC" Full Scan
2025-06-29 05:35:27.666 3 lowered "L" normal
2025-06-29 05:35:27.675 4 UPPERED "L" normal
2025-06-29 05:35:27.684 Query: select * from v2_chk_ir_dec
2025-06-29 05:35:27.692 Select Expression
2025-06-29 05:35:27.699 ....-> Sort (record length: NN, key length: MM)
2025-06-29 05:35:27.706 ........-> Filter
2025-06-29 05:35:27.712 ............-> Table "TEST2" as "V2_CHK_IR_DEC TEST2" Access By ID
2025-06-29 05:35:27.718 ................-> Bitmap
2025-06-29 05:35:27.725 ....................-> Index "TEST2_PARTIAL_ASC" Full Scan
2025-06-29 05:35:27.731 4 UPPERED "L" normal
2025-06-29 05:35:27.739 3 lowered "L" normal
2025-06-29 05:35:27.751
2025-06-29 05:35:27.760
2025-06-29 05:35:27.768 After alter domain dm_utf8 type varchar(1) character set utf8 collate unicode_ci_ai:
2025-06-29 05:35:27.775
2025-06-29 05:35:27.786 Query: select * from v1_chk_nr
2025-06-29 05:35:27.794 Select Expression
2025-06-29 05:35:27.804 ....-> Sort (record length: NN, key length: MM)
2025-06-29 05:35:27.815 ........-> Filter
2025-06-29 05:35:27.823 ............-> Table "TEST1" as "V1_CHK_NR TEST1" Full Scan
2025-06-29 05:35:27.830 1 lowered "D" w/accent
2025-06-29 05:35:27.841 2 UPPERED "D" w/accent
2025-06-29 05:35:27.852 3 lowered "D" normal
2025-06-29 05:35:27.861 4 UPPERED "D" normal
2025-06-29 05:35:27.868 Query: select * from v1_chk_ir_asc
2025-06-29 05:35:27.881 Select Expression
2025-06-29 05:35:27.894 ....-> Filter
2025-06-29 05:35:27.904 ........-> Table "TEST1" as "V1_CHK_IR_ASC TEST1" Access By ID
2025-06-29 05:35:27.911 ............-> Index "TEST1_ASC" Range Scan (full match)
2025-06-29 05:35:27.917 3 lowered "D" normal
2025-06-29 05:35:27.922 4 UPPERED "D" normal
2025-06-29 05:35:27.931 1 lowered "D" w/accent
2025-06-29 05:35:27.939 2 UPPERED "D" w/accent
2025-06-29 05:35:27.948 Query: select * from v1_chk_ir_dec
2025-06-29 05:35:27.954 Select Expression
2025-06-29 05:35:27.966 ....-> Filter
2025-06-29 05:35:27.978 ........-> Table "TEST1" as "V1_CHK_IR_DEC TEST1" Access By ID
2025-06-29 05:35:27.990 ............-> Index "TEST1_DEC" Range Scan (full match)
2025-06-29 05:35:27.999 2 UPPERED "D" w/accent
2025-06-29 05:35:28.006 1 lowered "D" w/accent
2025-06-29 05:35:28.014 4 UPPERED "D" normal
2025-06-29 05:35:28.024 3 lowered "D" normal
2025-06-29 05:35:28.032 Query: select * from v2_chk_nr
2025-06-29 05:35:28.038 Select Expression
2025-06-29 05:35:28.044 ....-> Sort (record length: NN, key length: MM)
2025-06-29 05:35:28.050 ........-> Filter
2025-06-29 05:35:28.055 ............-> Table "TEST2" as "V2_CHK_NR TEST2" Full Scan
2025-06-29 05:35:28.062 1 lowered "L" w/accent
2025-06-29 05:35:28.072 2 UPPERED "L" w/accent
2025-06-29 05:35:28.082 3 lowered "L" normal
2025-06-29 05:35:28.091 4 UPPERED "L" normal
2025-06-29 05:35:28.098 Query: select * from v2_chk_ir_asc
2025-06-29 05:35:28.105 Select Expression
2025-06-29 05:35:28.111 ....-> Filter
2025-06-29 05:35:28.118 ........-> Table "TEST2" as "V2_CHK_IR_ASC TEST2" Access By ID
2025-06-29 05:35:28.127 ............-> Index "TEST2_PARTIAL_ASC" Full Scan
2025-06-29 05:35:28.140 3 lowered "L" normal
2025-06-29 05:35:28.150 4 UPPERED "L" normal
2025-06-29 05:35:28.159 1 lowered "L" w/accent
2025-06-29 05:35:28.166 2 UPPERED "L" w/accent
2025-06-29 05:35:28.175 Query: select * from v2_chk_ir_dec
2025-06-29 05:35:28.182 Select Expression
2025-06-29 05:35:28.189 ....-> Sort (record length: NN, key length: MM)
2025-06-29 05:35:28.194 ........-> Filter
2025-06-29 05:35:28.200 ............-> Table "TEST2" as "V2_CHK_IR_DEC TEST2" Access By ID
2025-06-29 05:35:28.206 ................-> Bitmap
2025-06-29 05:35:28.212 ....................-> Index "TEST2_PARTIAL_ASC" Full Scan
2025-06-29 05:35:28.219 2 UPPERED "L" w/accent
2025-06-29 05:35:28.225 1 lowered "L" w/accent
2025-06-29 05:35:28.231 4 UPPERED "L" normal
2025-06-29 05:35:28.237 3 lowered "L" normal
2025-06-29 05:35:28.244
2025-06-29 05:35:28.249
2025-06-29 05:35:28.261 After alter domain dm_utf8 type varchar(1) character set utf8:
2025-06-29 05:35:28.271
2025-06-29 05:35:28.280 Query: select * from v1_chk_nr
2025-06-29 05:35:28.288 Select Expression
2025-06-29 05:35:28.293 ....-> Sort (record length: NN, key length: MM)
2025-06-29 05:35:28.301 ........-> Filter
2025-06-29 05:35:28.311 ............-> Table "TEST1" as "V1_CHK_NR TEST1" Full Scan
2025-06-29 05:35:28.320 3 lowered "D" normal
2025-06-29 05:35:28.328 Query: select * from v1_chk_ir_asc
2025-06-29 05:35:28.335 Select Expression
2025-06-29 05:35:28.341 ....-> Filter
2025-06-29 05:35:28.348 ........-> Table "TEST1" as "V1_CHK_IR_ASC TEST1" Access By ID
2025-06-29 05:35:28.354 ............-> Index "TEST1_ASC" Range Scan (full match)
2025-06-29 05:35:28.365 3 lowered "D" normal
2025-06-29 05:35:28.375 Query: select * from v1_chk_ir_dec
2025-06-29 05:35:28.382 Select Expression
2025-06-29 05:35:28.389 ....-> Filter
2025-06-29 05:35:28.395 ........-> Table "TEST1" as "V1_CHK_IR_DEC TEST1" Access By ID
2025-06-29 05:35:28.400 ............-> Index "TEST1_DEC" Range Scan (full match)
2025-06-29 05:35:28.411 3 lowered "D" normal
2025-06-29 05:35:28.419 Query: select * from v2_chk_nr
2025-06-29 05:35:28.429 Select Expression
2025-06-29 05:35:28.441 ....-> Sort (record length: NN, key length: MM)
2025-06-29 05:35:28.450 ........-> Filter
2025-06-29 05:35:28.457 ............-> Table "TEST2" as "V2_CHK_NR TEST2" Full Scan
2025-06-29 05:35:28.464 3 lowered "L" normal
2025-06-29 05:35:28.471 Query: select * from v2_chk_ir_asc
2025-06-29 05:35:28.479 Select Expression
2025-06-29 05:35:28.491 ....-> Filter
2025-06-29 05:35:28.500 ........-> Table "TEST2" as "V2_CHK_IR_ASC TEST2" Access By ID
2025-06-29 05:35:28.508 ............-> Index "TEST2_PARTIAL_ASC" Full Scan
2025-06-29 05:35:28.514 3 lowered "L" normal
2025-06-29 05:35:28.521 Query: select * from v2_chk_ir_dec
2025-06-29 05:35:28.527 Select Expression
2025-06-29 05:35:28.534 ....-> Sort (record length: NN, key length: MM)
2025-06-29 05:35:28.540 ........-> Filter
2025-06-29 05:35:28.547 ............-> Table "TEST2" as "V2_CHK_IR_DEC TEST2" Access By ID
2025-06-29 05:35:28.555 ................-> Bitmap
2025-06-29 05:35:28.561 ....................-> Index "TEST2_PARTIAL_ASC" Full Scan
2025-06-29 05:35:28.567 3 lowered "L" normal
2025-06-29 05:35:28.573 """
2025-06-29 05:35:28.580
2025-06-29 05:35:28.587 act.expected_stdout = expected_stdout
2025-06-29 05:35:28.594
2025-06-29 05:35:28.600 act.stdout = capsys.readouterr().out
2025-06-29 05:35:28.607 >       assert act.clean_stdout == act.clean_expected_stdout
2025-06-29 05:35:28.613 E       assert
2025-06-29 05:35:28.619 E           Initial state:
2025-06-29 05:35:28.625 E           Query: select * from v1_chk_nr
2025-06-29 05:35:28.632 E           Select Expression
2025-06-29 05:35:28.638 E           ....-> Sort (record length: NN, key length: MM)
2025-06-29 05:35:28.644 E           ........-> Filter
2025-06-29 05:35:28.650 E         - ............-> Table "TEST1" as "V1_CHK_NR TEST1" Full Scan
2025-06-29 05:35:28.663 E         + ............-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_NR" "PUBLIC"."TEST1" Full Scan
2025-06-29 05:35:28.683 E           3 lowered "D" normal
2025-06-29 05:35:28.691 E           Query: select * from v1_chk_ir_asc
2025-06-29 05:35:28.701 E           Select Expression
2025-06-29 05:35:28.709 E           ....-> Filter
2025-06-29 05:35:28.722 E         - ........-> Table "TEST1" as "V1_CHK_IR_ASC TEST1" Access By ID
2025-06-29 05:35:28.738 E         + ........-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_IR_ASC" "PUBLIC"."TEST1" Access By ID
2025-06-29 05:35:28.750 E         - ............-> Index "TEST1_ASC" Range Scan (full match)
2025-06-29 05:35:28.756 E         + ............-> Index "PUBLIC"."TEST1_ASC" Range Scan (full match)
2025-06-29 05:35:28.767 E           3 lowered "D" normal
2025-06-29 05:35:28.773 E           Query: select * from v1_chk_ir_dec
2025-06-29 05:35:28.778 E           Select Expression
2025-06-29 05:35:28.784 E           ....-> Filter
2025-06-29 05:35:28.790 E         - ........-> Table "TEST1" as "V1_CHK_IR_DEC TEST1" Access By ID
2025-06-29 05:35:28.811 E         + ........-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_IR_DEC" "PUBLIC"."TEST1" Access By ID
2025-06-29 05:35:28.833 E         - ............-> Index "TEST1_DEC" Range Scan (full match)
2025-06-29 05:35:28.846 E         + ............-> Index "PUBLIC"."TEST1_DEC" Range Scan (full match)
2025-06-29 05:35:28.874 E           3 lowered "D" normal
2025-06-29 05:35:28.885 E           Query: select * from v2_chk_nr
2025-06-29 05:35:28.897 E           Select Expression
2025-06-29 05:35:28.908 E           ....-> Sort (record length: NN, key length: MM)
2025-06-29 05:35:28.916 E           ........-> Filter
2025-06-29 05:35:28.923 E         - ............-> Table "TEST2" as "V2_CHK_NR TEST2" Full Scan
2025-06-29 05:35:28.934 E         + ............-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_NR" "PUBLIC"."TEST2" Full Scan
2025-06-29 05:35:28.952 E           3 lowered "L" normal
2025-06-29 05:35:28.959 E           Query: select * from v2_chk_ir_asc
2025-06-29 05:35:28.971 E           Select Expression
2025-06-29 05:35:28.983 E           ....-> Filter
2025-06-29 05:35:28.993 E         - ........-> Table "TEST2" as "V2_CHK_IR_ASC TEST2" Access By ID
2025-06-29 05:35:29.017 E         + ........-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_IR_ASC" "PUBLIC"."TEST2" Access By ID
2025-06-29 05:35:29.034 E         - ............-> Index "TEST2_PARTIAL_ASC" Full Scan
2025-06-29 05:35:29.041 E         + ............-> Index "PUBLIC"."TEST2_PARTIAL_ASC" Full Scan
2025-06-29 05:35:29.062 E           3 lowered "L" normal
2025-06-29 05:35:29.071 E           Query: select * from v2_chk_ir_dec
2025-06-29 05:35:29.079 E           Select Expression
2025-06-29 05:35:29.087 E           ....-> Sort (record length: NN, key length: MM)
2025-06-29 05:35:29.095 E           ........-> Filter
2025-06-29 05:35:29.103 E         - ............-> Table "TEST2" as "V2_CHK_IR_DEC TEST2" Access By ID
2025-06-29 05:35:29.119 E         + ............-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_IR_DEC" "PUBLIC"."TEST2" Access By ID
2025-06-29 05:35:29.137 E           ................-> Bitmap
2025-06-29 05:35:29.145 E         - ....................-> Index "TEST2_PARTIAL_ASC" Full Scan
2025-06-29 05:35:29.151 E         + ....................-> Index "PUBLIC"."TEST2_PARTIAL_ASC" Full Scan
2025-06-29 05:35:29.165 E           3 lowered "L" normal
2025-06-29 05:35:29.176 E           After alter domain dm_utf8 type varchar(1) character set utf8 collate unicode_ci:
2025-06-29 05:35:29.188 E           Query: select * from v1_chk_nr
2025-06-29 05:35:29.199 E           Select Expression
2025-06-29 05:35:29.208 E           ....-> Sort (record length: NN, key length: MM)
2025-06-29 05:35:29.217 E           ........-> Filter
2025-06-29 05:35:29.224 E         - ............-> Table "TEST1" as "V1_CHK_NR TEST1" Full Scan
2025-06-29 05:35:29.239 E         + ............-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_NR" "PUBLIC"."TEST1" Full Scan
2025-06-29 05:35:29.255 E           3 lowered "D" normal
2025-06-29 05:35:29.263 E           4 UPPERED "D" normal
2025-06-29 05:35:29.273 E           Query: select * from v1_chk_ir_asc
2025-06-29 05:35:29.286 E           Select Expression
2025-06-29 05:35:29.295 E           ....-> Filter
2025-06-29 05:35:29.303 E         - ........-> Table "TEST1" as "V1_CHK_IR_ASC TEST1" Access By ID
2025-06-29 05:35:29.325 E         + ........-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_IR_ASC" "PUBLIC"."TEST1" Access By ID
2025-06-29 05:35:29.341 E         - ............-> Index "TEST1_ASC" Range Scan (full match)
2025-06-29 05:35:29.346 E         + ............-> Index "PUBLIC"."TEST1_ASC" Range Scan (full match)
2025-06-29 05:35:29.356 E           3 lowered "D" normal
2025-06-29 05:35:29.361 E           4 UPPERED "D" normal
2025-06-29 05:35:29.366 E           Query: select * from v1_chk_ir_dec
2025-06-29 05:35:29.370 E           Select Expression
2025-06-29 05:35:29.377 E           ....-> Filter
2025-06-29 05:35:29.384 E         - ........-> Table "TEST1" as "V1_CHK_IR_DEC TEST1" Access By ID
2025-06-29 05:35:29.397 E         + ........-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_IR_DEC" "PUBLIC"."TEST1" Access By ID
2025-06-29 05:35:29.410 E         - ............-> Index "TEST1_DEC" Range Scan (full match)
2025-06-29 05:35:29.417 E         + ............-> Index "PUBLIC"."TEST1_DEC" Range Scan (full match)
2025-06-29 05:35:29.433 E           4 UPPERED "D" normal
2025-06-29 05:35:29.440 E           3 lowered "D" normal
2025-06-29 05:35:29.447 E           Query: select * from v2_chk_nr
2025-06-29 05:35:29.454 E           Select Expression
2025-06-29 05:35:29.461 E           ....-> Sort (record length: NN, key length: MM)
2025-06-29 05:35:29.468 E           ........-> Filter
2025-06-29 05:35:29.476 E         - ............-> Table "TEST2" as "V2_CHK_NR TEST2" Full Scan
2025-06-29 05:35:29.493 E         + ............-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_NR" "PUBLIC"."TEST2" Full Scan
2025-06-29 05:35:29.514 E           3 lowered "L" normal
2025-06-29 05:35:29.523 E           4 UPPERED "L" normal
2025-06-29 05:35:29.531 E           Query: select * from v2_chk_ir_asc
2025-06-29 05:35:29.537 E           Select Expression
2025-06-29 05:35:29.543 E           ....-> Filter
2025-06-29 05:35:29.551 E         - ........-> Table "TEST2" as "V2_CHK_IR_ASC TEST2" Access By ID
2025-06-29 05:35:29.571 E         + ........-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_IR_ASC" "PUBLIC"."TEST2" Access By ID
2025-06-29 05:35:29.595 E         - ............-> Index "TEST2_PARTIAL_ASC" Full Scan
2025-06-29 05:35:29.605 E         + ............-> Index "PUBLIC"."TEST2_PARTIAL_ASC" Full Scan
2025-06-29 05:35:29.632 E           3 lowered "L" normal
2025-06-29 05:35:29.647 E           4 UPPERED "L" normal
2025-06-29 05:35:29.663 E           Query: select * from v2_chk_ir_dec
2025-06-29 05:35:29.671 E           Select Expression
2025-06-29 05:35:29.678 E           ....-> Sort (record length: NN, key length: MM)
2025-06-29 05:35:29.684 E           ........-> Filter
2025-06-29 05:35:29.690 E         - ............-> Table "TEST2" as "V2_CHK_IR_DEC TEST2" Access By ID
2025-06-29 05:35:29.703 E         + ............-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_IR_DEC" "PUBLIC"."TEST2" Access By ID
2025-06-29 05:35:29.719 E           ................-> Bitmap
2025-06-29 05:35:29.727 E         - ....................-> Index "TEST2_PARTIAL_ASC" Full Scan
2025-06-29 05:35:29.734 E         + ....................-> Index "PUBLIC"."TEST2_PARTIAL_ASC" Full Scan
2025-06-29 05:35:29.747 E           4 UPPERED "L" normal
2025-06-29 05:35:29.754 E           3 lowered "L" normal
2025-06-29 05:35:29.764 E           After alter domain dm_utf8 type varchar(1) character set utf8 collate unicode_ci_ai:
2025-06-29 05:35:29.775 E           Query: select * from v1_chk_nr
2025-06-29 05:35:29.783 E           Select Expression
2025-06-29 05:35:29.789 E           ....-> Sort (record length: NN, key length: MM)
2025-06-29 05:35:29.796 E           ........-> Filter
2025-06-29 05:35:29.801 E         - ............-> Table "TEST1" as "V1_CHK_NR TEST1" Full Scan
2025-06-29 05:35:29.819 E         + ............-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_NR" "PUBLIC"."TEST1" Full Scan
2025-06-29 05:35:29.845 E           1 lowered "D" w/accent
2025-06-29 05:35:29.856 E           2 UPPERED "D" w/accent
2025-06-29 05:35:29.865 E           3 lowered "D" normal
2025-06-29 05:35:29.877 E           4 UPPERED "D" normal
2025-06-29 05:35:29.888 E           Query: select * from v1_chk_ir_asc
2025-06-29 05:35:29.899 E           Select Expression
2025-06-29 05:35:29.907 E           ....-> Filter
2025-06-29 05:35:29.915 E         - ........-> Table "TEST1" as "V1_CHK_IR_ASC TEST1" Access By ID
2025-06-29 05:35:29.940 E         + ........-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_IR_ASC" "PUBLIC"."TEST1" Access By ID
2025-06-29 05:35:29.960 E         - ............-> Index "TEST1_ASC" Range Scan (full match)
2025-06-29 05:35:29.971 E         + ............-> Index "PUBLIC"."TEST1_ASC" Range Scan (full match)
2025-06-29 05:35:29.987 E           3 lowered "D" normal
2025-06-29 05:35:29.993 E           4 UPPERED "D" normal
2025-06-29 05:35:29.999 E           1 lowered "D" w/accent
2025-06-29 05:35:30.006 E           2 UPPERED "D" w/accent
2025-06-29 05:35:30.017 E           Query: select * from v1_chk_ir_dec
2025-06-29 05:35:30.031 E           Select Expression
2025-06-29 05:35:30.038 E           ....-> Filter
2025-06-29 05:35:30.044 E         - ........-> Table "TEST1" as "V1_CHK_IR_DEC TEST1" Access By ID
2025-06-29 05:35:30.059 E         + ........-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_IR_DEC" "PUBLIC"."TEST1" Access By ID
2025-06-29 05:35:30.080 E         - ............-> Index "TEST1_DEC" Range Scan (full match)
2025-06-29 05:35:30.088 E         + ............-> Index "PUBLIC"."TEST1_DEC" Range Scan (full match)
2025-06-29 05:35:30.108 E           2 UPPERED "D" w/accent
2025-06-29 05:35:30.119 E           1 lowered "D" w/accent
2025-06-29 05:35:30.131 E           4 UPPERED "D" normal
2025-06-29 05:35:30.141 E           3 lowered "D" normal
2025-06-29 05:35:30.155 E           Query: select * from v2_chk_nr
2025-06-29 05:35:30.166 E           Select Expression
2025-06-29 05:35:30.177 E           ....-> Sort (record length: NN, key length: MM)
2025-06-29 05:35:30.185 E           ........-> Filter
2025-06-29 05:35:30.195 E         - ............-> Table "TEST2" as "V2_CHK_NR TEST2" Full Scan
2025-06-29 05:35:30.205 E         + ............-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_NR" "PUBLIC"."TEST2" Full Scan
2025-06-29 05:35:30.217 E           1 lowered "L" w/accent
2025-06-29 05:35:30.226 E           2 UPPERED "L" w/accent
2025-06-29 05:35:30.237 E           3 lowered "L" normal
2025-06-29 05:35:30.248 E           4 UPPERED "L" normal
2025-06-29 05:35:30.262 E           Query: select * from v2_chk_ir_asc
2025-06-29 05:35:30.275 E           Select Expression
2025-06-29 05:35:30.285 E           ....-> Filter
2025-06-29 05:35:30.293 E         - ........-> Table "TEST2" as "V2_CHK_IR_ASC TEST2" Access By ID
2025-06-29 05:35:30.310 E         + ........-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_IR_ASC" "PUBLIC"."TEST2" Access By ID
2025-06-29 05:35:30.326 E         - ............-> Index "TEST2_PARTIAL_ASC" Full Scan
2025-06-29 05:35:30.334 E         + ............-> Index "PUBLIC"."TEST2_PARTIAL_ASC" Full Scan
2025-06-29 05:35:30.353 E           3 lowered "L" normal
2025-06-29 05:35:30.361 E           4 UPPERED "L" normal
2025-06-29 05:35:30.366 E           1 lowered "L" w/accent
2025-06-29 05:35:30.374 E           2 UPPERED "L" w/accent
2025-06-29 05:35:30.381 E           Query: select * from v2_chk_ir_dec
2025-06-29 05:35:30.388 E           Select Expression
2025-06-29 05:35:30.395 E           ....-> Sort (record length: NN, key length: MM)
2025-06-29 05:35:30.403 E           ........-> Filter
2025-06-29 05:35:30.414 E         - ............-> Table "TEST2" as "V2_CHK_IR_DEC TEST2" Access By ID
2025-06-29 05:35:30.439 E         + ............-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_IR_DEC" "PUBLIC"."TEST2" Access By ID
2025-06-29 05:35:30.460 E           ................-> Bitmap
2025-06-29 05:35:30.473 E         - ....................-> Index "TEST2_PARTIAL_ASC" Full Scan
2025-06-29 05:35:30.487 E         + ....................-> Index "PUBLIC"."TEST2_PARTIAL_ASC" Full Scan
2025-06-29 05:35:30.510 E           2 UPPERED "L" w/accent
2025-06-29 05:35:30.523 E           1 lowered "L" w/accent
2025-06-29 05:35:30.533 E           4 UPPERED "L" normal
2025-06-29 05:35:30.548 E           3 lowered "L" normal
2025-06-29 05:35:30.561 E           After alter domain dm_utf8 type varchar(1) character set utf8:
2025-06-29 05:35:30.574 E           Query: select * from v1_chk_nr
2025-06-29 05:35:30.583 E           Select Expression
2025-06-29 05:35:30.592 E           ....-> Sort (record length: NN, key length: MM)
2025-06-29 05:35:30.600 E           ........-> Filter
2025-06-29 05:35:30.608 E         - ............-> Table "TEST1" as "V1_CHK_NR TEST1" Full Scan
2025-06-29 05:35:30.623 E         + ............-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_NR" "PUBLIC"."TEST1" Full Scan
2025-06-29 05:35:30.639 E           3 lowered "D" normal
2025-06-29 05:35:30.646 E           Query: select * from v1_chk_ir_asc
2025-06-29 05:35:30.654 E           Select Expression
2025-06-29 05:35:30.664 E           ....-> Filter
2025-06-29 05:35:30.672 E         - ........-> Table "TEST1" as "V1_CHK_IR_ASC TEST1" Access By ID
2025-06-29 05:35:30.683 E         + ........-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_IR_ASC" "PUBLIC"."TEST1" Access By ID
2025-06-29 05:35:30.694 E         - ............-> Index "TEST1_ASC" Range Scan (full match)
2025-06-29 05:35:30.699 E         + ............-> Index "PUBLIC"."TEST1_ASC" Range Scan (full match)
2025-06-29 05:35:30.712 E           3 lowered "D" normal
2025-06-29 05:35:30.724 E           Query: select * from v1_chk_ir_dec
2025-06-29 05:35:30.738 E           Select Expression
2025-06-29 05:35:30.747 E           ....-> Filter
2025-06-29 05:35:30.755 E         - ........-> Table "TEST1" as "V1_CHK_IR_DEC TEST1" Access By ID
2025-06-29 05:35:30.777 E         + ........-> Table "PUBLIC"."TEST1" as "PUBLIC"."V1_CHK_IR_DEC" "PUBLIC"."TEST1" Access By ID
2025-06-29 05:35:30.800 E         - ............-> Index "TEST1_DEC" Range Scan (full match)
2025-06-29 05:35:30.808 E         + ............-> Index "PUBLIC"."TEST1_DEC" Range Scan (full match)
2025-06-29 05:35:30.820 E           3 lowered "D" normal
2025-06-29 05:35:30.827 E           Query: select * from v2_chk_nr
2025-06-29 05:35:30.834 E           Select Expression
2025-06-29 05:35:30.841 E           ....-> Sort (record length: NN, key length: MM)
2025-06-29 05:35:30.847 E           ........-> Filter
2025-06-29 05:35:30.852 E         - ............-> Table "TEST2" as "V2_CHK_NR TEST2" Full Scan
2025-06-29 05:35:30.872 E         + ............-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_NR" "PUBLIC"."TEST2" Full Scan
2025-06-29 05:35:30.887 E           3 lowered "L" normal
2025-06-29 05:35:30.893 E           Query: select * from v2_chk_ir_asc
2025-06-29 05:35:30.898 E           Select Expression
2025-06-29 05:35:30.903 E           ....-> Filter
2025-06-29 05:35:30.909 E         - ........-> Table "TEST2" as "V2_CHK_IR_ASC TEST2" Access By ID
2025-06-29 05:35:30.919 E         + ........-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_IR_ASC" "PUBLIC"."TEST2" Access By ID
2025-06-29 05:35:30.933 E         - ............-> Index "TEST2_PARTIAL_ASC" Full Scan
2025-06-29 05:35:30.939 E         + ............-> Index "PUBLIC"."TEST2_PARTIAL_ASC" Full Scan
2025-06-29 05:35:30.950 E           3 lowered "L" normal
2025-06-29 05:35:30.958 E           Query: select * from v2_chk_ir_dec
2025-06-29 05:35:30.964 E           Select Expression
2025-06-29 05:35:30.975 E           ....-> Sort (record length: NN, key length: MM)
2025-06-29 05:35:30.990 E           ........-> Filter
2025-06-29 05:35:31.002 E         - ............-> Table "TEST2" as "V2_CHK_IR_DEC TEST2" Access By ID
2025-06-29 05:35:31.026 E         + ............-> Table "PUBLIC"."TEST2" as "PUBLIC"."V2_CHK_IR_DEC" "PUBLIC"."TEST2" Access By ID
2025-06-29 05:35:31.044 E           ................-> Bitmap
2025-06-29 05:35:31.055 E         - ....................-> Index "TEST2_PARTIAL_ASC" Full Scan
2025-06-29 05:35:31.062 E         + ....................-> Index "PUBLIC"."TEST2_PARTIAL_ASC" Full Scan
2025-06-29 05:35:31.088 E           3 lowered "L" normal
2025-06-29 05:35:31.097
2025-06-29 05:35:31.108 tests/bugs/gh_8434_test.py:371: AssertionError
2025-06-29 05:35:31.118 ---------------------------- Captured stdout setup -----------------------------
2025-06-29 05:35:31.127 Creating db: localhost:/var/tmp/qa_2024/test_11738/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.881 2025.06.27 7035d F F 1062 860 2025.06.29 02:00:57.437 2025.06.29 02:00:58.499 2025.06.28 23:21:08.602 2025.06.28 23:21:09.462
2 6.0.0.877 2025.06.26 8e38f F F 973 660 2025.06.27 01:45:15.656 2025.06.27 01:45:16.629 2025.06.26 23:13:19.180 2025.06.26 23:13:19.840
3 6.0.0.876 2025.06.25 b1bec F F 972 960 2025.06.26 01:49:07.669 2025.06.26 01:49:08.641 2025.06.25 23:15:13.822 2025.06.25 23:15:14.782
4 6.0.0.863 2025.06.24 c3c20 F F 986 471 2025.06.25 01:49:26.276 2025.06.25 01:49:27.262 2025.06.24 23:14:56.830 2025.06.24 23:14:57.301
5 6.0.0.858 2025.06.23 8d6f7 F F 987 469 2025.06.24 01:49:47.154 2025.06.24 01:49:48.141 2025.06.23 23:15:07.733 2025.06.23 23:15:08.202
6 6.0.0.849 2025.06.20 7b79c F F 1120 496 2025.06.21 02:01:19.126 2025.06.21 02:01:20.246 2025.06.20 23:24:11.527 2025.06.20 23:24:12.023
7 6.0.0.848 2025.06.19 c483c F F 1035 833 2025.06.20 01:57:41.377 2025.06.20 01:57:42.412 2025.06.19 23:20:59.147 2025.06.19 23:20:59.980
8 6.0.0.845 2025.06.18 22b12 F F 991 518 2025.06.19 02:06:19.202 2025.06.19 02:06:20.193 2025.06.18 23:24:15.990 2025.06.18 23:24:16.508
9 6.0.0.843 2025.06.16 995f4 F F 906 1045 2025.06.18 02:04:36.333 2025.06.18 02:04:37.239 2025.06.17 23:25:50.106 2025.06.17 23:25:51.151
10 6.0.0.840 2025.06.14 29bca F F 1132 774 2025.06.16 01:56:25.919 2025.06.16 01:56:27.051 2025.06.15 23:18:27.624 2025.06.15 23:18:28.398
11 6.0.0.838 2025.06.13 0e28a F F 950 980 2025.06.14 02:09:31.692 2025.06.14 02:09:32.642 2025.06.13 23:26:02.881 2025.06.13 23:26:03.861
12 6.0.0.835 2025.06.12 2cf29 F F 1091 847 2025.06.13 02:09:23.234 2025.06.13 02:09:24.325 2025.06.12 23:30:02.859 2025.06.12 23:30:03.706
13 6.0.0.834 2025.06.11 e889f F F 1047 508 2025.06.12 02:04:38.982 2025.06.12 02:04:40.029 2025.06.11 23:25:55.062 2025.06.11 23:25:55.570
14 6.0.0.800 2025.06.10 1f226 P P 1525 872 2025.06.11 00:33:16.721 2025.06.11 00:33:18.246 2025.06.10 22:25:41.067 2025.06.10 22:25:41.939
15 6.0.0.799 2025.06.07 be644 P P 824 798 2025.06.10 00:35:35.187 2025.06.10 00:35:36.011 2025.06.09 22:25:22.401 2025.06.09 22:25:23.199
16 6.0.0.797 2025.06.06 303e8 P P 1345 796 2025.06.07 00:39:07.938 2025.06.07 00:39:09.283 2025.06.06 22:24:56.138 2025.06.06 22:24:56.934
17 6.0.0.795 2025.05.29 7a71a P P 1662 928 2025.06.06 00:32:50.860 2025.06.06 00:32:52.522 2025.06.05 22:24:03.224 2025.06.05 22:24:04.152
18 6.0.0.792 2025.05.28 b4327 P P 1496 1078 2025.05.29 00:47:51.926 2025.05.29 00:47:53.422 2025.05.28 22:27:21.095 2025.05.28 22:27:22.173
19 6.0.0.791 2025.05.27 02db8 P P 859 898 2025.05.28 00:45:12.713 2025.05.28 00:45:13.572 2025.05.27 22:26:26.802 2025.05.27 22:26:27.700
20 6.0.0.789 2025.05.21 64051 P P 811 992 2025.05.25 00:37:48.352 2025.05.25 00:37:49.163 2025.05.24 22:25:27.634 2025.05.24 22:25:28.626
21 6.0.0.787 2025.05.20 230ad P P 867 760 2025.05.21 00:34:56.195 2025.05.21 00:34:57.062 2025.05.20 22:23:45.854 2025.05.20 22:23:46.614
22 6.0.0.783 2025.05.12 37320 P P 1119 715 2025.05.19 12:07:43.327 2025.05.19 12:07:44.446 2025.05.19 10:11:27.530 2025.05.19 10:11:28.245
23 6.0.0.779 2025.05.11 136fa P P 1566 576 2025.05.12 00:30:04.604 2025.05.12 00:30:06.170 2025.05.11 22:23:11.730 2025.05.11 22:23:12.306
24 6.0.0.778 2025.05.07 d735e P P 841 897 2025.05.08 00:31:42.027 2025.05.08 00:31:42.868 2025.05.07 22:21:56.541 2025.05.07 22:21:57.438
25 6.0.0.776 2025.05.06 007cd P P 1813 960 2025.05.07 00:26:42.535 2025.05.07 00:26:44.348 2025.05.06 22:21:49.634 2025.05.06 22:21:50.594
26 6.0.0.770 2025.05.05 82c4a P P 1585 1016 2025.05.06 00:26:03.194 2025.05.06 00:26:04.779 2025.05.05 22:20:45.499 2025.05.05 22:20:46.515
27 6.0.0.767 2025.05.01 cdd29 P P 1603 963 2025.05.02 00:22:05.467 2025.05.02 00:22:07.070 2025.05.01 22:19:59.539 2025.05.01 22:20:00.502
28 6.0.0.762 2025.04.30 5cb15 P P 1588 919 2025.05.01 00:18:27.810 2025.05.01 00:18:29.398 2025.04.30 22:18:37.395 2025.04.30 22:18:38.314
29 6.0.0.755 2025.04.29 739c6 P P 1207 906 2025.04.30 00:22:21.675 2025.04.30 00:22:22.882 2025.04.29 22:20:02.670 2025.04.29 22:20:03.576
30 6.0.0.753 2025.04.27 29ab3 P P 1013 845 2025.04.28 00:24:00.658 2025.04.28 00:24:01.671 2025.04.27 22:19:18.208 2025.04.27 22:19:19.053
31 6.0.0.745 2025.04.21 78ad8 P P 879 787 2025.04.26 00:20:02.042 2025.04.26 00:20:02.921 2025.04.25 22:21:14.811 2025.04.25 22:21:15.598
32 6.0.0.744 2025.04.19 e883a P P 930 774 2025.04.20 00:22:30.127 2025.04.20 00:22:31.057 2025.04.19 22:20:30.685 2025.04.19 22:20:31.459
33 6.0.0.742 2025.04.17 abc3b P P 849 979 2025.04.19 00:24:22.282 2025.04.19 00:24:23.131 2025.04.18 22:20:55.875 2025.04.18 22:20:56.854
34 6.0.0.737 2025.04.16 fe52b P P 1521 823 2025.04.17 00:20:25.086 2025.04.17 00:20:26.607 2025.04.16 22:20:57.337 2025.04.16 22:20:58.160
35 6.0.0.736 2025.04.14 3e6be P P 1519 776 2025.04.15 00:01:36.674 2025.04.15 00:01:38.193 2025.04.14 22:12:24.653 2025.04.14 22:12:25.429
36 6.0.0.735 2025.04.13 6635c P P 730 435 2025.04.14 00:04:51.547 2025.04.14 00:04:52.277 2025.04.13 22:13:31.746 2025.04.13 22:13:32.181
37 6.0.0.734 2025.04.12 12f3f P P 1503 671 2025.04.13 00:01:50.559 2025.04.13 00:01:52.062 2025.04.12 22:12:50.307 2025.04.12 22:12:50.978
38 6.0.0.730 2025.04.11 240b8 P P 1281 775 2025.04.12 00:04:14.492 2025.04.12 00:04:15.773 2025.04.11 22:12:29.629 2025.04.11 22:12:30.404
39 6.0.0.726 2025.04.10 d79c6 P P 785 521 2025.04.11 00:04:14.519 2025.04.11 00:04:15.304 2025.04.10 22:12:33.355 2025.04.10 22:12:33.876
40 6.0.0.725 2025.04.09 a2b05 P P 856 495 2025.04.10 00:04:42.552 2025.04.10 00:04:43.408 2025.04.09 22:14:01.787 2025.04.09 22:14:02.282
41 6.0.0.722 2025.04.08 a8b86 P P 856 896 2025.04.09 00:21:42.985 2025.04.09 00:21:43.841 2025.04.08 22:20:11.694 2025.04.08 22:20:12.590
42 6.0.0.719 2025.04.06 90fd9 P P 824 433 2025.04.07 00:18:33.915 2025.04.07 00:18:34.739 2025.04.06 22:18:20.803 2025.04.06 22:18:21.236
43 6.0.0.717 2025.04.04 53d70 P P 1519 727 2025.04.05 00:13:40.511 2025.04.05 00:13:42.030 2025.04.04 22:17:44.962 2025.04.04 22:17:45.689
44 6.0.0.716 2025.04.03 fc636 P P 1336 801 2025.04.04 00:18:17.298 2025.04.04 00:18:18.634 2025.04.03 22:19:22.146 2025.04.03 22:19:22.947
45 6.0.0.715 2025.04.02 907ed P P 831 679 2025.04.03 00:18:02.623 2025.04.03 00:18:03.454 2025.04.02 22:19:39.806 2025.04.02 22:19:40.485
46 6.0.0.710 2025.04.01 40651 P P 910 909 2025.04.02 00:16:11.087 2025.04.02 00:16:11.997 2025.04.01 22:18:24.826 2025.04.01 22:18:25.735
47 6.0.0.708 2025.03.31 cb069 P P 1475 442 2025.04.01 00:07:02.283 2025.04.01 00:07:03.758 2025.03.31 22:13:37.726 2025.03.31 22:13:38.168
48 6.0.0.707 2025.03.28 4bd4f P P 865 823 2025.03.31 00:07:20.314 2025.03.31 00:07:21.179 2025.03.30 22:14:14.079 2025.03.30 22:14:14.902
49 6.0.0.698 2025.03.26 d72a7 P P 920 973 2025.03.28 00:30:12.645 2025.03.28 00:30:13.565 2025.03.27 22:20:10.190 2025.03.27 22:20:11.163
50 6.0.0.693 2025.03.24 0b559 P P 1026 477 2025.03.25 00:16:33.728 2025.03.25 00:16:34.754 2025.03.24 22:16:38.487 2025.03.24 22:16:38.964
51 6.0.0.687 2025.03.22 730aa P P 849 767 2025.03.24 00:26:18.270 2025.03.24 00:26:19.119 2025.03.23 22:23:47.287 2025.03.23 22:23:48.054
52 6.0.0.686 2025.03.20 71bf6 P P 1623 1021 2025.03.21 00:33:16.842 2025.03.21 00:33:18.465 2025.03.20 22:26:13.444 2025.03.20 22:26:14.465
53 6.0.0.685 2025.03.19 a8577 P P 1444 861 2025.03.20 00:37:23.470 2025.03.20 00:37:24.914 2025.03.19 22:24:07.142 2025.03.19 22:24:08.003
54 6.0.0.680 2025.03.18 90d29 P P 714 352 2025.03.19 10:55:03.613 2025.03.19 10:55:04.327 2025.03.19 09:09:00.229 2025.03.19 09:09:00.581
55 6.0.0.677 2025.03.16 c0a60 P P 1143 503 2025.03.17 00:25:30.087 2025.03.17 00:25:31.230 2025.03.16 22:23:35.419 2025.03.16 22:23:35.922
56 6.0.0.676 2025.03.15 3034f P P 687 394 2025.03.16 15:57:05.584 2025.03.16 15:57:06.271 2025.03.16 14:13:29.580 2025.03.16 14:13:29.974
57 6.0.0.673 2025.03.13 40f5b P P 598 520 2025.03.14 00:23:48.267 2025.03.14 00:23:48.865 2025.03.13 22:22:29.227 2025.03.13 22:22:29.747
58 6.0.0.671 2025.03.12 a4fff P P 1128 432 2025.03.13 00:27:31.821 2025.03.13 00:27:32.949 2025.03.12 22:25:40.820 2025.03.12 22:25:41.252
59 6.0.0.663 2025.03.11 daad2 P P 880 610 2025.03.12 00:26:04.707 2025.03.12 00:26:05.587 2025.03.11 22:24:47.813 2025.03.11 22:24:48.423
60 6.0.0.661 2025.03.07 b9869 P P 599 280 2025.03.11 00:04:18.967 2025.03.11 00:04:19.566 2025.03.10 22:15:41.951 2025.03.10 22:15:42.231
61 6.0.0.660 2025.03.04 a6700 P P 1178 480 2025.03.07 00:13:33.987 2025.03.07 00:13:35.165 2025.03.06 22:19:37.199 2025.03.06 22:19:37.679
62 6.0.0.658 2025.03.03 f15f8 P P 604 293 2025.03.04 00:08:28.167 2025.03.04 00:08:28.771 2025.03.03 22:15:53.011 2025.03.03 22:15:53.304
63 6.0.0.656 2025.02.27 25fb4 P P 951 556 2025.03.03 00:37:56.750 2025.03.03 00:37:57.701 2025.03.02 22:27:06.207 2025.03.02 22:27:06.763
64 6.0.0.655 2025.02.25 6e3e0 P P 605 491 2025.02.27 00:12:10.610 2025.02.27 00:12:11.215 2025.02.26 22:17:37.102 2025.02.26 22:17:37.593
65 6.0.0.654 2025.02.24 b7141 P P 1100 526 2025.02.25 00:15:47.626 2025.02.25 00:15:48.726 2025.02.24 22:19:17.873 2025.02.24 22:19:18.399
66 6.0.0.652 2025.02.22 22662 P P 2671 2238 2025.02.24 07:31:36.198 2025.02.24 07:31:38.869 2025.02.24 00:31:31.778 2025.02.24 00:31:34.016
67 6.0.0.647 2025.02.21 9fccb P P 2487 2331 2025.02.22 00:15:26.243 2025.02.22 00:15:28.730 2025.02.21 22:23:02.970 2025.02.21 22:23:05.301
68 6.0.0.640 2025.02.19 9b8ac P P 2973 2243 2025.02.20 00:13:25.254 2025.02.20 00:13:28.227 2025.02.19 22:17:10.394 2025.02.19 22:17:12.637
69 6.0.0.639 2025.02.18 201a4 P P 2526 3260 2025.02.19 00:05:45.731 2025.02.19 00:05:48.257 2025.02.18 22:16:04.904 2025.02.18 22:16:08.164
70 6.0.0.637 2025.02.12 6d0f5 P P 2916 2353 2025.02.14 00:23:14.494 2025.02.14 00:23:17.410 2025.02.13 22:22:55.831 2025.02.13 22:22:58.184

Elapsed time, ms. Chart for last 70 runs:

Last commits information (all timestamps in UTC):