在视图合并规则这里: bool can_push_where = true; bool need_check_where_condi = false; if (!parent_can_push_where || joined_table->joined_type_ == FULL_OUTER_JOIN || joined_table->joined_type_ == RIGHT_OUTER_JOIN) { can_push_where = false; if (joined_table->joined_type_ == LEFT_OUTER_JOIN || joined_table->joined_type_ == INNER_JOIN || joined_table->joined_type_ == FULL_OUTER_JOIN) { need_check_where_condi = true; } } OceanBase内层这里为什么inner join也需要判断呢?对于内连接我理解即使不能push而是放到join condition不是也不影响语义吗,还是有别的原因呢?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
"你这个是代码的逻辑
你再把这个代码看一下ransform_generated_table——该回答整理自钉群“[社区]技术答疑群OceanBase”