private static void appendAction(StatementBuilder buff, int action) { switch (action) { case AlterTableAddConstraint.CASCADE: buff.append("CASCADE"); break; case AlterTableAddConstraint.SET_DEFAULT: buff.append("SET DEFAULT"); break; case AlterTableAddConstraint.SET_NULL: buff.append("SET NULL"); break; default: DbException.throwInternalError("action=" + action); } }
@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(); } }
/** * @see http://dev.mysql.com/doc/refman/5.7/en/drop-index.html */ @Override public SQLTranslated translate(DropIndex prepared, ObjectNode indexNode, ObjectNode tableNode) { String forIndex = indexNode.getCompositeObjectName(); String forTable = tableNode.getCompositeObjectName(); StatementBuilder sql = new StatementBuilder(); sql.append("DROP INDEX "); sql.append(identifier(forIndex)); sql.append(" ON ").append(identifier(forTable)); return SQLTranslated.build().sql(sql.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(); }
@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 toString() { StatementBuilder buff = new StatementBuilder("( /* key:"); buff.append(getKey()); if (version != 0) { buff.append(" v:" + version); } buff.append(" */ "); for (Value v : data) { buff.appendExceptFirst(", "); buff.append(v == null ? "null" : v.getTraceSQL()); } return buff.append(')').toString(); }
private DbException getSyntaxError() { if (expectedList == null || expectedList.size() == 0) { return DbException.getSyntaxError(sqlCommand, parseIndex); } StatementBuilder buff = new StatementBuilder(); for (String e : expectedList) { buff.appendExceptFirst(", "); buff.append(e); } return DbException.getSyntaxError(sqlCommand, parseIndex, buff.toString()); }
@Override public SQLTranslated translate(Column[] searchColumns, TableFilter filter, GroupObjectNode node) { ObjectNode[] items = node.getItems(); List<Value> params = New.arrayList(10 * items.length); StatementBuilder sql = new StatementBuilder(100 * items.length); for (ObjectNode objectNode : items) { SQLTranslated translated = translate(searchColumns, filter, objectNode); sql.appendExceptFirst(" UNION ALL "); sql.append(StringUtils.enclose(translated.sql)); params.addAll(translated.params); } return SQLTranslated.build().sql(sql.toString()).sqlParams(params); }
@Override public SQLTranslated translate(Select select, GroupObjectNode node, Map<ObjectNode, Map<TableFilter, ObjectNode>> consistencyTableNodes,Expression[] selectCols, Integer limit, Integer offset) { ObjectNode[] items = node.getItems(); List<Value> params = New.arrayList(10 * items.length); StatementBuilder sql = new StatementBuilder(100 * items.length); for (ObjectNode objectNode : items) { SQLTranslated translated = translate(select, objectNode, consistencyTableNodes,selectCols, limit, offset); sql.appendExceptFirst(" UNION ALL "); sql.append(StringUtils.enclose(translated.sql)); params.addAll(translated.params); } return SQLTranslated.build().sql(sql.toString()).sqlParams(params); }