prestodb/presto · error · java.lang.UnsupportedOperationException

getQueryType method is not supported!

Error message

getQueryType method is not supported!

What it means

Base PreparedQuery carries only the formatted SQL text and does not hold analysis results; calling getQueryType on it is a programming error — a subclass holding the analyzed statement must be used instead.

Source

Thrown at presto-common/src/main/java/com/facebook/presto/common/analyzer/PreparedQuery.java:45

    public PreparedQuery(Optional<String> formattedQuery, Optional<String> prepareSql)
    {
        this.formattedQuery = requireNonNull(formattedQuery, "formattedQuery is null");
        this.prepareSql = requireNonNull(prepareSql, "prepareSql is null");
    }

    public Optional<String> getFormattedQuery()
    {
        return formattedQuery;
    }

    public Optional<String> getPrepareSql()
    {
        return prepareSql;
    }

    public Optional<QueryType> getQueryType()
    {
        throw new UnsupportedOperationException("getQueryType method is not supported!");
    }

    public boolean isTransactionControlStatement()
    {
        throw new UnsupportedOperationException("isTransactionControlStatement method is not supported!");
    }

    public boolean isRollbackStatement()
    {
        throw new UnsupportedOperationException("isRollbackStatement method is not supported!");
    }

    public Class<?> getStatementClass()
    {
        throw new UnsupportedOperationException("getStatementClass method is not supported!");
    }

    public boolean isExplainTypeValidate()

View on GitHub (pinned to 55bb57d202)

Solutions

  1. Call this method only on the analysis-carrying PreparedQuery subclass
  2. Refactor the caller to obtain query type from the QueryExecution analysis
Defensive patterns

Strategy: type-guard

When it happens

Trigger: Thrown at presto-common/src/main/java/com/facebook/presto/common/analyzer/PreparedQuery.java:45 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of prestodb/presto@55bb57d202 (2026-09-04). Data as JSON: /api/errors/37cd5d55bfd1299a. Report an issue: GitHub.