Skip to content

Commit

Permalink
0004751: MSSQL ddl table creation support for varbinary(max)
Browse files Browse the repository at this point in the history
  • Loading branch information
jumpmind-josh committed Jan 8, 2021
1 parent c8931bc commit d387566
Showing 1 changed file with 16 additions and 0 deletions.
Expand Up @@ -20,6 +20,8 @@
*/
package org.jumpmind.db.platform.mssql;

import java.sql.Types;

import org.jumpmind.db.model.Column;
import org.jumpmind.db.model.Table;
import org.jumpmind.db.platform.DatabaseNamesConstants;
Expand All @@ -28,6 +30,11 @@ public class MsSql2005DdlBuilder extends MsSql2000DdlBuilder {

public MsSql2005DdlBuilder() {
this.databaseName = DatabaseNamesConstants.MSSQL2005;

databaseInfo.addNativeTypeMapping(Types.BLOB, "IMAGE", Types.BLOB);
databaseInfo.addNativeTypeMapping(Types.CLOB, "CLOB", Types.CLOB);
databaseInfo.addNativeTypeMapping(Types.SQLXML, "XML", Types.SQLXML);

}

protected void dropDefaultConstraint(String tableName, String columnName, StringBuilder ddl) {
Expand Down Expand Up @@ -82,4 +89,13 @@ protected void dropColumnChangeDefaults(Table sourceTable, Column sourceColumn,
printEndOfStatement(ddl);
}

@Override
protected String getSqlType(Column column) {
String sqlType = super.getSqlType(column);

if (column.getMappedTypeCode() == Types.VARBINARY && column.getSizeAsInt() > 8000) {
sqlType = "VARBINARY(MAX)";
}
return sqlType;
}
}

0 comments on commit d387566

Please sign in to comment.