Class VectorwiseDialect

All Implemented Interfaces:
Dialect

public class VectorwiseDialect extends IngresDialect
Implementation of Dialect for the Vertica database.
Since:
Sept 11, 2009
Author:
LBoudreau
  • Field Details

  • Constructor Details

    • VectorwiseDialect

      public VectorwiseDialect(Connection connection) throws SQLException
      Creates a VectorwiseDialect.
      Parameters:
      connection - Connection
      Throws:
      SQLException
  • Method Details

    • getDatabaseProduct

      public Dialect.DatabaseProduct getDatabaseProduct()
      Description copied from interface: Dialect
      Returns the database for this Dialect, or Dialect.DatabaseProduct.UNKNOWN if the database is not a common database.
      Specified by:
      getDatabaseProduct in interface Dialect
      Overrides:
      getDatabaseProduct in class JdbcDialectImpl
      Returns:
      Database
    • supportsResultSetConcurrency

      public boolean supportsResultSetConcurrency(int type, int concurrency)
      Description copied from interface: Dialect
      Returns whether this Dialect supports the given concurrency type in combination with the given result set type.

      The result is similar to DatabaseMetaData.supportsResultSetConcurrency(int, int), except that the JdbcOdbc bridge in JDK 1.6 overstates its abilities. See bug 1690406.

      Specified by:
      supportsResultSetConcurrency in interface Dialect
      Overrides:
      supportsResultSetConcurrency in class JdbcDialectImpl
      Parameters:
      type - defined in ResultSet
      concurrency - type defined in ResultSet
      Returns:
      true if so; false otherwise
    • requiresHavingAlias

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

      For example, in such a dialect,

      SELECT CONCAT(x) as foo FROM t HAVING CONCAT(x) LIKE "%"
      would be illegal, but
      SELECT CONCAT(x) as foo FROM t HAVING foo LIKE "%"
      would be legal.

      MySQL is an example of such dialects.

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

      public boolean requiresAliasForFromQuery()
      Description copied from interface: Dialect
      Returns whether this Dialect requires subqueries in the FROM clause to have an alias.
      Specified by:
      requiresAliasForFromQuery in interface Dialect
      Overrides:
      requiresAliasForFromQuery in class JdbcDialectImpl
      Returns:
      whether dialewct requires subqueries to have an alias
      See Also:
    • requiresUnionOrderByOrdinal

      public boolean requiresUnionOrderByOrdinal()
      Description copied from interface: Dialect
      Returns true if this dialect allows only integers in the ORDER BY clause of a UNION (or other set operation) query.

      For example, SELECT x, y + z FROM t
      UNION ALL
      SELECT x, y + z FROM t
      ORDER BY 1, 2
      is allowed but SELECT x, y, z FROM t
      UNION ALL
      SELECT x, y, z FROM t
      ORDER BY x
      is not.

      Teradata is an example of a dialect with this restriction.

      Specified by:
      requiresUnionOrderByOrdinal in interface Dialect
      Overrides:
      requiresUnionOrderByOrdinal in class JdbcDialectImpl
      Returns:
      whether this dialect allows only integers in the ORDER BY clause of a UNION (or other set operation) query