mondrian.spi.impl
Class LucidDbDialect

java.lang.Object
  extended by mondrian.spi.impl.JdbcDialectImpl
      extended by mondrian.spi.impl.LucidDbDialect
All Implemented Interfaces:
Dialect
Direct Known Subclasses:
SqlStreamDialect

public class LucidDbDialect
extends JdbcDialectImpl

Implementation of Dialect for the LucidDB database.

Since:
Nov 23, 2008
Version:
$Id: //open/mondrian/src/main/mondrian/spi/impl/LucidDbDialect.java#3 $
Author:
jhyde

Nested Class Summary
 
Nested classes/interfaces inherited from interface mondrian.spi.Dialect
Dialect.DatabaseProduct, Dialect.Datatype, Dialect.NullCollation
 
Field Summary
static JdbcDialectFactory FACTORY
           
 
Fields inherited from class mondrian.spi.impl.JdbcDialectImpl
databaseProduct, permitsSelectNotInGroupBy, productVersion
 
Constructor Summary
LucidDbDialect(java.sql.Connection connection)
          Creates a LucidDbDialect.
 
Method Summary
 boolean allowsMultipleDistinctSqlMeasures()
          Returns whether this Dialect has performant support of distinct SQL measures in the same query.
 boolean needsExponent(java.lang.Object value, java.lang.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, allowsDdl, allowsDialectSharing, allowsFromQuery, allowsMultipleCountDistinct, allowsOrderByAlias, allowsSelectNotInGroupBy, appendHintsAfterFromClause, caseWhenElse, deduceIdentifierQuoteString, deduceMaxColumnNameLength, deduceProductName, deduceProductVersion, deduceReadOnly, deduceSupportedResultSetStyles, deduceSupportsSelectNotInGroupBy, generateInline, generateInlineForAnsi, generateInlineGeneric, generateOrderItem, getDatabaseProduct, getMaxColumnNameLength, getNullCollation, getProduct, getQuoteIdentifierString, quote, quoteBooleanLiteral, quoteDateLiteral, quoteDateLiteral, quoteIdentifier, quoteIdentifier, quoteIdentifier, quoteIdentifier, quoteNumericLiteral, quoteStringLiteral, quoteTimeLiteral, quoteTimestampLiteral, requiresAliasForFromQuery, requiresGroupByAlias, requiresOrderByAlias, requiresUnionOrderByExprToBeInSelectClause, requiresUnionOrderByOrdinal, supportsGroupByExpressions, supportsGroupingSets, supportsOrderByNullsLast, supportsResultSetConcurrency, toString, toUpper
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

FACTORY

public static final JdbcDialectFactory FACTORY
Constructor Detail

LucidDbDialect

public LucidDbDialect(java.sql.Connection connection)
               throws java.sql.SQLException
Creates a LucidDbDialect.

Parameters:
connection - Connection
Throws:
java.sql.SQLException
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 interface Dialect
Overrides:
allowsMultipleDistinctSqlMeasures in class JdbcDialectImpl
Returns:
whether this dialect supports multiple count(distinct subquery) measures in one query.

needsExponent

public boolean needsExponent(java.lang.Object value,
                             java.lang.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 interface Dialect
Overrides:
needsExponent in class JdbcDialectImpl
Parameters:
value - Double value to generate string for
valueString - 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 interface Dialect
Overrides:
supportsUnlimitedValueList in class JdbcDialectImpl
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 interface Dialect
Overrides:
supportsMultiValueInExpr in class JdbcDialectImpl
Returns:
true if the dialect supports multi-value IN expressions

Get Mondrian at SourceForge.net. Fast, secure and free Open Source software downloads