| Find out if we have a value node with variant type less than what the
caller desires, anywhere below us. Stop traversal as soon as we find one.
This is used in two places: one to check the values clause of an insert
statement; i.e
insert into values (?, 1, foobar());
If all the expressions in the values clause are QUERY_INVARIANT (and an
exception is made for parameters) then we can cache the results in the
RowResultNode. This is useful when we have a prepared insert statement which
is repeatedly executed.
The second place where this is used is to check if a subquery can be
materialized or not.
See Also: org.apache.derby.iapi.store.access.Qualifier See Also: author: jamie
HasVariantValueNodeVisitor | public HasVariantValueNodeVisitor()(Code) | | Construct a visitor
|
HasVariantValueNodeVisitor | public HasVariantValueNodeVisitor(int variantType, boolean ignoreParameters)(Code) | | Construct a visitor. Pass in the variant
type. We look for nodes that are less
than or equal to this variant type. E.g.,
if the variantType is Qualifier.SCAN_VARIANT,
then any node that is either VARIANT or
SCAN_VARIANT will cause the visitor to
consider it variant.
Parameters: variantType - the type of variance we considervariant Parameters: ignoreParameters - should I ignore parameter nodes? |
hasVariant | public boolean hasVariant()(Code) | | Indicate whether we found the node in
question
true/false |
stopTraversal | public boolean stopTraversal()(Code) | | Stop traversal if we found the target node
true/false |
|