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
FieldsFields inherited from class mondrian.spi.impl.JdbcDialectImpl
databaseProduct, permitsSelectNotInGroupBy, productVersion -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanReturns whether this Dialect has performant support of distinct SQL measures in the same query.booleanneedsExponent(Object value, String valueString) If Double values need to include additional exponent in its string represenation.booleanReturns true if this dialect supports multi-value IN expressions.booleanReturns 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:DialectReturns whether this Dialect has performant support of distinct SQL measures in the same query.- Specified by:
allowsMultipleDistinctSqlMeasuresin interfaceDialect- Overrides:
allowsMultipleDistinctSqlMeasuresin classJdbcDialectImpl- Returns:
- whether this dialect supports multiple count(distinct subquery) measures in one query.
-
needsExponent
Description copied from interface:DialectIf 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:
needsExponentin interfaceDialect- Overrides:
needsExponentin 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:DialectReturns whether this Dialect places no limit on the number of rows which can appear as elements of an IN or VALUES expression.- Specified by:
supportsUnlimitedValueListin interfaceDialect- Overrides:
supportsUnlimitedValueListin classJdbcDialectImpl- Returns:
- whether value list length is unlimited
-
supportsMultiValueInExpr
public boolean supportsMultiValueInExpr()Description copied from interface:DialectReturns true if this dialect supports multi-value IN expressions. E.g.,WHERE (col1, col2) IN ((val1a, val2a), (val1b, val2b))- Specified by:
supportsMultiValueInExprin interfaceDialect- Overrides:
supportsMultiValueInExprin classJdbcDialectImpl- Returns:
- true if the dialect supports multi-value IN expressions
-