Package mondrian.spi.impl
Class VectorwiseDialect
- java.lang.Object
-
- mondrian.spi.impl.JdbcDialectImpl
-
- mondrian.spi.impl.IngresDialect
-
- mondrian.spi.impl.VectorwiseDialect
-
- All Implemented Interfaces:
Dialect
public class VectorwiseDialect extends IngresDialect
Implementation ofDialect
for the Vertica database.- Since:
- Sept 11, 2009
- Author:
- LBoudreau
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface mondrian.spi.Dialect
Dialect.DatabaseProduct, Dialect.Datatype
-
-
Field Summary
Fields Modifier and Type Field Description static JdbcDialectFactory
FACTORY
-
Fields inherited from class mondrian.spi.impl.JdbcDialectImpl
databaseProduct, permitsSelectNotInGroupBy, productVersion
-
-
Constructor Summary
Constructors Constructor Description VectorwiseDialect(Connection connection)
Creates a VectorwiseDialect.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Dialect.DatabaseProduct
getDatabaseProduct()
Returns the database for this Dialect, orDialect.DatabaseProduct.UNKNOWN
if the database is not a common database.boolean
requiresAliasForFromQuery()
Returns whether this Dialect requires subqueries in the FROM clause to have an alias.boolean
requiresHavingAlias()
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.boolean
requiresUnionOrderByOrdinal()
Returns true if this dialect allows only integers in the ORDER BY clause of a UNION (or other set operation) query.boolean
supportsResultSetConcurrency(int type, int concurrency)
Returns whether this Dialect supports the given concurrency type in combination with the given result set type.-
Methods inherited from class mondrian.spi.impl.IngresDialect
generateInline, requiresOrderByAlias
-
Methods inherited from class mondrian.spi.impl.JdbcDialectImpl
allowsAs, allowsCompoundCountDistinct, allowsCountDistinct, allowsCountDistinctWithOtherAggs, allowsDdl, allowsDialectSharing, allowsFromQuery, allowsJoinOn, allowsMultipleCountDistinct, allowsMultipleDistinctSqlMeasures, allowsOrderByAlias, allowsRegularExpressionInWhereClause, allowsSelectNotInGroupBy, appendHintsAfterFromClause, caseWhenElse, computeStatisticsProviders, deduceIdentifierQuoteString, deduceMaxColumnNameLength, deduceProductName, deduceProductVersion, deduceReadOnly, deduceSupportedResultSetStyles, deduceSupportsSelectNotInGroupBy, extractEmbeddedFlags, generateCountExpression, generateInlineForAnsi, generateInlineGeneric, generateOrderByNulls, generateOrderByNullsAnsi, generateOrderItem, generateRegularExpression, getMaxColumnNameLength, getProduct, getQuoteIdentifierString, getStatisticsProviders, getType, isDatabase, needsExponent, quote, quoteBooleanLiteral, quoteDateLiteral, quoteDateLiteral, quoteIdentifier, quoteIdentifier, quoteIdentifier, quoteIdentifier, quoteNumericLiteral, quoteStringLiteral, quoteTimeLiteral, quoteTimestampLiteral, quoteTimestampLiteral, requiresGroupByAlias, requiresUnionOrderByExprToBeInSelectClause, supportsGroupByExpressions, supportsGroupingSets, supportsMultiValueInExpr, supportsUnlimitedValueList, toString, toUpper
-
-
-
-
Field Detail
-
FACTORY
public static final JdbcDialectFactory FACTORY
-
-
Constructor Detail
-
VectorwiseDialect
public VectorwiseDialect(Connection connection) throws SQLException
Creates a VectorwiseDialect.- Parameters:
connection
- Connection- Throws:
SQLException
-
-
Method Detail
-
getDatabaseProduct
public Dialect.DatabaseProduct getDatabaseProduct()
Description copied from interface:Dialect
Returns the database for this Dialect, orDialect.DatabaseProduct.UNKNOWN
if the database is not a common database.- Specified by:
getDatabaseProduct
in interfaceDialect
- Overrides:
getDatabaseProduct
in classJdbcDialectImpl
- 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 interfaceDialect
- Overrides:
supportsResultSetConcurrency
in classJdbcDialectImpl
- Parameters:
type
- defined inResultSet
concurrency
- type defined inResultSet
- 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 "%"
SELECT CONCAT(x) as foo FROM t HAVING foo LIKE "%"
MySQL is an example of such dialects.
- Specified by:
requiresHavingAlias
in interfaceDialect
- Overrides:
requiresHavingAlias
in classJdbcDialectImpl
- 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 interfaceDialect
- Overrides:
requiresAliasForFromQuery
in classJdbcDialectImpl
- Returns:
- whether dialewct requires subqueries to have an alias
- See Also:
Dialect.allowsFromQuery()
-
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
is allowed but
UNION ALL
SELECT x, y + z FROM t
ORDER BY 1, 2SELECT x, y, z FROM t
is not.
UNION ALL
SELECT x, y, z FROM t
ORDER BY xTeradata is an example of a dialect with this restriction.
- Specified by:
requiresUnionOrderByOrdinal
in interfaceDialect
- Overrides:
requiresUnionOrderByOrdinal
in classJdbcDialectImpl
- Returns:
- whether this dialect allows only integers in the ORDER BY clause of a UNION (or other set operation) query
-
-