@Override
    public void setTransactionIsolation(int level) throws SQLException {
        ensureOpen();

        if (Connection.TRANSACTION_NONE != level && Connection.TRANSACTION_READ_UNCOMMITTED != level
                && Connection.TRANSACTION_READ_COMMITTED != level && Connection.TRANSACTION_REPEATABLE_READ != level
                && Connection.TRANSACTION_SERIALIZABLE != level) {
            throw new SQLException("Invalid transaction isolation level: " + level);
        } else if (isTransactionSupported()) {
            txIsolation = Connection.TRANSACTION_REPEATABLE_READ;
        } else if (jdbcConf.isJdbcCompliant()) {
            txIsolation = level;
        } else {
            txIsolation = Connection.TRANSACTION_NONE;
        }
    }
Checks if a feature can be supported or not.

@param feature non-empty feature name
@param silent  whether to show warning in log or throw unsupported exception
@throws SQLException when the feature is not supported and silent is
                     {@code false}
clickhouse-jdbc/src/main/java/com/clickhouse/jdbc/internal/ClickHouseConnectionImpl.java