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
FieldsFields inherited from class mondrian.spi.impl.JdbcDialectImpl
databaseProduct, permitsSelectNotInGroupBy, productVersion -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns the database for this Dialect, orDialect.DatabaseProduct.UNKNOWNif the database is not a common database.booleanReturns whether this Dialect requires subqueries in the FROM clause to have an alias.booleanReturns true if this Dialect can include expressions in the HAVING clause only by adding an expression to the SELECT clause and using its alias.booleanReturns true if this dialect allows only integers in the ORDER BY clause of a UNION (or other set operation) query.booleansupportsResultSetConcurrency(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, requiresOrderByAliasMethods 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:DialectReturns the database for this Dialect, orDialect.DatabaseProduct.UNKNOWNif the database is not a common database.- Specified by:
getDatabaseProductin interfaceDialect- Overrides:
getDatabaseProductin classJdbcDialectImpl- Returns:
- Database
-
supportsResultSetConcurrency
public boolean supportsResultSetConcurrency(int type, int concurrency) Description copied from interface:DialectReturns 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:
supportsResultSetConcurrencyin interfaceDialect- Overrides:
supportsResultSetConcurrencyin classJdbcDialectImpl- Parameters:
type- defined inResultSetconcurrency- type defined inResultSet- Returns:
trueif so;falseotherwise
-
requiresHavingAlias
public boolean requiresHavingAlias()Description copied from interface:DialectReturns 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,
would be illegal, butSELECT CONCAT(x) as foo FROM t HAVING CONCAT(x) LIKE "%"
would be legal.SELECT CONCAT(x) as foo FROM t HAVING foo LIKE "%"MySQL is an example of such dialects.
- Specified by:
requiresHavingAliasin interfaceDialect- Overrides:
requiresHavingAliasin 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:DialectReturns whether this Dialect requires subqueries in the FROM clause to have an alias.- Specified by:
requiresAliasForFromQueryin interfaceDialect- Overrides:
requiresAliasForFromQueryin classJdbcDialectImpl- Returns:
- whether dialewct requires subqueries to have an alias
- See Also:
-
requiresUnionOrderByOrdinal
public boolean requiresUnionOrderByOrdinal()Description copied from interface:DialectReturns 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 tis allowed but
UNION ALL
SELECT x, y + z FROM t
ORDER BY 1, 2SELECT x, y, z FROM tis not.
UNION ALL
SELECT x, y, z FROM t
ORDER BY xTeradata is an example of a dialect with this restriction.
- Specified by:
requiresUnionOrderByOrdinalin interfaceDialect- Overrides:
requiresUnionOrderByOrdinalin classJdbcDialectImpl- Returns:
- whether this dialect allows only integers in the ORDER BY clause of a UNION (or other set operation) query
-