public static List<TableColumn> getColumns(Connection connection, String name) throws SQLException {
DatabaseMetaData meta = connection.getMetaData();
if (name == null) {
throw new SQLException("Error on getting columns of table: null");
}
ResultSet columns = meta.getColumns(null, null, name, null);
if (columns.next()) {
return populateColumns(meta.getColumns(null, null, name, null));
}
columns = meta.getColumns(null, null, name.toLowerCase(), null);
if (columns.next()) {
return populateColumns(meta.getColumns(null, null, name.toLowerCase(), null));
}
columns = meta.getColumns(null, null, name.toUpperCase(), null);
return populateColumns(columns);
}