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
Implementation of
Dialect
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 inherited from class mondrian.spi.impl.JdbcDialectImpl
databaseProduct, permitsSelectNotInGroupBy, productVersion
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionReturns the database for this Dialect, orDialect.DatabaseProduct.UNKNOWN
if the database is not a common database.boolean
Returns whether this Dialect requires subqueries in the FROM clause to have an alias.boolean
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
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 Details
-
FACTORY
-
-
Constructor Details
-
VectorwiseDialect
Creates a VectorwiseDialect.- Parameters:
connection
- Connection- Throws:
SQLException
-
-
Method Details
-
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:
-
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
-