LiBinfeng
3c58e9bac9
[Fix](Nereids) Fix problem of infer predicates not completely ( #22145 )
...
Problem:
When inferring predicate in nereids, new inferred predicates can not be the source of next round. For example:
create table tt1(c1 int, c2 int) distributed by hash(c1) properties('replication_num'='1');
create table tt2(c1 int, c2 int) distributed by hash(c1) properties('replication_num'='1');
create table tt3(c1 int, c2 int) distributed by hash(c1) properties('replication_num'='1');
explain select * from tt1 left join tt2 on tt1.c1 = tt2.c1 left join tt3 on tt2.c1 = tt3.c1 where tt1.c1 = 123;
we expect to get t33.c1 = 123, but we can just get t22.c1 = 123. Because when infer tt1.c1 = 123 and tt2.c1 = tt3.c1, we can
not get any relationship of these two predicates.
Solution:
We need to cache middle results of source predicates like t22.c1 = 123 in example.
2023-07-25 10:05:00 +08:00
..
2023-04-27 11:19:07 +08:00
2023-04-02 15:51:21 +08:00
2023-07-05 15:16:04 +08:00
2023-01-17 16:48:02 +08:00
2023-07-22 15:29:32 +08:00
2023-06-21 16:03:46 +08:00
2023-05-15 15:13:16 +08:00
2023-03-28 09:46:43 +08:00
2023-06-21 15:20:21 +08:00
2023-06-21 15:20:21 +08:00
2023-06-21 18:36:46 +08:00
2023-06-28 14:20:16 +08:00
2023-07-16 13:21:15 +08:00
2023-06-19 14:11:10 +08:00
2023-01-18 16:41:41 +08:00
2023-07-10 19:21:32 +08:00
2023-07-21 21:12:56 +08:00
2023-07-21 13:24:41 +08:00
2023-07-20 11:32:54 +08:00
2023-07-22 15:29:32 +08:00
2023-07-10 17:57:21 +08:00
2023-07-22 15:29:32 +08:00
2023-05-21 09:00:35 +08:00
2023-06-26 19:32:43 +08:00
2023-06-06 10:35:30 +08:00
2023-07-22 15:29:32 +08:00
2023-07-13 11:17:28 +08:00
2023-07-18 00:06:38 +08:00
2023-07-03 09:32:55 +08:00
2023-07-24 22:31:18 +08:00
2023-01-10 17:25:06 +08:00
2023-06-28 18:22:19 +08:00
2023-03-01 09:18:25 +08:00
2023-07-14 18:01:43 +08:00
2023-05-19 08:43:46 +08:00
2023-07-22 15:29:32 +08:00
2023-07-24 15:39:08 +08:00
2023-06-18 19:27:48 +08:00
2023-05-25 14:38:47 +08:00
2023-07-22 14:08:44 +08:00
2023-05-17 20:50:15 +08:00
2023-07-04 14:24:37 +08:00
2023-07-12 21:37:36 +08:00
2023-07-22 15:29:32 +08:00
2023-07-22 15:29:32 +08:00
2023-03-30 14:42:34 +08:00
2023-07-21 19:31:19 +08:00
2023-06-27 16:23:50 +08:00
2023-07-22 15:29:32 +08:00
2023-04-07 14:23:16 +08:00
2023-04-21 14:39:14 +08:00
2023-03-25 22:37:26 +08:00
2023-04-03 09:49:07 +08:00
2023-06-02 16:19:50 +08:00
2023-03-15 17:59:22 +08:00
2023-06-08 14:49:52 +08:00
2023-07-25 10:05:00 +08:00
2023-07-24 16:34:17 +08:00
2023-03-16 15:59:26 +08:00
2023-05-23 14:40:21 +08:00
2023-07-14 16:56:46 +08:00
2023-07-13 21:44:10 +08:00
2023-04-11 18:48:54 +08:00
2023-06-09 22:46:40 +08:00
2023-06-19 23:40:44 +08:00
2023-07-22 17:47:46 +08:00
2023-03-27 14:06:50 +08:00
2023-06-09 00:13:18 +08:00
2023-07-25 03:29:48 +08:00
2023-07-11 14:27:03 +08:00
2023-05-08 15:57:58 +08:00
2023-07-17 11:18:05 +08:00
2023-06-26 12:58:51 +08:00
2023-07-22 15:29:32 +08:00
2023-07-06 12:06:22 +08:00
2023-06-26 12:58:51 +08:00
2023-07-14 15:39:38 +08:00
2023-06-01 18:57:17 +08:00
2023-07-06 17:33:49 +08:00
2023-06-05 11:01:43 +08:00
2023-04-21 11:24:20 +08:00
2023-04-21 11:24:20 +08:00
2023-04-21 11:24:20 +08:00
2022-12-20 22:29:55 +08:00
2023-05-26 16:05:38 +08:00
2023-07-11 20:09:02 +08:00
2023-06-05 09:53:34 +08:00
2023-06-21 16:03:46 +08:00
2023-06-21 16:03:46 +08:00
2023-06-27 19:17:22 +08:00
2023-06-27 19:17:22 +08:00
2023-06-27 19:17:22 +08:00
2023-05-10 15:06:23 +08:00
2023-05-25 09:09:50 +08:00
2023-06-21 16:03:46 +08:00
2023-05-30 16:57:39 +08:00
2023-06-21 16:03:46 +08:00
2023-06-21 16:03:46 +08:00
2023-06-22 15:19:46 +08:00
2023-06-27 19:17:22 +08:00
2023-06-27 19:17:22 +08:00
2023-06-27 19:17:22 +08:00
2023-06-21 16:03:46 +08:00
2023-05-17 19:26:30 +08:00
2023-04-27 11:33:49 +08:00
2023-03-07 08:55:38 +08:00
2023-07-23 13:35:08 +08:00
2023-06-07 21:34:34 +08:00
2023-06-21 18:36:46 +08:00
2023-07-18 19:41:33 +08:00
2023-03-29 10:49:39 +08:00
2023-04-07 14:23:16 +08:00