开发者社区 问答 正文

OceanBase内层这里为什么inner join也需要判断呢?对于内连接我理解即使不能push

在视图合并规则这里: 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不是也不影响语义吗,还是有别的原因呢?

展开
收起
鸡蛋灌饼儿 2023-02-13 20:22:55 273 分享 版权
来自: OceanBase
1 条回答
写回答
取消 提交回答
  • "你这个是代码的逻辑

    你再把这个代码看一下ransform_generated_table——该回答整理自钉群“[社区]技术答疑群OceanBase”

    2023-02-13 20:45:23
    赞同 展开评论