@Override public String toString() { StringBuilder sb = new StringBuilder("DELETE FROM "); if (catalogInc) { sb.append(Utils.toCaseSensitive(catalog)).append("."); } sb.append(Utils.toCaseSensitive(tableName.getName())); if (!whereClauses.isEmpty()) { sb.append(" WHERE "); for (Filter filter : whereClauses) { Relation relation = filter.getRelation(); String leftTerm = relation.getLeftTerm().getStringValue().substring(relation.getLeftTerm() .getStringValue().lastIndexOf('.') + 1, relation.getLeftTerm().getStringValue().length()); sb.append(Utils.toCaseSensitive(leftTerm)).append(relation.getOperator().toString()).append (relation.getRightTerm().toString()).append(" AND "); } sb.delete(sb.lastIndexOf(" AND"), sb.length()); } return sb.toString(); }
String leftTerm = getLeftTerm(relation); if (ListSelector.class.isInstance(relation.getRightTerm())) { sb.append(Utils.toCaseSensitive(leftTerm)).append(relation.getOperator().toString()).append (relation.getRightTerm().toString().replaceAll("\\(", "[").replaceAll("\\)", "]")).append(", "); }else if(RelationSelector.class.isInstance(relation.getRightTerm())){ RelationSelector newRel=(RelationSelector)relation.getRightTerm(); String newLeft=((ColumnSelector)newRel.getRelation().getLeftTerm()).getColumnName().getName(); String newOp=newRel.getRelation().getOperator().toString(); String newRight; if (ListSelector.class.isInstance(newRel.getRelation().getRightTerm())){ sb.append(Utils.toCaseSensitive(leftTerm)).append(relation.getOperator().toString()).append (newRelation).append(", "); }else { sb.append(Utils.toCaseSensitive(leftTerm)).append(relation.getOperator().toString()).append (relation.getRightTerm().toString()).append(", "); Relation relation = filter.getRelation(); String leftTerm = getLeftTerm(relation); sb.append(Utils.toCaseSensitive(leftTerm)).append(relation.getOperator().toString()).append (relation.getRightTerm().toString()).append(" AND ");
switch (relation.getOperator()) { case BETWEEN: break; ColumnSelector left = (ColumnSelector) relation.getLeftTerm(); String column = Utils.toCaseSensitive(left.getColumnName().getName()); sb.append(column).append(" ").append(relation.getOperator().toString()).append(" "); sb.append(function.toString()); ColumnSelector left = (ColumnSelector) relation.getLeftTerm(); String column = Utils.toCaseSensitive(left.getColumnName().getName()); sb.append(column).append(" ").append(relation.getOperator().toString()).append(" "); sb.append(Utils.getFormatType(left, right, session));