/** * Get the SQL snippet for this index column. * * @return the SQL snippet */ public String getSQL() { StringBuilder buff = new StringBuilder(column.getSQL()); if ((sortType & SortOrder.DESCENDING) != 0) { buff.append(" DESC"); } if ((sortType & SortOrder.NULLS_FIRST) != 0) { buff.append(" NULLS FIRST"); } else if ((sortType & SortOrder.NULLS_LAST) != 0) { buff.append(" NULLS LAST"); } return buff.toString(); } }
public void setColumn(Column column) { table = column.getTable(); sequence = column.getSequence(); if (sequence == null) { throw DbException.get(ErrorCode.SEQUENCE_NOT_FOUND_1, column.getSQL()); } }
private Column[] parseColumnList(Table table) { ArrayList<Column> columns = New.arrayList(); HashSet<Column> set = New.hashSet(); if (!readIf(")")) { do { Column column = parseColumn(table); if (!set.add(column)) { throw DbException.get(ErrorCode.DUPLICATE_COLUMN_NAME_1, column.getSQL()); } columns.add(column); } while (readIfMore()); } return columns.toArray(new Column[columns.size()]); }
protected void setColumns(Column[] columns) { this.columns = columns; if (columnMap.size() > 0) { columnMap.clear(); } for (int i = 0; i < columns.length; i++) { Column col = columns[i]; int dataType = col.getType(); if (dataType == Value.UNKNOWN) { throw DbException.get(ErrorCode.UNKNOWN_DATA_TYPE_1, col.getSQL()); } col.setTable(this, i); String columnName = col.getName(); if (columnMap.get(columnName) != null) { throw DbException.get(ErrorCode.DUPLICATE_COLUMN_NAME_1, columnName); } columnMap.put(columnName, col); } }
@Override public String getSQL() { String sql; boolean quote = database.getSettings().databaseToUpper; if (column != null) { sql = column.getSQL(); } else { sql = quote ? Parser.quoteIdentifier(columnName) : columnName; } if (tableAlias != null) { String a = quote ? Parser.quoteIdentifier(tableAlias) : tableAlias; sql = a + "." + sql; } if (schemaName != null) { String s = quote ? Parser.quoteIdentifier(schemaName) : schemaName; sql = s + "." + sql; } return sql; }
buff.append(identifier(forTable)); buff.append(" CHANGE COLUMN "); buff.append(oldColumn.getSQL()).append(' '); buff.append(oldColumn.getCreateSQL()); return SQLTranslated.build().sql(buff.toString()); buff.append(identifier(forTable)); buff.append(" CHANGE COLUMN "); buff.append(oldColumn.getSQL()).append(' '); buff.append(oldColumn.getCreateSQL()); return SQLTranslated.build().sql(buff.toString()); buff.append(identifier(forTable)); buff.append(" ALTER COLUMN "); buff.append(prepared.getOldColumn().getSQL()); buff.append(" SET DEFAULT "); buff.append(prepared.getDefaultExpression().getSQL()); buff.append(identifier(forTable)); buff.append(" CHANGE COLUMN "); buff.append(oldColumn.getSQL()).append(' '); buff.append(newColumn.getCreateSQL()); return SQLTranslated.build().sql(buff.toString()); buff.append(identifier(forTable)); buff.append(" DROP COLUMN "); buff.append(oldColumn.getSQL()); return SQLTranslated.build().sql(buff.toString());
/** * @see http://dev.mysql.com/doc/refman/5.7/en/replace.html */ @Override public SQLTranslated translate(Replace replace, ObjectNode node, Row ... rows) { ArrayList<Value> params = New.arrayList(); String forTable = node.getCompositeObjectName(); Column[] columns = replace.getColumns(); StatementBuilder sql = new StatementBuilder("REPLACE INTO "); sql.append(identifier(forTable)).append('('); for (Column c : columns) { sql.appendExceptFirst(", "); sql.append(c.getSQL()); } sql.append(')'); sql.append(") VALUES "); appendValues(params, sql, columns, rows); return SQLTranslated.build().sql(sql.toString()).sqlParams(params); }
Column c = columns.get(i); sql.appendExceptFirst(", "); sql.append(c.getSQL()).append(" = ");
buff.append(column.getSQL()); switch (compareType) { case Comparison.EQUAL: