/*
* This software is subject to the terms of the Eclipse Public License v1.0
* Agreement, available at the following URL:
* http://www.eclipse.org/legal/epl-v10.html.
* You must accept the terms of that agreement to use this software.
*
* Copyright (c) 2002-2013 Pentaho Corporation.. All rights reserved.
*/
package mondrian.spi.impl;
import mondrian.olap.Util;
import java.sql.*;
import java.util.List;
/**
* Implementation of {@link mondrian.spi.Dialect} for the Hsqldb database.
*
* @author wgorman
* @since Aug 20, 2009
*/
public class HsqldbDialect extends JdbcDialectImpl {
public static final JdbcDialectFactory FACTORY =
new JdbcDialectFactory(
HsqldbDialect.class,
DatabaseProduct.HSQLDB);
/**
* Creates a FirebirdDialect.
*
* @param connection Connection
*/
public HsqldbDialect(Connection connection) throws SQLException {
super(connection);
}
protected void quoteDateLiteral(
StringBuilder buf,
String value,
Date date)
{
// Hsqldb accepts '2008-01-23' but not SQL:2003 format.
Util.singleQuoteString(value, buf);
}
public String generateInline(
List<String> columnNames,
List<String> columnTypes,
List<String[]> valueList)
{
// Fall back to using the FoodMart 'days' table, because
// HQLDB's SQL has no way to generate values not from a table.
// (Same as Access.)
return generateInlineGeneric(
columnNames, columnTypes, valueList,
" from \"days\" where \"day\" = 1", false);
}
}
// End HsqldbDialect.java