Frozen indices are deprecated which makes all the [SQL features supporting frozen indices](https://www.elastic.co/guide/en/elasticsearch/reference/current/sql-index-frozen.html) obsolete.

This includes:

* `index_include_frozen` request parameter in the `_sql` endpoint
* `index.include.frozen` (J|O)DBC driver settings
* `SHOW TABLES INCLUDE FROZEN` queries and the `FROZEN INDEX` kind in the corresponding response
* The `FROZEN` modifier in `FROM` clauses (as in `SELECT * FROM FROZEN archive`)

`_search` raises a deprecation warning when frozen indices are being searched with `ignore_throttled=false`. SQL could do the same when the `index_include_frozen` request parameter is set or when the `FROZEN` keyword is used.

Relates to https://github.com/elastic/elasticsearch/issues/70192
x-pack/plugin/sql/src/main/java/org/elasticsearch/xpack/sql/parser/LogicalPlanBuilder.java
import java.util.Map;
import static java.util.Collections.emptyList;
import static org.elasticsearch.xpack.ql.parser.ParserUtils.source;
import static org.elasticsearch.xpack.ql.parser.ParserUtils.visitList;
abstract class LogicalPlanBuilder extends ExpressionBuilder {
    protected LogicalPlanBuilder(Map<Token, SqlTypedParamValue> params, ZoneId zoneId) {
        super(params, zoneId);
    }
    @Override
    public LogicalPlan visitQuery(QueryContext ctx) {
        LogicalPlan body = plan(ctx.queryNoWith());
        List<SubQueryAlias> namedQueries = visitList(this, ctx.namedQuery(), SubQueryAlias.class);
        
        Map<String, SubQueryAlias> cteRelations = Maps.newLinkedHashMapWithExpectedSize(namedQueries.size());
        for (SubQueryAlias namedQuery : namedQueries) {
            if (cteRelations.put(namedQuery.alias(), namedQuery) != null) {
                throw new ParsingException(namedQuery.source(), "Duplicate alias {}", namedQuery.alias());
            }
        }
        
        return new With(source(ctx), body, cteRelations);
    }
    @Override
    public LogicalPlan visitNamedQuery(NamedQueryContext ctx) {
        return new SubQueryAlias(source(ctx), plan(ctx.queryNoWith()), ctx.name.getText());
    }
    @Override
    public LogicalPlan visitQueryNoWith(QueryNoWithContext ctx) {
        LogicalPlan plan = plan(ctx.queryTerm());
        if (ctx.orderBy().isEmpty() == false) {