/** * Return the portion of the select statement between the FROM keyword * and the WHERE keyword. */ protected SQLBuffer getFrom(Select sel, boolean forUpdate) { SQLBuffer fromSQL = new SQLBuffer(this); Collection aliases = sel.getTableAliases(); if (aliases.size() < 2 || sel.getJoinSyntax() != SYNTAX_SQL92) { for (Iterator itr = aliases.iterator(); itr.hasNext();) { fromSQL.append(itr.next().toString()); if (forUpdate && tableForUpdateClause != null) fromSQL.append(" ").append(tableForUpdateClause); if (itr.hasNext()) fromSQL.append(", "); } } else { Iterator itr = sel.getJoinIterator(); boolean first = true; while (itr.hasNext()) { fromSQL.append(toSQL92Join((Join) itr.next(), forUpdate, first)); first = false; } } return fromSQL; }
Iterator itr = sel.getJoinIterator(); while (itr.hasNext()) { Join join = (Join) itr.next(); Iterator itr = sel.getJoinIterator(); boolean first = true; while (itr.hasNext()) {
return false; if (!supportsLockingWithOuterJoin || !supportsLockingWithInnerJoin) { for (Iterator itr = sel.getJoinIterator(); itr.hasNext();) { Join join = (Join) itr.next(); if (!supportsLockingWithOuterJoin
Iterator itr = sel.getJoinIterator(); while (itr.hasNext()) { Join join = (Join) itr.next(); Iterator itr = sel.getJoinIterator(); boolean first = true; while (itr.hasNext()) {
Iterator itr = sel.getJoinIterator(); while (itr.hasNext()) { Join join = (Join) itr.next(); Iterator itr = sel.getJoinIterator(); boolean first = true; while (itr.hasNext()) {
return false; if (!supportsLockingWithOuterJoin || !supportsLockingWithInnerJoin) { for (Iterator itr = sel.getJoinIterator(); itr.hasNext();) { Join join = (Join) itr.next(); if (!supportsLockingWithOuterJoin
Iterator itr = sel.getJoinIterator(); while (itr.hasNext()) { Join join = (Join) itr.next(); Iterator itr = sel.getJoinIterator(); boolean first = true; while (itr.hasNext()) {
return false; if (!supportsLockingWithOuterJoin || !supportsLockingWithInnerJoin) { for (Iterator itr = sel.getJoinIterator(); itr.hasNext();) { Join join = (Join) itr.next(); if (!supportsLockingWithOuterJoin
return false; if (!supportsLockingWithOuterJoin || !supportsLockingWithInnerJoin) { for (Iterator itr = sel.getJoinIterator(); itr.hasNext();) { Join join = (Join) itr.next(); if (!supportsLockingWithOuterJoin
return false; if (!supportsLockingWithOuterJoin || !supportsLockingWithInnerJoin) { for (Iterator itr = sel.getJoinIterator(); itr.hasNext();) { Join join = (Join) itr.next(); if (!supportsLockingWithOuterJoin
private boolean correlatedJoinCondition(Join join, Select sel) { if (!join.isCorrelated()) return false; Iterator itr = sel.getJoinIterator(); boolean skip = false; //if table1 in join is in the main query, table2 is in //subquery, and table2 participates in other joins //in subquery, the join condition can only be placed in //the where clause in the subquery while (itr.hasNext()) { Join join1 = (Join) itr.next(); if (join == join1 && !join.isForeignKeyInversed()) { continue; } if (join.getIndex2() == join1.getIndex1() || join.getIndex2() == join1.getIndex2()) { skip = true; if (join.getForeignKey() != null){ SQLBuffer where = new SQLBuffer(this); where.append("(").append(toTraditionalJoin(join)).append(")"); sel.where(where.getSQL()); } break; } } return skip; }
private boolean correlatedJoinCondition(Join join, Select sel) { if (!join.isCorrelated()) return false; Iterator itr = sel.getJoinIterator(); boolean skip = false; //if table1 in join is in the main query, table2 is in //subquery, and table2 participates in other joins //in subquery, the join condition can only be placed in //the where clause in the subquery while (itr.hasNext()) { Join join1 = (Join) itr.next(); if (join == join1 && !join.isForeignKeyInversed()) { continue; } if (join.getIndex2() == join1.getIndex1() || join.getIndex2() == join1.getIndex2()) { skip = true; if (join.getForeignKey() != null){ SQLBuffer where = new SQLBuffer(this); where.append("(").append(toTraditionalJoin(join)).append(")"); sel.where(where.getSQL()); } break; } } return skip; }
private boolean correlatedJoinCondition(Join join, Select sel) { if (!join.isCorrelated()) return false; Iterator itr = sel.getJoinIterator(); boolean skip = false; //if table1 in join is in the main query, table2 is in //subquery, and table2 participates in other joins //in subquery, the join condition can only be placed in //the where clause in the subquery while (itr.hasNext()) { Join join1 = (Join) itr.next(); if (join == join1 && !join.isForeignKeyInversed()) { continue; } if (join.getIndex2() == join1.getIndex1() || join.getIndex2() == join1.getIndex2()) { skip = true; if (join.getForeignKey() != null){ SQLBuffer where = new SQLBuffer(this); where.append("(").append(toTraditionalJoin(join)).append(")"); sel.where(where.getSQL()); } break; } } return skip; }
private boolean correlatedJoinCondition(Join join, Select sel) { if (!join.isCorrelated()) return false; Iterator itr = sel.getJoinIterator(); boolean skip = false; //if table1 in join is in the main query, table2 is in //subquery, and table2 participates in other joins //in subquery, the join condition can only be placed in //the where clause in the subquery while (itr.hasNext()) { Join join1 = (Join) itr.next(); if (join == join1 && !join.isForeignKeyInversed()) { continue; } if (join.getIndex2() == join1.getIndex1() || join.getIndex2() == join1.getIndex2()) { skip = true; if (join.getForeignKey() != null){ SQLBuffer where = new SQLBuffer(this); where.append("(").append(toTraditionalJoin(join)).append(")"); sel.where(where.getSQL()); } break; } } return skip; }