fix late materialization bug

This commit is contained in:
zl0
2021-09-24 19:19:08 +08:00
committed by wangzelin.wzl
parent bda3d4e6c5
commit 16b086a718
36 changed files with 496 additions and 201 deletions

View File

@ -216,10 +216,10 @@ Outputs & filters:
-------------------------------------
0 - output([t1.c1], [t1.c2], [t2.c2], [t2.c3]), filter(nil), startup_filter([0]),
conds(nil), nl_params_(nil)
1 - output([t2.c2], [t2.c3]), filter(nil), startup_filter([0]),
1 - output([t2.c2], [t2.c3]), filter(nil),
access([t2.c2], [t2.c3]), partitions(p0)
2 - output([t1.c1], [t1.c2]), filter(nil)
3 - output([t1.c1], [t1.c2]), filter(nil), startup_filter([0]),
3 - output([t1.c1], [t1.c2]), filter(nil),
access([t1.c1], [t1.c2]), partitions(p0)
*************** Case 10 ***************
@ -237,10 +237,10 @@ Outputs & filters:
-------------------------------------
0 - output([t1.c1], [t1.c2], [t2.c2], [t2.c3]), filter(nil), startup_filter([0]),
conds(nil), nl_params_(nil)
1 - output([t2.c2], [t2.c3]), filter(nil), startup_filter([0]),
1 - output([t2.c2], [t2.c3]), filter(nil),
access([t2.c2], [t2.c3]), partitions(p0)
2 - output([t1.c1], [t1.c2]), filter(nil)
3 - output([t1.c1], [t1.c2]), filter(nil), startup_filter([0]),
3 - output([t1.c1], [t1.c2]), filter(nil),
access([t1.c1], [t1.c2]), partitions(p0)
*************** Case 11 ***************
@ -1207,19 +1207,19 @@ Outputs & filters:
conds(nil), nl_params_(nil)
2 - output([t1.c1]), filter(nil),
equal_conds([t1.c1 = t.c1]), other_conds(nil)
3 - output([t1.c1]), filter(nil), startup_filter([1]),
3 - output([t1.c1]), filter(nil),
access([t1.c1]), partitions(p0)
4 - output([t.c1]), filter(nil), startup_filter([1]),
4 - output([t.c1]), filter(nil),
access([t.c1]), partitions(p0)
5 - output([1]), filter(nil)
6 - output([1]), filter(nil),
equal_conds([t2.c1 = t3.c1]), other_conds(nil)
7 - output([t2.c1]), filter(nil), startup_filter([1]),
7 - output([t2.c1]), filter(nil),
access([t2.c1]), partitions(p0)
8 - output([t3.c1]), filter(nil), startup_filter([1]),
8 - output([t3.c1]), filter(nil),
access([t3.c1]), partitions(p0)
9 - output([1]), filter(nil)
10 - output([1]), filter(nil), startup_filter([1]),
10 - output([1]), filter(nil),
access([tt.c1]), partitions(p0)
*************** Case 54 ***************
@ -1468,9 +1468,9 @@ Outputs & filters:
-------------------------------------
0 - output([t1.c1], [t1.c2], [t2.c1], [t2.c2], [t2.c3]), filter(nil), startup_filter([0]),
equal_conds([t1.c1 = t2.c1]), other_conds(nil)
1 - output([t1.c1], [t1.c2]), filter(nil), startup_filter([0]),
1 - output([t1.c1], [t1.c2]), filter(nil),
access([t1.c1], [t1.c2]), partitions(p0)
2 - output([t2.c1], [t2.c2], [t2.c3]), filter(nil), startup_filter([0]),
2 - output([t2.c1], [t2.c2], [t2.c3]), filter(nil),
access([t2.c1], [t2.c2], [t2.c3]), partitions(p0)
*************** Case 64 ***************
@ -1488,10 +1488,10 @@ Outputs & filters:
-------------------------------------
0 - output([t1.c1], [t1.c2], [t2.c1], [t2.c2], [t2.c3]), filter(nil), startup_filter([0]),
conds(nil), nl_params_(nil)
1 - output([t2.c1], [t2.c2], [t2.c3]), filter(nil), startup_filter([0]),
1 - output([t2.c1], [t2.c2], [t2.c3]), filter(nil),
access([t2.c1], [t2.c2], [t2.c3]), partitions(p0)
2 - output([t1.c1], [t1.c2]), filter(nil)
3 - output([t1.c1], [t1.c2]), filter(nil), startup_filter([0]),
3 - output([t1.c1], [t1.c2]), filter(nil),
access([t1.c1], [t1.c2]), partitions(p0)
*************** Case 65 ***************
@ -2254,16 +2254,16 @@ Outputs & filters:
conds(nil), nl_params_(nil)
2 - output([t1.c1], [t1.c2], [t2.c1], [t2.c2], [t2.c3]), filter(nil),
conds([t1.c1 != t2.c1]), nl_params_(nil)
3 - output([t1.c1], [t1.c2]), filter(nil), startup_filter([0]),
3 - output([t1.c1], [t1.c2]), filter(nil),
access([t1.c1], [t1.c2]), partitions(p0)
4 - output([t2.c1], [t2.c2], [t2.c3]), filter(nil)
5 - output([t2.c1], [t2.c2], [t2.c3]), filter(nil), startup_filter([0]),
5 - output([t2.c1], [t2.c2], [t2.c3]), filter(nil),
access([t2.c1], [t2.c2], [t2.c3]), partitions(p0)
6 - output([t3.c1], [t3.c2], [t3.c3]), filter(nil)
7 - output([t3.c1], [t3.c2], [t3.c3]), filter(nil), startup_filter([0]),
7 - output([t3.c1], [t3.c2], [t3.c3]), filter(nil),
access([t3.c1], [t3.c2], [t3.c3]), partitions(p0)
8 - output([t4.c1], [t4.c2], [t4.c3]), filter(nil)
9 - output([t4.c1], [t4.c2], [t4.c3]), filter(nil), startup_filter([0]),
9 - output([t4.c1], [t4.c2], [t4.c3]), filter(nil),
access([t4.c1], [t4.c2], [t4.c3]), partitions(p0)
*************** Case 95 ***************
@ -2291,16 +2291,16 @@ Outputs & filters:
conds(nil), nl_params_(nil)
2 - output([t1.c1], [t1.c2], [t2.c1], [t2.c2], [t2.c3]), filter(nil),
conds([t1.c1 != t2.c1]), nl_params_(nil)
3 - output([t1.c1], [t1.c2]), filter(nil), startup_filter([0]),
3 - output([t1.c1], [t1.c2]), filter(nil),
access([t1.c1], [t1.c2]), partitions(p0)
4 - output([t2.c1], [t2.c2], [t2.c3]), filter(nil)
5 - output([t2.c1], [t2.c2], [t2.c3]), filter(nil), startup_filter([0]),
5 - output([t2.c1], [t2.c2], [t2.c3]), filter(nil),
access([t2.c1], [t2.c2], [t2.c3]), partitions(p0)
6 - output([t3.c1], [t3.c2], [t3.c3]), filter(nil)
7 - output([t3.c1], [t3.c2], [t3.c3]), filter(nil), startup_filter([0]),
7 - output([t3.c1], [t3.c2], [t3.c3]), filter(nil),
access([t3.c1], [t3.c2], [t3.c3]), partitions(p0)
8 - output([t4.c1], [t4.c2], [t4.c3]), filter(nil)
9 - output([t4.c1], [t4.c2], [t4.c3]), filter(nil), startup_filter([0]),
9 - output([t4.c1], [t4.c2], [t4.c3]), filter(nil),
access([t4.c1], [t4.c2], [t4.c3]), partitions(p0)
*************** Case 96 ***************
@ -2396,16 +2396,16 @@ Outputs & filters:
conds(nil), nl_params_(nil)
2 - output([t2.c1], [t2.c2], [t2.c3], [t3.c1], [t3.c2], [t3.c3]), filter(nil),
conds(nil), nl_params_(nil)
3 - output([t2.c1], [t2.c2], [t2.c3]), filter(nil), startup_filter([0]),
3 - output([t2.c1], [t2.c2], [t2.c3]), filter(nil),
access([t2.c1], [t2.c2], [t2.c3]), partitions(p0)
4 - output([t3.c1], [t3.c2], [t3.c3]), filter(nil)
5 - output([t3.c1], [t3.c2], [t3.c3]), filter(nil), startup_filter([0]),
5 - output([t3.c1], [t3.c2], [t3.c3]), filter(nil),
access([t3.c1], [t3.c2], [t3.c3]), partitions(p0)
6 - output([t4.c1], [t4.c2], [t4.c3]), filter(nil)
7 - output([t4.c1], [t4.c2], [t4.c3]), filter(nil), startup_filter([0]),
7 - output([t4.c1], [t4.c2], [t4.c3]), filter(nil),
access([t4.c1], [t4.c2], [t4.c3]), partitions(p0)
8 - output([t1.c1], [t1.c2]), filter(nil)
9 - output([t1.c1], [t1.c2]), filter(nil), startup_filter([0]),
9 - output([t1.c1], [t1.c2]), filter(nil),
access([t1.c1], [t1.c2]), partitions(p0)
*************** Case 99 ***************
@ -2433,16 +2433,16 @@ Outputs & filters:
conds(nil), nl_params_(nil)
2 - output([t2.c1], [t2.c2], [t2.c3], [t3.c1], [t3.c2], [t3.c3]), filter(nil),
conds(nil), nl_params_(nil)
3 - output([t2.c1], [t2.c2], [t2.c3]), filter(nil), startup_filter([0]),
3 - output([t2.c1], [t2.c2], [t2.c3]), filter(nil),
access([t2.c1], [t2.c2], [t2.c3]), partitions(p0)
4 - output([t3.c1], [t3.c2], [t3.c3]), filter(nil)
5 - output([t3.c1], [t3.c2], [t3.c3]), filter(nil), startup_filter([0]),
5 - output([t3.c1], [t3.c2], [t3.c3]), filter(nil),
access([t3.c1], [t3.c2], [t3.c3]), partitions(p0)
6 - output([t4.c1], [t4.c2], [t4.c3]), filter(nil)
7 - output([t4.c1], [t4.c2], [t4.c3]), filter(nil), startup_filter([0]),
7 - output([t4.c1], [t4.c2], [t4.c3]), filter(nil),
access([t4.c1], [t4.c2], [t4.c3]), partitions(p0)
8 - output([t1.c1], [t1.c2]), filter(nil)
9 - output([t1.c1], [t1.c2]), filter(nil), startup_filter([0]),
9 - output([t1.c1], [t1.c2]), filter(nil),
access([t1.c1], [t1.c2]), partitions(p0)
*************** Case 100 ***************
@ -2531,15 +2531,15 @@ Outputs & filters:
conds(nil), nl_params_(nil)
2 - output([t1.c1], [t1.c2], [t2.c1], [t2.c2], [t2.c3]), filter(nil),
equal_conds([t1.c1 = t2.c1]), other_conds(nil)
3 - output([t1.c1], [t1.c2]), filter(nil), startup_filter([0]),
3 - output([t1.c1], [t1.c2]), filter(nil),
access([t1.c1], [t1.c2]), partitions(p0)
4 - output([t2.c1], [t2.c2], [t2.c3]), filter(nil), startup_filter([0]),
4 - output([t2.c1], [t2.c2], [t2.c3]), filter(nil),
access([t2.c1], [t2.c2], [t2.c3]), partitions(p0)
5 - output([t3.c1], [t3.c2], [t3.c3]), filter(nil)
6 - output([t3.c1], [t3.c2], [t3.c3]), filter(nil), startup_filter([0]),
6 - output([t3.c1], [t3.c2], [t3.c3]), filter(nil),
access([t3.c1], [t3.c2], [t3.c3]), partitions(p0)
7 - output([t4.c1], [t4.c2], [t4.c3]), filter(nil)
8 - output([t4.c1], [t4.c2], [t4.c3]), filter(nil), startup_filter([0]),
8 - output([t4.c1], [t4.c2], [t4.c3]), filter(nil),
access([t4.c1], [t4.c2], [t4.c3]), partitions(p0)
*************** Case 103 ***************
@ -2566,15 +2566,15 @@ Outputs & filters:
conds(nil), nl_params_(nil)
2 - output([t1.c1], [t1.c2], [t2.c1], [t2.c2], [t2.c3]), filter(nil),
equal_conds([t1.c1 = t2.c1]), other_conds(nil)
3 - output([t1.c1], [t1.c2]), filter(nil), startup_filter([0]),
3 - output([t1.c1], [t1.c2]), filter(nil),
access([t1.c1], [t1.c2]), partitions(p0)
4 - output([t2.c1], [t2.c2], [t2.c3]), filter(nil), startup_filter([0]),
4 - output([t2.c1], [t2.c2], [t2.c3]), filter(nil),
access([t2.c1], [t2.c2], [t2.c3]), partitions(p0)
5 - output([t3.c1], [t3.c2], [t3.c3]), filter(nil)
6 - output([t3.c1], [t3.c2], [t3.c3]), filter(nil), startup_filter([0]),
6 - output([t3.c1], [t3.c2], [t3.c3]), filter(nil),
access([t3.c1], [t3.c2], [t3.c3]), partitions(p0)
7 - output([t4.c1], [t4.c2], [t4.c3]), filter(nil)
8 - output([t4.c1], [t4.c2], [t4.c3]), filter(nil), startup_filter([0]),
8 - output([t4.c1], [t4.c2], [t4.c3]), filter(nil),
access([t4.c1], [t4.c2], [t4.c3]), partitions(p0)
*************** Case 104 ***************
@ -2664,16 +2664,16 @@ Outputs & filters:
conds(nil), nl_params_(nil)
2 - output([t2.c1], [t2.c2], [t2.c3], [t3.c1], [t3.c2], [t3.c3]), filter(nil),
conds(nil), nl_params_(nil)
3 - output([t2.c1], [t2.c2], [t2.c3]), filter(nil), startup_filter([0]),
3 - output([t2.c1], [t2.c2], [t2.c3]), filter(nil),
access([t2.c1], [t2.c2], [t2.c3]), partitions(p0)
4 - output([t3.c1], [t3.c2], [t3.c3]), filter(nil)
5 - output([t3.c1], [t3.c2], [t3.c3]), filter(nil), startup_filter([0]),
5 - output([t3.c1], [t3.c2], [t3.c3]), filter(nil),
access([t3.c1], [t3.c2], [t3.c3]), partitions(p0)
6 - output([t4.c1], [t4.c2], [t4.c3]), filter(nil)
7 - output([t4.c1], [t4.c2], [t4.c3]), filter(nil), startup_filter([0]),
7 - output([t4.c1], [t4.c2], [t4.c3]), filter(nil),
access([t4.c1], [t4.c2], [t4.c3]), partitions(p0)
8 - output([t1.c1], [t1.c2]), filter(nil)
9 - output([t1.c1], [t1.c2]), filter(nil), startup_filter([0]),
9 - output([t1.c1], [t1.c2]), filter(nil),
access([t1.c1], [t1.c2]), partitions(p0)
*************** Case 107 ***************
@ -2701,16 +2701,16 @@ Outputs & filters:
conds(nil), nl_params_(nil)
2 - output([t2.c1], [t2.c2], [t2.c3], [t3.c1], [t3.c2], [t3.c3]), filter(nil),
conds(nil), nl_params_(nil)
3 - output([t2.c1], [t2.c2], [t2.c3]), filter(nil), startup_filter([0]),
3 - output([t2.c1], [t2.c2], [t2.c3]), filter(nil),
access([t2.c1], [t2.c2], [t2.c3]), partitions(p0)
4 - output([t3.c1], [t3.c2], [t3.c3]), filter(nil)
5 - output([t3.c1], [t3.c2], [t3.c3]), filter(nil), startup_filter([0]),
5 - output([t3.c1], [t3.c2], [t3.c3]), filter(nil),
access([t3.c1], [t3.c2], [t3.c3]), partitions(p0)
6 - output([t4.c1], [t4.c2], [t4.c3]), filter(nil)
7 - output([t4.c1], [t4.c2], [t4.c3]), filter(nil), startup_filter([0]),
7 - output([t4.c1], [t4.c2], [t4.c3]), filter(nil),
access([t4.c1], [t4.c2], [t4.c3]), partitions(p0)
8 - output([t1.c1], [t1.c2]), filter(nil)
9 - output([t1.c1], [t1.c2]), filter(nil), startup_filter([0]),
9 - output([t1.c1], [t1.c2]), filter(nil),
access([t1.c1], [t1.c2]), partitions(p0)
*************** Case 108 ***************
@ -2924,16 +2924,16 @@ Outputs & filters:
conds(nil), nl_params_(nil)
2 - output([t3.c1], [t3.c2], [t3.c3], [t4.c1], [t4.c2], [t4.c3]), filter(nil),
conds(nil), nl_params_(nil)
3 - output([t3.c1], [t3.c2], [t3.c3]), filter(nil), startup_filter([0]),
3 - output([t3.c1], [t3.c2], [t3.c3]), filter(nil),
access([t3.c1], [t3.c2], [t3.c3]), partitions(p0)
4 - output([t4.c1], [t4.c2], [t4.c3]), filter(nil)
5 - output([t4.c1], [t4.c2], [t4.c3]), filter(nil), startup_filter([0]),
5 - output([t4.c1], [t4.c2], [t4.c3]), filter(nil),
access([t4.c1], [t4.c2], [t4.c3]), partitions(p0)
6 - output([t2.c1], [t2.c2], [t2.c3]), filter(nil)
7 - output([t2.c1], [t2.c2], [t2.c3]), filter(nil), startup_filter([0]),
7 - output([t2.c1], [t2.c2], [t2.c3]), filter(nil),
access([t2.c1], [t2.c2], [t2.c3]), partitions(p0)
8 - output([t1.c1], [t1.c2]), filter(nil)
9 - output([t1.c1], [t1.c2]), filter(nil), startup_filter([0]),
9 - output([t1.c1], [t1.c2]), filter(nil),
access([t1.c1], [t1.c2]), partitions(p0)
*************** Case 115 ***************
@ -2961,16 +2961,16 @@ Outputs & filters:
conds(nil), nl_params_(nil)
2 - output([t3.c1], [t3.c2], [t3.c3], [t4.c1], [t4.c2], [t4.c3]), filter(nil),
conds(nil), nl_params_(nil)
3 - output([t3.c1], [t3.c2], [t3.c3]), filter(nil), startup_filter([0]),
3 - output([t3.c1], [t3.c2], [t3.c3]), filter(nil),
access([t3.c1], [t3.c2], [t3.c3]), partitions(p0)
4 - output([t4.c1], [t4.c2], [t4.c3]), filter(nil)
5 - output([t4.c1], [t4.c2], [t4.c3]), filter(nil), startup_filter([0]),
5 - output([t4.c1], [t4.c2], [t4.c3]), filter(nil),
access([t4.c1], [t4.c2], [t4.c3]), partitions(p0)
6 - output([t2.c1], [t2.c2], [t2.c3]), filter(nil)
7 - output([t2.c1], [t2.c2], [t2.c3]), filter(nil), startup_filter([0]),
7 - output([t2.c1], [t2.c2], [t2.c3]), filter(nil),
access([t2.c1], [t2.c2], [t2.c3]), partitions(p0)
8 - output([t1.c1], [t1.c2]), filter(nil)
9 - output([t1.c1], [t1.c2]), filter(nil), startup_filter([0]),
9 - output([t1.c1], [t1.c2]), filter(nil),
access([t1.c1], [t1.c2]), partitions(p0)
*************** Case 116 ***************

View File

@ -112,9 +112,9 @@ SQL: select * from (select * from t1 order by c2 desc) a where 1=1 limit 1, 10;
Outputs & filters:
-------------------------------------
0 - output([t1.c1], [t1.c2]), filter(nil), limit(10), offset(?)
0 - output([t1.c1], [t1.c2]), filter(nil), startup_filter([1]), limit(10), offset(?)
1 - output([t1.c1], [t1.c2]), filter(nil), sort_keys([t1.c2, DESC]), topn(10 + ?)
2 - output([t1.c1], [t1.c2]), filter(nil), startup_filter([1]),
2 - output([t1.c1], [t1.c2]), filter(nil),
access([t1.c1], [t1.c2]), partitions(p0)
*************** Case 7 ***************
@ -146,9 +146,9 @@ SQL: select * from (select * from t1 order by c2 desc) a where (1=1) and (0=0) l
Outputs & filters:
-------------------------------------
0 - output([t1.c1], [t1.c2]), filter(nil), limit(10), offset(?)
0 - output([t1.c1], [t1.c2]), filter(nil), startup_filter([1]), limit(10), offset(?)
1 - output([t1.c1], [t1.c2]), filter(nil), sort_keys([t1.c2, DESC]), topn(10 + ?)
2 - output([t1.c1], [t1.c2]), filter(nil), startup_filter([1]),
2 - output([t1.c1], [t1.c2]), filter(nil),
access([t1.c1], [t1.c2]), partitions(p0)
*************** Case 9 ***************
@ -180,9 +180,9 @@ SQL: select * from (select * from t1 order by c2 desc) a where 1 limit 1, 10;
Outputs & filters:
-------------------------------------
0 - output([t1.c1], [t1.c2]), filter(nil), limit(10), offset(?)
0 - output([t1.c1], [t1.c2]), filter(nil), startup_filter([1]), limit(10), offset(?)
1 - output([t1.c1], [t1.c2]), filter(nil), sort_keys([t1.c2, DESC]), topn(10 + ?)
2 - output([t1.c1], [t1.c2]), filter(nil), startup_filter([1]),
2 - output([t1.c1], [t1.c2]), filter(nil),
access([t1.c1], [t1.c2]), partitions(p0)
*************** Case 11 ***************

View File

@ -6042,10 +6042,10 @@ Outputs & filters:
-------------------------------------
0 - output([t1.c1], [t1.c2], [t2.c1], [t2.c2], [t2.c3]), filter(nil), startup_filter([0]),
conds(nil), nl_params_(nil)
1 - output([t2.c1], [t2.c2], [t2.c3]), filter(nil), startup_filter([0]),
1 - output([t2.c1], [t2.c2], [t2.c3]), filter(nil),
access([t2.c1], [t2.c2], [t2.c3]), partitions(p0)
2 - output([t1.c1], [t1.c2]), filter(nil)
3 - output([t1.c1], [t1.c2]), filter(nil), startup_filter([0]),
3 - output([t1.c1], [t1.c2]), filter(nil),
access([t1.c1], [t1.c2]), partitions(p0)
Outline Data:
@ -6130,10 +6130,10 @@ Outputs & filters:
-------------------------------------
0 - output([t1.c1], [t1.c2], [t2.c1], [t2.c2], [t2.c3]), filter(nil), startup_filter([0]),
conds(nil), nl_params_(nil)
1 - output([t2.c1], [t2.c2], [t2.c3]), filter(nil), startup_filter([0]),
1 - output([t2.c1], [t2.c2], [t2.c3]), filter(nil),
access([t2.c1], [t2.c2], [t2.c3]), partitions(p0)
2 - output([t1.c1], [t1.c2]), filter(nil)
3 - output([t1.c1], [t1.c2]), filter(nil), startup_filter([0]),
3 - output([t1.c1], [t1.c2]), filter(nil),
access([t1.c1], [t1.c2]), partitions(p0)
Outline Data: