Search in sources :

Example 1 with ColumnDef

use of org.sonar.server.platform.db.migration.def.ColumnDef in project sonarqube by SonarSource.

the class AlterColumnsBuilder method createMsSqlAndH2Queries.

private List<String> createMsSqlAndH2Queries() {
    List<String> sqls = new ArrayList<>();
    for (ColumnDef columnDef : columnDefs) {
        StringBuilder defaultQuery = new StringBuilder(ALTER_TABLE + tableName + " ");
        defaultQuery.append(ALTER_COLUMN);
        addColumn(defaultQuery, columnDef, "", true);
        sqls.add(defaultQuery.toString());
    }
    return sqls;
}
Also used : Lists.newArrayList(com.google.common.collect.Lists.newArrayList) ArrayList(java.util.ArrayList) ColumnDef(org.sonar.server.platform.db.migration.def.ColumnDef)

Example 2 with ColumnDef

use of org.sonar.server.platform.db.migration.def.ColumnDef in project sonarqube by SonarSource.

the class AlterColumnsBuilder method createPostgresQuery.

private List<String> createPostgresQuery() {
    StringBuilder sql = new StringBuilder(ALTER_TABLE + tableName + " ");
    for (Iterator<ColumnDef> columnDefIterator = columnDefs.iterator(); columnDefIterator.hasNext(); ) {
        ColumnDef columnDef = columnDefIterator.next();
        sql.append(ALTER_COLUMN);
        addColumn(sql, columnDef, "TYPE ", false);
        sql.append(", ");
        sql.append(ALTER_COLUMN);
        sql.append(columnDef.getName());
        sql.append(' ').append(columnDef.isNullable() ? "DROP" : "SET").append(" NOT NULL");
        if (columnDefIterator.hasNext()) {
            sql.append(", ");
        }
    }
    return Collections.singletonList(sql.toString());
}
Also used : ColumnDef(org.sonar.server.platform.db.migration.def.ColumnDef)

Example 3 with ColumnDef

use of org.sonar.server.platform.db.migration.def.ColumnDef in project sonarqube by SonarSource.

the class CreateInitialSchema method addIndex.

private void addIndex(Context context, String table, String index, boolean unique, ColumnDef... columns) throws SQLException {
    CreateIndexBuilder builder = new CreateIndexBuilder(getDialect()).setTable(table).setName(index).setUnique(unique);
    for (ColumnDef column : columns) {
        builder.addColumn(column);
    }
    context.execute(builder.build());
}
Also used : ColumnDef(org.sonar.server.platform.db.migration.def.ColumnDef) IntegerColumnDef(org.sonar.server.platform.db.migration.def.IntegerColumnDef) VarcharColumnDef(org.sonar.server.platform.db.migration.def.VarcharColumnDef) TinyIntColumnDef(org.sonar.server.platform.db.migration.def.TinyIntColumnDef) BooleanColumnDef(org.sonar.server.platform.db.migration.def.BooleanColumnDef) BigIntegerColumnDef(org.sonar.server.platform.db.migration.def.BigIntegerColumnDef) CreateIndexBuilder(org.sonar.server.platform.db.migration.sql.CreateIndexBuilder)

Example 4 with ColumnDef

use of org.sonar.server.platform.db.migration.def.ColumnDef in project sonarqube by SonarSource.

the class AlterColumnsBuilder method createOracleQuery.

private List<String> createOracleQuery() {
    List<String> sqls = new ArrayList<>();
    for (ColumnDef columnDef : columnDefs) {
        StringBuilder sql = new StringBuilder(ALTER_TABLE + tableName + " ").append("MODIFY (");
        addColumn(sql, columnDef, "", true);
        sql.append(")");
        sqls.add(sql.toString());
    }
    return sqls;
}
Also used : Lists.newArrayList(com.google.common.collect.Lists.newArrayList) ArrayList(java.util.ArrayList) ColumnDef(org.sonar.server.platform.db.migration.def.ColumnDef)

Example 5 with ColumnDef

use of org.sonar.server.platform.db.migration.def.ColumnDef in project sonarqube by SonarSource.

the class CreateTableBuilder method appendColumns.

private void appendColumns(StringBuilder res, Dialect dialect, List<ColumnDef> columnDefs) {
    if (columnDefs.isEmpty()) {
        return;
    }
    Iterator<ColumnDef> columnDefIterator = columnDefs.iterator();
    while (columnDefIterator.hasNext()) {
        ColumnDef columnDef = columnDefIterator.next();
        res.append(columnDef.getName());
        res.append(' ');
        appendDataType(res, dialect, columnDef);
        appendDefaultValue(res, columnDef);
        appendNullConstraint(res, columnDef);
        appendColumnFlags(res, dialect, columnDef);
        if (columnDefIterator.hasNext()) {
            res.append(',');
        }
    }
}
Also used : ColumnDef(org.sonar.server.platform.db.migration.def.ColumnDef) IntegerColumnDef(org.sonar.server.platform.db.migration.def.IntegerColumnDef) BigIntegerColumnDef(org.sonar.server.platform.db.migration.def.BigIntegerColumnDef)

Aggregations

ColumnDef (org.sonar.server.platform.db.migration.def.ColumnDef)5 Lists.newArrayList (com.google.common.collect.Lists.newArrayList)2 ArrayList (java.util.ArrayList)2 BigIntegerColumnDef (org.sonar.server.platform.db.migration.def.BigIntegerColumnDef)2 IntegerColumnDef (org.sonar.server.platform.db.migration.def.IntegerColumnDef)2 BooleanColumnDef (org.sonar.server.platform.db.migration.def.BooleanColumnDef)1 TinyIntColumnDef (org.sonar.server.platform.db.migration.def.TinyIntColumnDef)1 VarcharColumnDef (org.sonar.server.platform.db.migration.def.VarcharColumnDef)1 CreateIndexBuilder (org.sonar.server.platform.db.migration.sql.CreateIndexBuilder)1