Class DuckDBSqlDialect

java.lang.Object
org.apache.calcite.sql.SqlDialect
org.apache.calcite.sql.dialect.DuckDBSqlDialect

public class DuckDBSqlDialect extends SqlDialect
A SqlDialect implementation for the DuckDB database.
  • Field Details

  • Constructor Details

    • DuckDBSqlDialect

      public DuckDBSqlDialect(SqlDialect.Context context)
      Creates a DuckDBSqlDialect.
  • Method Details

    • supportsApproxCountDistinct

      public boolean supportsApproxCountDistinct()
      Description copied from class: SqlDialect
      Returns whether this dialect supports APPROX_COUNT_DISTINCT functions.
      Overrides:
      supportsApproxCountDistinct in class SqlDialect
    • supportsAliasedValues

      public boolean supportsAliasedValues()
      Description copied from class: SqlDialect
      Returns whether the dialect supports VALUES in a sub-query with and an "AS t(column, ...)" values to define column names.

      Currently, only Oracle does not. For this, we generate "SELECT v0 AS c0, v1 AS c1 ... UNION ALL ...". We may need to refactor this method when we support VALUES for other dialects.

      Overrides:
      supportsAliasedValues in class SqlDialect
    • unparseCall

      public void unparseCall(SqlWriter writer, SqlCall call, int leftPrec, int rightPrec)
      Overrides:
      unparseCall in class SqlDialect