Package mondrian.spi.impl
Class LucidDbDialect
java.lang.Object
mondrian.spi.impl.JdbcDialectImpl
mondrian.spi.impl.LucidDbDialect
- All Implemented Interfaces:
Dialect
- Direct Known Subclasses:
SqlStreamDialect
Implementation of
Dialect
for the LucidDB database.- Since:
- Nov 23, 2008
- Author:
- jhyde
-
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 TypeMethodDescriptionboolean
Returns whether this Dialect has performant support of distinct SQL measures in the same query.boolean
needsExponent
(Object value, String valueString) If Double values need to include additional exponent in its string represenation.boolean
Returns true if this dialect supports multi-value IN expressions.boolean
Returns whether this Dialect places no limit on the number of rows which can appear as elements of an IN or VALUES expression.Methods inherited from class mondrian.spi.impl.JdbcDialectImpl
allowsAs, allowsCompoundCountDistinct, allowsCountDistinct, allowsCountDistinctWithOtherAggs, allowsDdl, allowsDialectSharing, allowsFromQuery, allowsJoinOn, allowsMultipleCountDistinct, allowsOrderByAlias, allowsRegularExpressionInWhereClause, allowsSelectNotInGroupBy, appendHintsAfterFromClause, caseWhenElse, computeStatisticsProviders, deduceIdentifierQuoteString, deduceMaxColumnNameLength, deduceProductName, deduceProductVersion, deduceReadOnly, deduceSupportedResultSetStyles, deduceSupportsSelectNotInGroupBy, extractEmbeddedFlags, generateCountExpression, generateInline, generateInlineForAnsi, generateInlineGeneric, generateOrderByNulls, generateOrderByNullsAnsi, generateOrderItem, generateRegularExpression, getDatabaseProduct, getMaxColumnNameLength, getProduct, getQuoteIdentifierString, getStatisticsProviders, getType, isDatabase, quote, quoteBooleanLiteral, quoteDateLiteral, quoteDateLiteral, quoteIdentifier, quoteIdentifier, quoteIdentifier, quoteIdentifier, quoteNumericLiteral, quoteStringLiteral, quoteTimeLiteral, quoteTimestampLiteral, quoteTimestampLiteral, requiresAliasForFromQuery, requiresGroupByAlias, requiresHavingAlias, requiresOrderByAlias, requiresUnionOrderByExprToBeInSelectClause, requiresUnionOrderByOrdinal, supportsGroupByExpressions, supportsGroupingSets, supportsResultSetConcurrency, toString, toUpper
-
Field Details
-
FACTORY
-
-
Constructor Details
-
LucidDbDialect
Creates a LucidDbDialect.- Parameters:
connection
- Connection- Throws:
SQLException
- on error
-
-
Method Details
-
allowsMultipleDistinctSqlMeasures
public boolean allowsMultipleDistinctSqlMeasures()Description copied from interface:Dialect
Returns whether this Dialect has performant support of distinct SQL measures in the same query.- Specified by:
allowsMultipleDistinctSqlMeasures
in interfaceDialect
- Overrides:
allowsMultipleDistinctSqlMeasures
in classJdbcDialectImpl
- Returns:
- whether this dialect supports multiple count(distinct subquery) measures in one query.
-
needsExponent
Description copied from interface:Dialect
If Double values need to include additional exponent in its string represenation. This is to make sure that Double literals will be interpreted as doubles by LucidDB.- Specified by:
needsExponent
in interfaceDialect
- Overrides:
needsExponent
in classJdbcDialectImpl
- Parameters:
value
- Double value to generate string forvalueString
- java string representation for this value.- Returns:
- whether an additional exponent "E0" needs to be appended
-
supportsUnlimitedValueList
public boolean supportsUnlimitedValueList()Description copied from interface:Dialect
Returns whether this Dialect places no limit on the number of rows which can appear as elements of an IN or VALUES expression.- Specified by:
supportsUnlimitedValueList
in interfaceDialect
- Overrides:
supportsUnlimitedValueList
in classJdbcDialectImpl
- Returns:
- whether value list length is unlimited
-
supportsMultiValueInExpr
public boolean supportsMultiValueInExpr()Description copied from interface:Dialect
Returns true if this dialect supports multi-value IN expressions. E.g.,WHERE (col1, col2) IN ((val1a, val2a), (val1b, val2b))
- Specified by:
supportsMultiValueInExpr
in interfaceDialect
- Overrides:
supportsMultiValueInExpr
in classJdbcDialectImpl
- Returns:
- true if the dialect supports multi-value IN expressions
-