Class IngresDialect

java.lang.Object
mondrian.spi.impl.JdbcDialectImpl
mondrian.spi.impl.IngresDialect
All Implemented Interfaces:
Dialect
Direct Known Subclasses:
VectorwiseDialect

public class IngresDialect extends JdbcDialectImpl
Implementation of Dialect for the Ingres database.
Since:
Nov 23, 2008
Author:
jhyde
  • Field Details

  • Constructor Details

  • Method Details

    • generateInline

      public String generateInline(List<String> columnNames, List<String> columnTypes, List<String[]> valueList)
      Description copied from interface: Dialect
      Generates a SQL statement to represent an inline dataset.

      For example, for Oracle, generates

       SELECT 1 AS FOO, 'a' AS BAR FROM dual
       UNION ALL
       SELECT 2 AS FOO, 'b' AS BAR FROM dual
       

      For ANSI SQL, generates:

       VALUES (1, 'a'), (2, 'b')
       
      Specified by:
      generateInline in interface Dialect
      Overrides:
      generateInline in class JdbcDialectImpl
      Parameters:
      columnNames - List of column names
      columnTypes - List of column types ("String" or "Numeric")
      valueList - List of rows values
      Returns:
      SQL string
    • requiresOrderByAlias

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

      For example, in such a dialect,

      SELECT x FROM t ORDER BY x + y
      would be illegal, but
      SELECT x, x + y AS z FROM t ORDER BY z
      would be legal.

      MySQL, DB2 and Ingres are examples of such dialects.

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