Package mondrian.server
Class StatementImpl
java.lang.Object
mondrian.server.StatementImpl
- All Implemented Interfaces:
Statement
Implementation of
Statement
.
Not part of Mondrian's public API. This class may change without notice.
- Author:
- jhyde
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
cancel()
Issues a cancel request on this statement.void
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
Ends the current execution.Returns execution context if currently executing, null otherwise.long
getId()
Returns the ID of this statement, unique within the JVM.getProperty
(String name) getQuery()
long
Returns the query timeout of this statement, in milliseconds.Returns this statement's schema.Returns this statement's schema reader.void
void
setQueryTimeoutMillis
(long timeoutMillis) Sets the timeout of this statement, in milliseconds.void
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 Details
-
query
-
queryTimeout
protected long queryTimeoutQuery timeout, in milliseconds
-
-
Constructor Details
-
StatementImpl
public StatementImpl()Creates a StatementImpl.
-
-
Method Details
-
start
Description copied from interface:Statement
Starts an execution. -
cancel
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
Description copied from interface:Statement
Ends the current execution. -
enableProfiling
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
- 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
Description copied from interface:Statement
Returns this statement's schema reader.- Specified by:
getSchemaReader
in interfaceStatement
- Returns:
- Schema reader, not null
-
getSchema
Description copied from interface:Statement
Returns this statement's schema. -
getProperty
- Specified by:
getProperty
in interfaceStatement
-
getQuery
-
setQuery
-
getCurrentExecution
Description copied from interface:Statement
Returns execution context if currently executing, null otherwise.- Specified by:
getCurrentExecution
in interfaceStatement
- Returns:
- Execution context
-
getId
public long getId()Description copied from interface:Statement
Returns the ID of this statement, unique within the JVM.
-