org.eigenbase.sql.util
Class SqlShuttle.CallCopyingArgHandler

java.lang.Object
  extended by org.eigenbase.sql.util.SqlShuttle.CallCopyingArgHandler
All Implemented Interfaces:
SqlBasicVisitor.ArgHandler<SqlNode>
Enclosing class:
SqlShuttle

protected class SqlShuttle.CallCopyingArgHandler
extends Object
implements SqlBasicVisitor.ArgHandler<SqlNode>

Implementation of SqlShuttle.CallCopyingArgHandler which deep-copies SqlCalls and their operands.


Field Summary
private  boolean alwaysCopy
           
private  SqlCall call
           
(package private)  SqlNode[] clonedOperands
           
(package private)  boolean update
           
 
Constructor Summary
SqlShuttle.CallCopyingArgHandler(SqlCall call, boolean alwaysCopy)
           
 
Method Summary
 SqlNode result()
           
 SqlNode visitChild(SqlVisitor<SqlNode> visitor, SqlNode expr, int i, SqlNode operand)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

update

boolean update

clonedOperands

SqlNode[] clonedOperands

call

private final SqlCall call

alwaysCopy

private final boolean alwaysCopy
Constructor Detail

SqlShuttle.CallCopyingArgHandler

public SqlShuttle.CallCopyingArgHandler(SqlCall call,
                                        boolean alwaysCopy)
Method Detail

result

public SqlNode result()
Specified by:
result in interface SqlBasicVisitor.ArgHandler<SqlNode>

visitChild

public SqlNode visitChild(SqlVisitor<SqlNode> visitor,
                          SqlNode expr,
                          int i,
                          SqlNode operand)
Specified by:
visitChild in interface SqlBasicVisitor.ArgHandler<SqlNode>