[FEAT MERGE] DAS iterator refactor and keep order optimization

Co-authored-by: saltonz <saltonzh@gmail.com>
Co-authored-by: zhenhan.gong@gmail.com <zhenhan.gong@gmail.com>
Co-authored-by: Tyshawn <tuyunshan@gmail.com>
This commit is contained in:
pe-99y
2024-06-24 13:57:14 +00:00
committed by ob-robot
parent 7f3ce430fb
commit 5c5e6da6ce
88 changed files with 7062 additions and 2432 deletions

View File

@ -296,6 +296,7 @@ _enable_column_store
_enable_compaction_diagnose
_enable_compatible_monotonic
_enable_convert_real_to_decimal
_enable_das_keep_order
_enable_dblink_reuse_connection
_enable_dbms_job_package
_enable_dbms_lob_partial_update

View File

@ -711,7 +711,7 @@ Outputs & filters:
-------------------------------------
0 - output([wfsydp.WSJJDM], [wfsydp.WSJWSY]), filter(nil), rowset=16
access([wfsydp.WSJJDM], [wfsydp.WSJWSY]), partitions(p0)
limit(181819), offset(0), is_index_back=false, is_global_index=true,
limit(181819), offset(0), is_index_back=false, is_global_index=true, keep_ordering=true,
range_key([wfsydp.WSJJDM], [wfsydp.WSJWSY], [wfsydp.WSJJZH], [wfsydp.WSDRDM], [wfsydp.WSJYZH]), range(666888,MIN,MIN,MIN,MIN ; 666888,MAX,MAX,MAX,
MAX),
range_cond([wfsydp.WSJJDM = '666888'])

View File

@ -760,14 +760,14 @@ Outputs & filters:
group(nil), agg_func([T_FUN_SUM(t2.c1)], [T_FUN_COUNT(t2.c1)])
4 - output([t2.c1]), filter(nil), rowset=16
access([t2.c1]), partitions(p0)
is_index_back=false, is_global_index=false,
is_index_back=false, is_global_index=false, keep_ordering=true,
range_key([t2.c1]), range(MIN ; MAX)always true,
range_cond([t2.c1 = :0])
5 - output([cast(T_FUN_COUNT(*), DECIMAL(24, 4))]), filter(nil), rowset=16
group(nil), agg_func([T_FUN_COUNT(*)])
6 - output(nil), filter(nil), rowset=16
access(nil), partitions(p0)
is_index_back=false, is_global_index=false,
is_index_back=false, is_global_index=false, keep_ordering=true,
range_key([t3.c1]), range(MIN ; MAX)always true,
range_cond([t3.c1 = :0])
explain select * from t1 where t1.c1 != (select c2 from t2 where t2.c1 = (select max(c2) from t3 where t3.c1 = t1.c1) order by t2.c2 limit 1);
@ -803,7 +803,7 @@ Outputs & filters:
group(nil), agg_func([T_FUN_MAX(t3.c2)])
6 - output([t3.c2]), filter(nil), rowset=16
access([t3.c2]), partitions(p0)
is_index_back=false, is_global_index=false,
is_index_back=false, is_global_index=false, keep_ordering=true,
range_key([t3.c1]), range(MIN ; MAX)always true,
range_cond([t3.c1 = :0])
7 - output([t2.c1], [t2.c2]), filter(nil), rowset=16

View File

@ -338,7 +338,7 @@ Outputs & filters:
-------------------------------------
0 - output([t1.a], [t1.b]), filter(nil), rowset=16
access([t1.a], [t1.b]), partitions(p0)
is_index_back=false, is_global_index=true,
is_index_back=false, is_global_index=true, keep_ordering=true,
range_key([t1.b], [t1.a]), range(MIN,MIN ; MAX,MAX)always true
select * from t1;
+---+------+
@ -396,7 +396,7 @@ Outputs & filters:
-------------------------------------
0 - output([t1.a], [t1.b]), filter(nil), rowset=16
access([t1.a], [t1.b]), partitions(p0)
is_index_back=false, is_global_index=true,
is_index_back=false, is_global_index=true, keep_ordering=true,
range_key([t1.b], [t1.a]), range(MIN,MIN ; MAX,MAX)always true
select * from t1;
+---+------+
@ -3283,7 +3283,7 @@ Outputs & filters:
[gf_ar_mthly_bill.chked_amt], [gf_ar_mthly_bill.writingoff_amt], [gf_ar_mthly_bill.svc_bill_amt], [gf_ar_mthly_bill.svc_ccy], [gf_ar_mthly_bill.env_source],
[gf_ar_mthly_bill.metadata_source], [gf_ar_mthly_bill.setl_time_zone], [gf_ar_mthly_bill.actg_time_zone], [gf_ar_mthly_bill.inter_trade_flag], [gf_ar_mthly_bill.actg_bill_mth],
[gf_ar_mthly_bill.auto_writeoff_group_no]), partitions(p0)
is_index_back=true, is_global_index=true,
is_index_back=true, is_global_index=true, keep_ordering=true,
range_key([gf_ar_mthly_bill.tnt_inst_id], [gf_ar_mthly_bill.rcrd_id], [gf_ar_mthly_bill.shadow_pk_0], [gf_ar_mthly_bill.shadow_pk_1]), range(MIN,MIN,
MIN,MIN ; MAX,MAX,MAX,MAX)always true
select * from gf_ar_mthly_bill;
@ -3461,7 +3461,7 @@ Outputs & filters:
[gf_ar_mthly_bill.chked_amt], [gf_ar_mthly_bill.writingoff_amt], [gf_ar_mthly_bill.svc_bill_amt], [gf_ar_mthly_bill.svc_ccy], [gf_ar_mthly_bill.env_source],
[gf_ar_mthly_bill.metadata_source], [gf_ar_mthly_bill.setl_time_zone], [gf_ar_mthly_bill.actg_time_zone], [gf_ar_mthly_bill.inter_trade_flag], [gf_ar_mthly_bill.actg_bill_mth],
[gf_ar_mthly_bill.auto_writeoff_group_no]), partitions(p0)
is_index_back=true, is_global_index=true,
is_index_back=true, is_global_index=true, keep_ordering=true,
range_key([gf_ar_mthly_bill.tnt_inst_id], [gf_ar_mthly_bill.rcrd_id], [gf_ar_mthly_bill.shadow_pk_0], [gf_ar_mthly_bill.shadow_pk_1]), range(MIN,MIN,
MIN,MIN ; MAX,MAX,MAX,MAX)always true
select * from gf_ar_mthly_bill;