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 ofDialectfor 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 JdbcDialectFactoryFACTORY-
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 booleanallowsMultipleDistinctSqlMeasures()Returns 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.booleansupportsMultiValueInExpr()Returns true if this dialect supports multi-value IN expressions.booleansupportsUnlimitedValueList()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: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
public boolean needsExponent(Object value, String valueString)
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
-
-