Package mondrian.server
Class StatementImpl
- java.lang.Object
-
- mondrian.server.StatementImpl
-
-
Field Summary
Fields Modifier and Type Field Description protected Query
query
protected long
queryTimeout
Query timeout, in milliseconds
-
Constructor Summary
Constructors Constructor Description StatementImpl()
Creates a StatementImpl.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
cancel()
Issues a cancel request on this statement.void
checkCancelOrTimeout()
Checks if either a cancel request has been issued on the query or the execution time has exceeded the timeout value (if one has been set).void
enableProfiling(ProfileHandler profileHandler)
Enables profiling.void
end(Execution execution)
Ends the current execution.Execution
getCurrentExecution()
Returns execution context if currently executing, null otherwise.long
getId()
Returns the ID of this statement, unique within the JVM.ProfileHandler
getProfileHandler()
Object
getProperty(String name)
Query
getQuery()
long
getQueryTimeoutMillis()
Returns the query timeout of this statement, in milliseconds.RolapSchema
getSchema()
Returns this statement's schema.SchemaReader
getSchemaReader()
Returns this statement's schema reader.void
setQuery(Query query)
void
setQueryTimeoutMillis(long timeoutMillis)
Sets the timeout of this statement, in milliseconds.void
start(Execution execution)
Starts an execution.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface mondrian.server.Statement
close, getMondrianConnection
-
-
-
-
Field Detail
-
query
protected Query query
-
queryTimeout
protected long queryTimeout
Query timeout, in milliseconds
-
-
Method Detail
-
start
public void start(Execution execution)
Description copied from interface:Statement
Starts an execution.
-
cancel
public void cancel() throws SQLException
Description copied from interface:Statement
Issues a cancel request on this statement.Once the thread running the statement detects the cancel request, execution will throw an exception. See
BasicQueryTest.testCancel
for an example of usage of this method.- Specified by:
cancel
in interfaceStatement
- Throws:
SQLException
- on error
-
end
public void end(Execution execution)
Description copied from interface:Statement
Ends the current execution.
-
enableProfiling
public void enableProfiling(ProfileHandler profileHandler)
Description copied from interface:Statement
Enables profiling.Profiling information will be sent to the given writer when
Result.close()
is called.If profileHandler is null, disables profiling.
- Specified by:
enableProfiling
in interfaceStatement
- Parameters:
profileHandler
- Writer to which to send profiling information
-
getProfileHandler
public ProfileHandler getProfileHandler()
- Specified by:
getProfileHandler
in interfaceStatement
-
setQueryTimeoutMillis
public void setQueryTimeoutMillis(long timeoutMillis)
Description copied from interface:Statement
Sets the timeout of this statement, in milliseconds.Zero means no timeout.
Contrast with JDBC's
Statement.setQueryTimeout(int)
method, which uses anint
value and a granularity of seconds.- Specified by:
setQueryTimeoutMillis
in interfaceStatement
- Parameters:
timeoutMillis
- Timeout in milliseconds
-
getQueryTimeoutMillis
public long getQueryTimeoutMillis()
Description copied from interface:Statement
Returns the query timeout of this statement, in milliseconds.Zero means no timeout.
Contrast with JDBC's
Statement.getQueryTimeout()
method, which uses anint
value and a granularity of seconds.- Specified by:
getQueryTimeoutMillis
in interfaceStatement
- Returns:
- Timeout in milliseconds
-
checkCancelOrTimeout
public void checkCancelOrTimeout()
Description copied from interface:Statement
Checks if either a cancel request has been issued on the query or the execution time has exceeded the timeout value (if one has been set). Exceptions are raised if either of these two conditions are met. This method should be called periodically during query execution to ensure timely detection of these events, particularly before/after any potentially long running operations.- Specified by:
checkCancelOrTimeout
in interfaceStatement
-
getSchemaReader
public SchemaReader getSchemaReader()
Description copied from interface:Statement
Returns this statement's schema reader.- Specified by:
getSchemaReader
in interfaceStatement
- Returns:
- Schema reader, not null
-
getSchema
public RolapSchema getSchema()
Description copied from interface:Statement
Returns this statement's schema.
-
getProperty
public Object getProperty(String name)
- Specified by:
getProperty
in interfaceStatement
-
getCurrentExecution
public Execution getCurrentExecution()
Description copied from interface:Statement
Returns execution context if currently executing, null otherwise.- Specified by:
getCurrentExecution
in interfaceStatement
- Returns:
- Execution context
-
-