package org.insightech.er.db.impl.sqlserver;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.insightech.er.editor.model.dbimport.ImportFromDBManagerBase;
public class SqlServerTableImportManager extends ImportFromDBManagerBase {
/**
* {@inheritDoc}
*/
@Override
protected String getViewDefinitionSQL(String schema) {
return "SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ?";
}
@Override
protected ColumnData createColumnData(ResultSet columnSet)
throws SQLException {
ColumnData columnData = super.createColumnData(columnSet);
String type = columnData.type.toLowerCase();
if (type.startsWith("decimal")) {
if (columnData.size == 18 && columnData.decimalDegits == 0) {
columnData.size = 0;
}
} else if (type.startsWith("numeric")) {
if (columnData.size == 18 && columnData.decimalDegits == 0) {
columnData.size = 0;
}
} else if (type.startsWith("time")) {
columnData.size = columnData.size - 9;
if (columnData.size == 7) {
columnData.size = 0;
}
} else if (type.startsWith("datetime2")) {
columnData.size = columnData.size - 20;
}
return columnData;
}
}