@Override public void visit(SubJoin subjoin) { buffer.append("("); subjoin.getLeft().accept(this); for (Join join : subjoin.getJoinList()) { deparseJoin(join); } buffer.append(")"); if (subjoin.getPivot() != null) { subjoin.getPivot().accept(this); } }
@Override public void visit(SubJoin subjoin) { subjoin.getLeft().accept(this); for (Join join : subjoin.getJoinList()) { join.getRightItem().accept(this); } }
if (fromItem instanceof SubJoin) { SubJoin subJoin = (SubJoin) fromItem; if (subJoin.getJoinList() != null && subJoin.getJoinList().size() > 0) { for (Join join : subJoin.getJoinList()) { if (join.getRightItem() != null) { processFromItem(join.getRightItem(), level + 1);
if (fromItem instanceof SubJoin) { SubJoin subJoin = (SubJoin) fromItem; if (subJoin.getJoinList() != null && subJoin.getJoinList().size() > 0) { for (Join join : subJoin.getJoinList()) { if (join.getRightItem() != null) { processFromItem(join.getRightItem());
/** * 处理子查询等 */ protected void processFromItem(FromItem fromItem) { if (fromItem instanceof SubJoin) { SubJoin subJoin = (SubJoin) fromItem; if (subJoin.getJoinList() != null) { subJoin.getJoinList().forEach(this::processJoin); } if (subJoin.getLeft() != null) { processFromItem(subJoin.getLeft()); } } else if (fromItem instanceof SubSelect) { SubSelect subSelect = (SubSelect) fromItem; if (subSelect.getSelectBody() != null) { processSelectBody(subSelect.getSelectBody()); } } else if (fromItem instanceof ValuesList) { logger.debug("Perform a subquery, if you do not give us feedback"); } else if (fromItem instanceof LateralSubSelect) { LateralSubSelect lateralSubSelect = (LateralSubSelect) fromItem; if (lateralSubSelect.getSubSelect() != null) { SubSelect subSelect = lateralSubSelect.getSubSelect(); if (subSelect.getSelectBody() != null) { processSelectBody(subSelect.getSelectBody()); } } } }
@Override public void visit(SubJoin subjoin) { buffer.append("("); subjoin.getLeft().accept(this); for (Join join : subjoin.getJoinList()) { deparseJoin(join); } buffer.append(")"); if (subjoin.getPivot() != null) { subjoin.getPivot().accept(this); } }
@Override public void visit(SubJoin subjoin) { subjoin.getLeft().accept(this); for (Join join : subjoin.getJoinList()) { join.getRightItem().accept(this); } }
@Override public void visit(SubJoin subjoin) { subjoin.getLeft().accept(this); for (Join join : subjoin.getJoinList()) { join.getRightItem().accept(this); } } };
@Override public void visit(SubJoin subjoin) { subjoin.getLeft().accept(this); for (Join join : subjoin.getJoinList()) { join.getRightItem().accept(this); } } };
if (fromItem instanceof SubJoin) { SubJoin subJoin = (SubJoin) fromItem; if (subJoin.getJoinList() != null && subJoin.getJoinList().size() > 0) { for (Join join : subJoin.getJoinList()) { if (join.getRightItem() != null) { processFromItem(join.getRightItem());
if (fromItem instanceof SubJoin) { SubJoin subJoin = (SubJoin) fromItem; if (subJoin.getJoinList() != null && subJoin.getJoinList().size() > 0) { for (Join join : subJoin.getJoinList()) { if (join.getRightItem() != null) { processFromItem(join.getRightItem(), level + 1);
if (fromItem instanceof SubJoin) { SubJoin subJoin = (SubJoin) fromItem; if (subJoin.getJoinList() != null && subJoin.getJoinList().size() > 0) { for (Join join : subJoin.getJoinList()) { if (join.getRightItem() != null) { processFromItem(join.getRightItem());
/** * 处理子查询等 */ protected void processFromItem(FromItem fromItem) { if (fromItem instanceof SubJoin) { SubJoin subJoin = (SubJoin) fromItem; if (subJoin.getJoinList() != null) { subJoin.getJoinList().forEach(this::processJoin); } if (subJoin.getLeft() != null) { processFromItem(subJoin.getLeft()); } } else if (fromItem instanceof SubSelect) { SubSelect subSelect = (SubSelect) fromItem; if (subSelect.getSelectBody() != null) { processSelectBody(subSelect.getSelectBody()); } } else if (fromItem instanceof ValuesList) { logger.debug("Perform a subquery, if you do not give us feedback"); } else if (fromItem instanceof LateralSubSelect) { LateralSubSelect lateralSubSelect = (LateralSubSelect) fromItem; if (lateralSubSelect.getSubSelect() != null) { SubSelect subSelect = lateralSubSelect.getSubSelect(); if (subSelect.getSelectBody() != null) { processSelectBody(subSelect.getSelectBody()); } } } }