@Override public String getPreparedSQL(Session session, List<Value> parameters) { String sql; if (regexp) { sql = left.getPreparedSQL(session, parameters) + " REGEXP " + right.getPreparedSQL(session, parameters); } else { sql = left.getPreparedSQL(session, parameters) + " LIKE " + right.getPreparedSQL(session, parameters); if (escape != null) { sql += " ESCAPE " + escape.getPreparedSQL(session, parameters); } } return "(" + sql + ")"; }
@Override public String getPreparedSQL(Session session, List<Value> parameters) { return "(NOT " + condition.getPreparedSQL(session, parameters) + ")"; }
@Override public String getPreparedSQL(Session session, List<Value> parameters) { String sql; switch (andOrType) { case AND: sql = left.getPreparedSQL(session, parameters) + " AND " + right.getPreparedSQL(session, parameters); break; case OR: sql = left.getPreparedSQL(session, parameters) + " OR " + right.getPreparedSQL(session, parameters); break; default: throw DbException.throwInternalError("andOrType=" + andOrType); } return "(" + sql + ")"; }
@Override public String getPreparedSQL(Session session, List<Value> parameters) { String sql; switch (compareType) { case IS_NULL: sql = left.getPreparedSQL(session, parameters) + " IS NULL"; break; case IS_NOT_NULL: sql = left.getPreparedSQL(session, parameters) + " IS NOT NULL"; break; default: sql = left.getPreparedSQL(session, parameters) + " " + getCompareOperator(compareType) + " " + right.getPreparedSQL(session, parameters); } return "(" + sql + ")"; }
@Override public String getPreparedSQL(Session session, List<Value> parameters) { String sql; if (opType == NEGATE) { // don't remove the space, otherwise it might end up some thing like // --1 which is a line remark sql = "- " + left.getPreparedSQL(session, parameters); } else { // don't remove the space, otherwise it might end up some thing like // --1 which is a line remark sql = left.getPreparedSQL(session, parameters) + " " + getOperationToken() + " " + right.getPreparedSQL(session, parameters); } return "(" + sql + ")"; }
@Override public String getPreparedSQL(Session session, List<Value> parameters) { return expr.getPreparedSQL(session, parameters) + " AS " + Parser.quoteIdentifier(alias); }
return text + "(DISTINCT " + on.getPreparedSQL(session, parameters) + ")"; return text + StringUtils.enclose(on.getPreparedSQL(session, parameters));
@Override public String getPreparedSQL(Session session, List<Value> parameters) { StatementBuilder buff = new StatementBuilder("("); buff.append(left.getPreparedSQL(session, parameters)).append(" IN("); for (Expression e : valueList) { buff.appendExceptFirst(", "); buff.append(e.getPreparedSQL(session, parameters)); } return buff.append("))").toString(); } }
@Override public String getPreparedSQL(Session session, List<Value> parameters) { StatementBuilder buff = new StatementBuilder("("); buff.append(left.getPreparedSQL(session, parameters)).append(" IN("); for (Expression e : valueList) { buff.appendExceptFirst(", "); buff.append(e.getPreparedSQL(session, parameters)); } return buff.append("))").toString(); } }
@Override public String getPreparedSQL(Session session, List<Value> parameters) { StatementBuilder buff = new StatementBuilder("("); for (Expression e : list) { buff.appendExceptFirst(", "); buff.append(e.getPreparedSQL(session, parameters)); } if (list.length == 1) { buff.append(','); } return buff.append(')').toString(); }
if (info.type == CASE) { if (args[0] != null) { buff.append(" ").append(args[0].getPreparedSQL(session, parameters)); buff.append(" WHEN ").append(args[i].getPreparedSQL(session, parameters)); buff.append(" THEN ").append(args[i + 1].getPreparedSQL(session, parameters)); buff.append(" ELSE ").append(args[args.length - 1].getPreparedSQL(session, parameters)); switch (info.type) { case CAST: { buff.append(args[0].getPreparedSQL(session, parameters)).append(" AS ") .append(new Column(null, dataType, precision, scale, displaySize).getCreateSQL()); break; buff.append(args[0].getPreparedSQL(session, parameters)).append(',') .append(new Column(null, dataType, precision, scale, displaySize).getCreateSQL()); break; buff.append(v.getString()).append(" FROM ").append(args[1].getPreparedSQL(session, parameters)); break; for (Expression e : args) { buff.appendExceptFirst(", "); buff.append(e.getPreparedSQL(session, parameters));
/** * @see http://dev.mysql.com/doc/refman/5.7/en/delete.html */ @Override public SQLTranslated translate(Delete prepared, ObjectNode node) { ArrayList<Value> params = New.arrayList(); String forTable = node.getCompositeObjectName(); Expression condition = prepared.getCondition(); Expression limitExpr = prepared.getLimitExpr(); StatementBuilder sql = new StatementBuilder(); sql.append("DELETE FROM "); sql.append(identifier(forTable)); if (condition != null) { condition.getPreparedSQL(prepared.getSession(), params); sql.append(" WHERE ").append(StringUtils.unEnclose(condition.getSQL())); } if (limitExpr != null) { limitExpr.getPreparedSQL(prepared.getSession(), params); sql.append(" LIMIT ").append(StringUtils.unEnclose(limitExpr.getSQL())); } return SQLTranslated.build().sql(sql.toString()).sqlParams(params); }
condition.getPreparedSQL(prepared.getSession(), params); sql.append(" WHERE ").append(StringUtils.unEnclose(condition.getSQL())); limitExpr.getPreparedSQL(prepared.getSession(), params); sql.append(" LIMIT ").append(StringUtils.unEnclose(limitExpr.getSQL()));
buff.appendExceptFirst(","); buff.append(' '); buff.append(selectCols[i].getPreparedSQL(select.getSession(), params)); if (condition != null) { buff.append(" WHERE ").append( StringUtils.unEnclose(condition.getPreparedSQL(select.getSession(), params))); g = g.getNonAliasExpression(); buff.appendExceptFirst(", "); buff.append(StringUtils.unEnclose(g.getPreparedSQL(select.getSession(), params))); for (Expression g : group) { buff.appendExceptFirst(", "); buff.append(StringUtils.unEnclose(g.getPreparedSQL(select.getSession(), params)));
if (rows.getRowCount() > 0) { StatementBuilder buff = new StatementBuilder(); buff.append('(').append(left.getPreparedSQL(session, parameters)).append(' '); if (all) {
@Override public SQLTranslated translate(Column[] searchColumns, TableFilter filter, ObjectNode node) { // can not use the field sqlStatement because the parameter // indexes may be incorrect: ? may be in fact ?2 for a subquery // but indexes may be set manually as well if (node instanceof GroupObjectNode) { return translate(searchColumns, filter, (GroupObjectNode) node); } List<Value> params = New.arrayList(10); StatementBuilder buff = new StatementBuilder("SELECT"); int visibleColumnCount = searchColumns.length; for (int i = 0; i < visibleColumnCount; i++) { buff.appendExceptFirst(","); buff.append(' '); buff.append(identifier(searchColumns[i].getName())); } buff.append(" FROM "); buff.append(identifier(node.getCompositeObjectName())); buff.append(" AS "); buff.append(filter.getTableAlias()); Expression condition = filter.getFilterCondition(); if (condition != null) { buff.append(" WHERE ").append(StringUtils.unEnclose(condition.getPreparedSQL(filter.getSession(), params))); } return SQLTranslated.build().sql(buff.toString()).sqlParams(params); }