@Override
    public ClickHouseSqlStatement[] parse(String sql, ClickHouseConfig config, Map<String, Serializable> settings) {
        ParseHandler handler = null;
        if (jdbcConf.isJdbcCompliant()) {
            boolean allowLwDelete = initialDeleteSupport > 1;
            boolean allowLwUpdate = false;
            if (settings != null) {
                Serializable value = settings.get(SETTING_LW_DELETE);
                if (!allowLwDelete && (value == null ? initialDeleteSupport == 1
                        : ClickHouseOption.fromString(value.toString(), Boolean.class))) {
                    allowLwDelete = true;
                }
            }
            handler = JdbcParseHandler.getInstance(allowLwDelete, allowLwUpdate, jdbcConf.useLocalFile());
        } else if (jdbcConf.useLocalFile()) {
            handler = JdbcParseHandler.getInstance(false, false, true);
        }
        return ClickHouseSqlParser.parse(sql, config != null ? config : clientRequest.getConfig(), handler);
    }
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