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
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidcancel()Issues a cancel request on this statement.voidChecks 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).voidenableProfiling(ProfileHandler profileHandler) Enables profiling.voidEnds the current execution.Returns execution context if currently executing, null otherwise.longgetId()Returns the ID of this statement, unique within the JVM.getProperty(String name) getQuery()longReturns the query timeout of this statement, in milliseconds.Returns this statement's schema.Returns this statement's schema reader.voidvoidsetQueryTimeoutMillis(long timeoutMillis) Sets the timeout of this statement, in milliseconds.voidStarts an execution.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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:StatementStarts an execution. -
cancel
Description copied from interface:StatementIssues a cancel request on this statement.Once the thread running the statement detects the cancel request, execution will throw an exception. See
BasicQueryTest.testCancelfor an example of usage of this method.- Specified by:
cancelin interfaceStatement- Throws:
SQLException- on error
-
end
Description copied from interface:StatementEnds the current execution. -
enableProfiling
Description copied from interface:StatementEnables profiling.Profiling information will be sent to the given writer when
Result.close()is called.If profileHandler is null, disables profiling.
- Specified by:
enableProfilingin interfaceStatement- Parameters:
profileHandler- Writer to which to send profiling information
-
getProfileHandler
- Specified by:
getProfileHandlerin interfaceStatement
-
setQueryTimeoutMillis
public void setQueryTimeoutMillis(long timeoutMillis) Description copied from interface:StatementSets the timeout of this statement, in milliseconds.Zero means no timeout.
Contrast with JDBC's
Statement.setQueryTimeout(int)method, which uses anintvalue and a granularity of seconds.- Specified by:
setQueryTimeoutMillisin interfaceStatement- Parameters:
timeoutMillis- Timeout in milliseconds
-
getQueryTimeoutMillis
public long getQueryTimeoutMillis()Description copied from interface:StatementReturns the query timeout of this statement, in milliseconds.Zero means no timeout.
Contrast with JDBC's
Statement.getQueryTimeout()method, which uses anintvalue and a granularity of seconds.- Specified by:
getQueryTimeoutMillisin interfaceStatement- Returns:
- Timeout in milliseconds
-
checkCancelOrTimeout
public void checkCancelOrTimeout()Description copied from interface:StatementChecks 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:
checkCancelOrTimeoutin interfaceStatement
-
getSchemaReader
Description copied from interface:StatementReturns this statement's schema reader.- Specified by:
getSchemaReaderin interfaceStatement- Returns:
- Schema reader, not null
-
getSchema
Description copied from interface:StatementReturns this statement's schema. -
getProperty
- Specified by:
getPropertyin interfaceStatement
-
getQuery
-
setQuery
-
getCurrentExecution
Description copied from interface:StatementReturns execution context if currently executing, null otherwise.- Specified by:
getCurrentExecutionin interfaceStatement- Returns:
- Execution context
-
getId
public long getId()Description copied from interface:StatementReturns the ID of this statement, unique within the JVM.
-