public String toString() { StatementBuilder buff = new StatementBuilder("{"); for (int i = 0; i < size; i++) { buff.appendExceptFirst(", "); buff.append(data[i]); } return buff.append('}').toString(); }
public static void appendMap(StatementBuilder sql, Map<String, String> map) { sql.resetCount(); sql.append("("); for (Entry<String, String> e : map.entrySet()) { if (e.getValue() == null) continue; sql.appendExceptFirst(","); sql.append(e.getKey()).append('=').append("'").append(e.getValue()).append("'"); } sql.append(')'); }
private void buildUpdateSQL() { if (updateAction == RESTRICT) { return; } StatementBuilder buff = new StatementBuilder(); appendUpdate(buff); appendWhere(buff); updateSQL = buff.toString(); }
private void rewriteSql() { StatementBuilder sql = new StatementBuilder("ALTER DATABASE "); sql.append(db.getShortName()); sql.append(" RUN MODE ").append(runMode.toString()); if (replicationProperties != null && !replicationProperties.isEmpty()) { sql.append(" WITH REPLICATION STRATEGY"); Database.appendMap(sql, replicationProperties); } sql.append(" PARAMETERS"); Database.appendMap(sql, db.getParameters()); this.sql = sql.toString(); }
/** * Delete the given row in the database. * * @param current the row * @throws SQLException if this row has already been deleted */ public void deleteRow(Value[] current) throws SQLException { StatementBuilder buff = new StatementBuilder("DELETE FROM "); appendTableName(buff); appendKeyCondition(buff); PreparedStatement prep = conn.prepareStatement(buff.toString()); setKey(prep, 1, current); int count = prep.executeUpdate(); if (count != 1) { // the row has already been deleted throw DbException.get(ErrorCode.NO_DATA_AVAILABLE); } }
@Override public String getSQL() { StatementBuilder buff = new StatementBuilder("("); for (Value v : values) { buff.appendExceptFirst(", "); buff.append(v.getSQL()); } if (values.length == 1) { buff.append(','); } return buff.append(')').toString(); }
private void buildDeleteSQL() { if (deleteAction == RESTRICT) { return; } StatementBuilder buff = new StatementBuilder(); if (deleteAction == CASCADE) { buff.append("DELETE FROM ").append(table.getSQL()); } else { appendUpdate(buff); } appendWhere(buff); deleteSQL = buff.toString(); }
private void appendKeyCondition(StatementBuilder buff) { buff.append(" WHERE "); buff.resetCount(); for (String k : key) { buff.appendExceptFirst(" AND "); buff.append(StringUtils.quoteIdentifier(k)).append("=?"); } }
@Override public String getSQL(boolean isDistributed) { StatementBuilder buff = new StatementBuilder("("); for (Expression e : list) { buff.appendExceptFirst(", "); buff.append(e.getSQL(isDistributed)); } if (list.length == 1) { buff.append(','); } return buff.append(')').toString(); }
private static String getCreateSQL(String quotedDbName, Map<String, String> parameters, Map<String, String> replicationProperties, Map<String, String> endpointAssignmentProperties, RunMode runMode) { StatementBuilder sql = new StatementBuilder("CREATE DATABASE IF NOT EXISTS "); sql.append(quotedDbName); if (runMode != null) { sql.append(" RUN MODE ").append(runMode.toString()); } if (replicationProperties != null && !replicationProperties.isEmpty()) { sql.append(" WITH REPLICATION STRATEGY"); appendMap(sql, replicationProperties); } if (endpointAssignmentProperties != null && !endpointAssignmentProperties.isEmpty()) { sql.append(" WITH ENDPOINT ASSIGNMENT STRATEGY"); appendMap(sql, endpointAssignmentProperties); } if (parameters != null && !parameters.isEmpty()) { sql.append(" PARAMETERS"); appendMap(sql, parameters); } return sql.toString(); }
private void appendUpdate(StatementBuilder buff) { buff.append("UPDATE ").append(table.getSQL()).append(" SET "); buff.resetCount(); for (IndexColumn c : columns) { buff.appendExceptFirst(" , "); buff.append(database.quoteIdentifier(c.column.getName())).append("=?"); } }
@Override public String getString() { StatementBuilder buff = new StatementBuilder("("); for (Value v : values) { buff.appendExceptFirst(", "); buff.append(v.getString()); } return buff.append(')').toString(); }
@Override public void rename(String newName) { StatementBuilder sql = new StatementBuilder("alter table "); sql.append(getName()).append(" rename to").append(newName); PreparedStatement prepared = getDatabase().getSystemSession().prepareStatement(sql.toString(), true); prepared.setLocal(true); prepared.update(); }
private void appendWhere(StatementBuilder buff) { buff.append(" WHERE "); buff.resetCount(); for (IndexColumn c : columns) { buff.appendExceptFirst(" AND "); buff.append(database.quoteIdentifier(c.column.getName())).append("=?"); } }
@Override public String getTraceSQL() { StatementBuilder buff = new StatementBuilder("("); for (Value v : values) { buff.appendExceptFirst(", "); buff.append(v.getTraceSQL()); } return buff.append(')').toString(); }
@Override public void add(ServerSession session, Row row) { StatementBuilder sql = new StatementBuilder("insert into "); sql.append(getName()).append("(_gui_row_id_"); for (Column c : getColumns()) { sql.append(","); sql.append(c.getName()); } sql.append(") values ("); sql.append(row.getKey()); for (Column c : getColumns()) { sql.append(","); Value v = row.getValue(c.getColumnId()); if (v == null) { sql.append("DEFAULT"); } else { sql.append(v.getSQL()); } } sql.append(")"); PreparedStatement prepared = session.prepareStatement(sql.toString(), true); prepared.setLocal(false); prepared.update(); }
private void appendColumnList(StatementBuilder buff, boolean set) { buff.resetCount(); for (int i = 0; i < columnCount; i++) { buff.appendExceptFirst(","); String col = result.getColumnName(i); buff.append(StringUtils.quoteIdentifier(col)); if (set) { buff.append("=? "); } } }