sb.append(delimiter).append(column.getName()).append(" ").append(column.getType()); if (column.getIsStatic()) { sb.append(" STATIC");
sb.append(delimiter).append(column.getName()).append(" ").append(column.getType()); if (column.getIsStatic()) { sb.append(" STATIC");
sb.append(delimiter).append(column.getName()).append(" ").append(column.getType()); if (column.getIsStatic()) { sb.append(" STATIC");
.append(alterColumn.getName()) .append(" TYPE ") .append(alterColumn.getType()); } else if (addColumn != null) { sb.append("ADD ") .append(addColumn.getName()) .append(" ") .append(addColumn.getType()); } else if (dropColumn != null) { sb.append("DROP ") .append(dropColumn.getName()); } else if (renameColumnFrom != null && renameColumnTo != null) { sb.append("RENAME ") .append(renameColumnFrom.getName()) .append(" TO ") .append(renameColumnTo.getName());
.append(alterColumn.getName()) .append(" TYPE ") .append(alterColumn.getType()); } else if (addColumn != null) { sb.append("ADD ") .append(addColumn.getName()) .append(" ") .append(addColumn.getType()); } else if (dropColumn != null) { sb.append("DROP ") .append(dropColumn.getName()); } else if (renameColumnFrom != null && renameColumnTo != null) { sb.append("RENAME ") .append(renameColumnFrom.getName()) .append(" TO ") .append(renameColumnTo.getName());
.append(alterColumn.getName()) .append(" TYPE ") .append(alterColumn.getType()); } else if (addColumn != null) { sb.append("ADD ") .append(addColumn.getName()) .append(" ") .append(addColumn.getType()); } else if (dropColumn != null) { sb.append("DROP ") .append(dropColumn.getName()); } else if (renameColumnFrom != null && renameColumnTo != null) { sb.append("RENAME ") .append(renameColumnFrom.getName()) .append(" TO ") .append(renameColumnTo.getName());
/** * Returns a {@link com.datastax.driver.core.BatchStatement} with all the alter statements necessary to modify an existing table. * <p> * Note: Columns will only be added or modified, not dropped. * * @param existing the existing table to be modified * @param desired the desired end result * @return a set of statements to modify an existing table */ public static List<AlterTable> alter(AbstractTableMetadata existing, CreateTable desired) { List<AlterTable> results = new ArrayList<>(); for (BuiltTableStatement.Column column : desired.getColumns()) { ColumnMetadata columnMetadata = existing.getColumn(column.getName()); if (columnMetadata == null) { results.add(alter(desired.getKeyspace(), desired.getTable()).addColumn(column.getName(), column.getType())); } else if (!columnMetadata.getType().toString().equalsIgnoreCase(column.getType())) { if (columnMetadata.isStatic()) { throw new IllegalArgumentException("A static column cannot have its type modified"); } results.add(alter(desired.getKeyspace(), desired.getTable()).alterColumn(column.getName(), column.getType())); } } return results; }
/** * Returns a {@link com.datastax.driver.core.BatchStatement} with all the alter statements necessary to modify an existing table. * <p> * Note: Columns will only be added or modified, not dropped. * * @param existing the existing table to be modified * @param desired the desired end result * @return a set of statements to modify an existing table */ public static List<AlterTable> alter(TableMetadata existing, CreateTable desired) { List<AlterTable> results = new ArrayList<>(); for (BuiltTableStatement.Column column : desired.getColumns()) { ColumnMetadata columnMetadata = existing.getColumn(column.getName()); if (columnMetadata == null) { results.add(alter(desired.getKeyspace(), desired.getTable()).addColumn(column.getName(), column.getType())); } else if (!columnMetadata.getType().toString().equalsIgnoreCase(column.getType())) { if (columnMetadata.isStatic()) { throw new IllegalArgumentException("A static column cannot have its type modified"); } results.add(alter(desired.getKeyspace(), desired.getTable()).alterColumn(column.getName(), column.getType())); } } return results; }
/** * Returns a {@link com.datastax.driver.core.BatchStatement} with all the alter statements necessary to modify an existing table. * <p> * Note: Columns will only be added or modified, not dropped. * * @param existing the existing table to be modified * @param desired the desired end result * @return a set of statements to modify an existing table */ public static List<AlterTable> alter(AbstractTableMetadata existing, CreateTable desired) { List<AlterTable> results = new ArrayList<>(); for (BuiltTableStatement.Column column : desired.getColumns()) { ColumnMetadata columnMetadata = existing.getColumn(column.getName()); if (columnMetadata == null) { results.add(alter(desired.getKeyspace(), desired.getTable()).addColumn(column.getName(), column.getType())); } else if (!columnMetadata.getType().toString().equalsIgnoreCase(column.getType())) { if (columnMetadata.isStatic()) { throw new IllegalArgumentException("A static column cannot have its type modified"); } results.add(alter(desired.getKeyspace(), desired.getTable()).alterColumn(column.getName(), column.getType())); } } return results; }
public AlterTable dropColumn(String column) { dropColumn = new Column(column, null, false); return this; }
public AlterTable dropColumn(String column) { dropColumn = new Column(column, null, false); return this; }
public AlterTable addColumn(String column, String type) { addColumn = new Column(column, type, false); return this; }
public AlterTable alterColumn(String column, String type) { alterColumn = new Column(column, type, false); return this; }
public AlterTable alterColumn(String column, String type) { alterColumn = new Column(column, type, false); return this; }
private CreateTable addColumn(Column column) { columns.put(column.getName(), column); return this; }
public AlterTable addColumn(String column, String type) { addColumn = new Column(column, type, false); return this; }
public AlterTable alterColumn(String column, String type) { alterColumn = new Column(column, type, false); return this; }
private CreateTable addColumn(Column column) { columns.put(column.getName(), column); return this; }
public AlterTable addColumn(String column, String type) { addColumn = new Column(column, type, false); return this; }
private CreateTable addColumn(Column column) { columns.put(column.getName(), column); return this; }