A statement that can be used for all of the various internal operations, such as resolving MDX identifiers, that require a {@link Statement} and an {@link Execution}.
The statement needs to be reentrant because there are many such operations; several of these operations might be active at one time. We don't want to create a new statement for each, but just one internal statement for each connection. The statement shouldn't have a unique execution. For this reason, we don't use the inherited {@link #execution}field.
But there is a drawback. If we can't find the unique execution, the statement cannot be canceled or time out. If you want that behavior from an internal statement, use the base class: create a new {@link InternalStatement} for each operation.
|
|