protected void updateTable(String name, Map<String, String> columns) throws SQLException {
        PreparedStatement statement = null;
        try {
            StringBuilder builder = new StringBuilder();
            builder.append("CREATE TABLE IF NOT EXISTS ? (");
            for (int i = 0; i < columns.size(); i++) {
                builder.append("? ?");
                if (i + 1 < columns.size()) {
                    builder.append(", ");
                }
            }
            builder.append(")");
            statement = getConnection().prepareStatement(builder.toString());
            statement.execute();
        } catch (SQLException e) {
            throw e;
        } catch (DataLoadFailedException e) {
            throw new SQLException(e);
        } finally {
            if (statement != null) {
                try {
                    statement.close();
                } catch (SQLException e) {
                }
            }
        }
    }