001/*
002// This software is subject to the terms of the Eclipse Public License v1.0
003// Agreement, available at the following URL:
004// http://www.eclipse.org/legal/epl-v10.html.
005// You must accept the terms of that agreement to use this software.
006//
007// Copyright (C) 2008-2010 Pentaho
008// All Rights Reserved.
009*/
010package mondrian.spi.impl;
011
012import java.sql.Connection;
013import java.sql.SQLException;
014
015/**
016 * Implementation of {@link mondrian.spi.Dialect} for the LucidDB database.
017 *
018 * @author jhyde
019 * @since Nov 23, 2008
020 */
021public class LucidDbDialect extends JdbcDialectImpl {
022
023    public static final JdbcDialectFactory FACTORY =
024        new JdbcDialectFactory(
025            LucidDbDialect.class,
026            DatabaseProduct.LUCIDDB);
027
028    /**
029     * Creates a LucidDbDialect.
030     *
031     * @param connection Connection
032     *
033     * @throws java.sql.SQLException on error
034     */
035    public LucidDbDialect(Connection connection) throws SQLException {
036        super(connection);
037    }
038
039    public boolean allowsMultipleDistinctSqlMeasures() {
040        return false;
041    }
042
043    public boolean needsExponent(Object value, String valueString) {
044        return value instanceof Double && !valueString.contains("E");
045    }
046
047    public boolean supportsUnlimitedValueList() {
048        return true;
049    }
050
051    public boolean supportsMultiValueInExpr() {
052        return true;
053    }
054}
055
056// End LucidDbDialect.java