Class RolapConnection

java.lang.Object
mondrian.olap.ConnectionBase
mondrian.rolap.RolapConnection
All Implemented Interfaces:
Connection

public class RolapConnection extends ConnectionBase
A RolapConnection is a connection to a Mondrian OLAP Server.

Typically, you create a connection via DriverManager.getConnection(String, mondrian.spi.CatalogLocator). RolapConnectionProperties describes allowable keywords.

Since:
2 October, 2002
Author:
jhyde
See Also:
  • Field Details

    • role

      protected Role role
  • Constructor Details

  • Method Details

    • finalize

      protected void finalize() throws Throwable
      Overrides:
      finalize in class Object
      Throws:
      Throwable
    • getId

      public int getId()
      Returns the identifier of this connection. Unique within the lifetime of this JVM.
      Returns:
      Identifier of this connection
    • getLogger

      protected org.apache.logging.log4j.Logger getLogger()
      Specified by:
      getLogger in class ConnectionBase
    • getConnectInfo

      public Util.PropertyList getConnectInfo()
    • close

      public void close()
      Description copied from interface: Connection
      Closes this Connection. You may not use this Connection after closing it.
    • getSchema

      public RolapSchema getSchema()
      Description copied from interface: Connection
      Get the Schema associated with this Connection.
      Returns:
      the Schema (never null).
    • getConnectString

      public String getConnectString()
      Description copied from interface: Connection
      Get the Connect String associated with this Connection.
      Returns:
      the Connect String (never null).
    • getCatalogName

      public String getCatalogName()
      Description copied from interface: Connection
      Get the name of the Catalog associated with this Connection.
      Returns:
      the Catalog name (never null).
    • getLocale

      public Locale getLocale()
      Description copied from interface: Connection
      Returns the locale this connection belongs to. Determines, for example, the currency string used in formatting cell values.
      See Also:
    • setLocale

      public void setLocale(Locale locale)
    • getSchemaReader

      public SchemaReader getSchemaReader()
      Description copied from interface: Connection
      Returns a schema reader with access control appropriate to the current role.
    • getProperty

      public Object getProperty(String name)
      Description copied from interface: Connection
      Returns the value of a connection property.
      Parameters:
      name - Name of property, for example "JdbcUser".
      Returns:
      Value of property, or null if property is not defined.
    • getCacheControl

      public CacheControl getCacheControl(PrintWriter pw)
      Description copied from interface: Connection
      Returns an object with which to explicitly control the contents of the cache.
      Parameters:
      pw - Writer to which to write logging information; may be null
    • execute

      public Result execute(Query query)
      Deprecated.
      Use execute(mondrian.server.Execution); this method will be removed in mondrian-4.0
      Executes a Query.
      Parameters:
      query - Query parse tree
      Throws:
      ResourceLimitExceededException - if some resource limit specified in the property file was exceeded
      QueryCanceledException - if query was canceled during execution
      QueryTimeoutException - if query exceeded timeout specified in the property file
    • execute

      public Result execute(Execution execution)
      Executes a statement.
      Parameters:
      execution - Execution context (includes statement, query)
      Throws:
      ResourceLimitExceededException - if some resource limit specified in the property file was exceeded
      QueryCanceledException - if query was canceled during execution
      QueryTimeoutException - if query exceeded timeout specified in the property file
    • setRole

      public void setRole(Role role)
      Description copied from interface: Connection
      Sets the privileges for the this connection.
    • getRole

      public Role getRole()
      Description copied from interface: Connection
      Returns the access-control profile for this connection.
    • setScenario

      public void setScenario(org.olap4j.Scenario scenario)
    • getScenario

      public org.olap4j.Scenario getScenario()
    • getServer

      public MondrianServer getServer()
      Returns the server (mondrian instance) that this connection belongs to. Usually there is only one server instance in a given JVM.
      Returns:
      Server instance; never null
    • parseStatement

      public QueryPart parseStatement(String query)
      Description copied from interface: Connection
      Parses a statement.
      Parameters:
      query - MDX string
      Returns:
      A Query if it is a SELECT statement, a DrillThrough if it is a DRILLTHROUGH statement
    • parseExpression

      public Exp parseExpression(String expr)
      Description copied from interface: Connection
      Parses an expresion.
    • getInternalStatement

      public Statement getInternalStatement()
      Specified by:
      getInternalStatement in class ConnectionBase
    • getDataSource

      public DataSource getDataSource()
      Description copied from interface: Connection
      Returns the data source this connection uses to create connections to the underlying JDBC database.
      Returns:
      Data source
    • createScenario

      public ScenarioImpl createScenario()
      Helper method to allow olap4j wrappers to implement OlapConnection.createScenario().
      Returns:
      new Scenario