mondrian.olap4j
Class MondrianOlap4jConnection

java.lang.Object
  extended by mondrian.olap4j.MondrianOlap4jConnection
All Implemented Interfaces:
Connection, Wrapper, OlapConnection, OlapWrapper

abstract class MondrianOlap4jConnection
extends Object
implements OlapConnection

Implementation of OlapConnection for the Mondrian OLAP engine.

This class has sub-classes which implement JDBC 3.0 and JDBC 4.0 APIs; it is instantiated using Factory.newConnection(java.lang.String, java.util.Properties).

Since:
May 23, 2007
Author:
jhyde
 

Nested Class Summary
(package private) static class MondrianOlap4jConnection.Helper
          Package-private helper class which encapsulates policies which are common throughout the driver.
 
Field Summary
(package private)  Connection connection
          Underlying mondrian connection.
(package private)  Factory factory
           
(package private)  MondrianOlap4jConnection.Helper helper
          Handler for errors.
(package private) static String LOCALDB_CATALOG_NAME
          The name of the sole catalog.
(package private)  MondrianOlap4jSchema olap4jSchema
          Current schema.
(package private)  Map<Schema,MondrianOlap4jSchema> schemaMap
          Map from mondrian schema objects to olap4j schemas.
 
Fields inherited from interface java.sql.Connection
TRANSACTION_NONE, TRANSACTION_READ_COMMITTED, TRANSACTION_READ_UNCOMMITTED, TRANSACTION_REPEATABLE_READ, TRANSACTION_SERIALIZABLE
 
Constructor Summary
MondrianOlap4jConnection(Factory factory, String url, Properties info)
          Creates an Olap4j connection to Mondrian.
 
Method Summary
(package private) static boolean acceptsURL(String url)
           
 void clearWarnings()
           
 void close()
           
 void commit()
           
 OlapStatement createStatement()
           
 Statement createStatement(int resultSetType, int resultSetConcurrency)
           
 Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability)
           
 boolean getAutoCommit()
           
 String getCatalog()
           
 NamedList<Catalog> getCatalogs()
           
 int getHoldability()
           
 Locale getLocale()
           
 OlapDatabaseMetaData getMetaData()
           
 MdxParserFactory getParserFactory()
           
 String getRoleName()
           
 Schema getSchema()
           
 int getTransactionIsolation()
           
 Map<String,Class<?>> getTypeMap()
           
 SQLWarning getWarnings()
           
 boolean isClosed()
           
 boolean isReadOnly()
           
 boolean isWrapperFor(Class<?> iface)
           
 String nativeSQL(String sql)
           
 CallableStatement prepareCall(String sql)
           
 CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency)
           
 CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)
           
 PreparedOlapStatement prepareOlapStatement(String mdx)
           
 PreparedStatement prepareStatement(String sql)
           
 PreparedStatement prepareStatement(String sql, int autoGeneratedKeys)
           
 PreparedStatement prepareStatement(String sql, int[] columnIndexes)
           
 PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency)
           
 PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)
           
 PreparedStatement prepareStatement(String sql, String[] columnNames)
           
 void releaseSavepoint(Savepoint savepoint)
           
 void rollback()
           
 void rollback(Savepoint savepoint)
           
 void setAutoCommit(boolean autoCommit)
           
 void setCatalog(String catalog)
           
 void setHoldability(int holdability)
           
 void setLocale(Locale locale)
           
 void setReadOnly(boolean readOnly)
           
 void setRoleName(String roleName)
           
 Savepoint setSavepoint()
           
 Savepoint setSavepoint(String name)
           
 void setTransactionIsolation(int level)
           
 void setTypeMap(Map<String,Class<?>> map)
           
static Map<String,String> toMap(Properties properties)
          Converts a Properties object to a Map with String keys and values.
(package private)  MondrianOlap4jCube toOlap4j(Cube cube)
           
(package private)  MondrianOlap4jNamedSet toOlap4j(Cube cube, NamedSet namedSet)
           
(package private)  MondrianOlap4jDimension toOlap4j(Dimension dimension)
           
(package private)  ParseTreeNode toOlap4j(Exp exp)
           
(package private)  MondrianOlap4jHierarchy toOlap4j(Hierarchy hierarchy)
           
(package private)  MondrianOlap4jLevel toOlap4j(Level level)
           
(package private)  MondrianOlap4jMember toOlap4j(Member member)
           
(package private)  SelectNode toOlap4j(Query query)
           
(package private)  MondrianOlap4jSchema toOlap4j(Schema schema)
           
(package private) static Axis toOlap4j(String axisName)
           
(package private)  Type toOlap4j(Type type)
           
(package private)  Type[] toOlap4j(Type[] mondrianTypes)
           
<T> T
unwrap(Class<T> iface)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.sql.Connection
createArrayOf, createBlob, createClob, createNClob, createSQLXML, createStruct, getClientInfo, getClientInfo, isValid, setClientInfo, setClientInfo
 

Field Detail

helper

final MondrianOlap4jConnection.Helper helper
Handler for errors.


connection

Connection connection
Underlying mondrian connection. Set on creation, cleared on close.


olap4jSchema

MondrianOlap4jSchema olap4jSchema
Current schema.


schemaMap

final Map<Schema,MondrianOlap4jSchema> schemaMap
Map from mondrian schema objects to olap4j schemas.


LOCALDB_CATALOG_NAME

static final String LOCALDB_CATALOG_NAME
The name of the sole catalog.

See Also:
Constant Field Values

factory

final Factory factory
Constructor Detail

MondrianOlap4jConnection

MondrianOlap4jConnection(Factory factory,
                         String url,
                         Properties info)
                   throws SQLException
Creates an Olap4j connection to Mondrian.

This method is intentionally package-protected. The public API uses the traditional JDBC DriverManager. See MondrianOlap4jDriver for more details.

Pre-condition:
acceptsURL(url)
Throws:
SQLException - if there is an error
Parameters:
factory - Factory
url - Connect-string URL
info - Additional properties
Method Detail

acceptsURL

static boolean acceptsURL(String url)

createStatement

public OlapStatement createStatement()
Specified by:
createStatement in interface Connection
Specified by:
createStatement in interface OlapConnection

prepareStatement

public PreparedStatement prepareStatement(String sql)
                                   throws SQLException
Specified by:
prepareStatement in interface Connection
Throws:
SQLException

prepareCall

public CallableStatement prepareCall(String sql)
                              throws SQLException
Specified by:
prepareCall in interface Connection
Throws:
SQLException

nativeSQL

public String nativeSQL(String sql)
                 throws SQLException
Specified by:
nativeSQL in interface Connection
Throws:
SQLException

setAutoCommit

public void setAutoCommit(boolean autoCommit)
                   throws SQLException
Specified by:
setAutoCommit in interface Connection
Throws:
SQLException

getAutoCommit

public boolean getAutoCommit()
                      throws SQLException
Specified by:
getAutoCommit in interface Connection
Throws:
SQLException

commit

public void commit()
            throws SQLException
Specified by:
commit in interface Connection
Throws:
SQLException

rollback

public void rollback()
              throws SQLException
Specified by:
rollback in interface Connection
Throws:
SQLException

close

public void close()
           throws SQLException
Specified by:
close in interface Connection
Throws:
SQLException

isClosed

public boolean isClosed()
                 throws SQLException
Specified by:
isClosed in interface Connection
Throws:
SQLException

getMetaData

public OlapDatabaseMetaData getMetaData()
Specified by:
getMetaData in interface Connection
Specified by:
getMetaData in interface OlapConnection

getCatalogs

public NamedList<Catalog> getCatalogs()
Specified by:
getCatalogs in interface OlapConnection

setReadOnly

public void setReadOnly(boolean readOnly)
                 throws SQLException
Specified by:
setReadOnly in interface Connection
Throws:
SQLException

isReadOnly

public boolean isReadOnly()
                   throws SQLException
Specified by:
isReadOnly in interface Connection
Throws:
SQLException

setCatalog

public void setCatalog(String catalog)
                throws SQLException
Specified by:
setCatalog in interface Connection
Throws:
SQLException

getCatalog

public String getCatalog()
                  throws SQLException
Specified by:
getCatalog in interface