Class GreenplumDialect

  • All Implemented Interfaces:
    Dialect

    public class GreenplumDialect
    extends PostgreSqlDialect
    Implementation of Dialect for the GreenplumSQL database.
    Since:
    Dec 23, 2009
    Author:
    Millersoft
    • Constructor Detail

      • GreenplumDialect

        public GreenplumDialect​(Connection connection)
                         throws SQLException
        Creates a GreenplumDialect.
        Parameters:
        connection - Connection
        Throws:
        SQLException
    • Method Detail

      • supportsGroupingSets

        public boolean supportsGroupingSets()
        Description copied from interface: Dialect
        Returns whether this Dialect allows the GROUPING SETS construct in the GROUP BY clause. Currently Greenplum, IBM DB2, Oracle, and Teradata.
        Specified by:
        supportsGroupingSets in interface Dialect
        Overrides:
        supportsGroupingSets in class JdbcDialectImpl
        Returns:
        Whether this Dialect allows GROUPING SETS clause
      • requiresGroupByAlias

        public boolean requiresGroupByAlias()
        Description copied from interface: Dialect
        Returns true if this Dialect can include expressions in the GROUP BY clause only by adding an expression to the SELECT clause and using its alias.

        For example, in such a dialect,

        SELECT x, x FROM t GROUP BY x
        would be illegal, but
        SELECT x AS a, x AS b FROM t ORDER BY a, b
        would be legal.

        Infobright is the only such dialect.

        Specified by:
        requiresGroupByAlias in interface Dialect
        Overrides:
        requiresGroupByAlias in class JdbcDialectImpl
        Returns:
        Whether this Dialect can include expressions in the GROUP BY clause only by adding an expression to the SELECT clause and using its alias
      • allowsCountDistinct

        public boolean allowsCountDistinct()
        Description copied from interface: Dialect
        Returns whether this Dialect supports distinct aggregations.

        For example, Access does not allow

        select count(distinct x) from t
        Specified by:
        allowsCountDistinct in interface Dialect
        Overrides:
        allowsCountDistinct in class JdbcDialectImpl
        Returns:
        whether Dialect allows COUNT DISTINCT
      • generateCountExpression

        public String generateCountExpression​(String exp)
        Description copied from interface: Dialect
        Some databases, like Greenplum, don't include nulls as part of the results of a COUNT sql call. This allows dialects to wrap the count expression in something before it is used in the query.
        Specified by:
        generateCountExpression in interface Dialect
        Overrides:
        generateCountExpression in class JdbcDialectImpl
        Parameters:
        exp - The expression to wrap.
        Returns:
        A valid expression to use for a count operation.