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
public class LucidDbDialect extends JdbcDialectImpl
Implementation ofDialect
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 Modifier and Type Field Description static JdbcDialectFactory
FACTORY
-
Fields inherited from class mondrian.spi.impl.JdbcDialectImpl
databaseProduct, permitsSelectNotInGroupBy, productVersion
-
-
Constructor Summary
Constructors Constructor Description LucidDbDialect(Connection connection)
Creates a LucidDbDialect.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
allowsMultipleDistinctSqlMeasures()
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
supportsMultiValueInExpr()
Returns true if this dialect supports multi-value IN expressions.boolean
supportsUnlimitedValueList()
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 Detail
-
FACTORY
public static final JdbcDialectFactory FACTORY
-
-
Constructor Detail
-
LucidDbDialect
public LucidDbDialect(Connection connection) throws SQLException
Creates a LucidDbDialect.- Parameters:
connection
- Connection- Throws:
SQLException
- on error
-
-
Method Detail
-
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
public boolean needsExponent(Object value, String valueString)
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
-
-