org.eigenbase.sql.validate
Class SqlValidatorUtil.DeepCopier

java.lang.Object
  extended by org.eigenbase.sql.util.SqlBasicVisitor<SqlNode>
      extended by org.eigenbase.sql.util.SqlShuttle
          extended by org.eigenbase.sql.validate.SqlScopedShuttle
              extended by org.eigenbase.sql.validate.SqlValidatorUtil.DeepCopier
All Implemented Interfaces:
SqlVisitor<SqlNode>
Enclosing class:
SqlValidatorUtil

public static class SqlValidatorUtil.DeepCopier
extends SqlScopedShuttle

Walks over an expression, copying every node, and fully-qualifying every identifier.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.eigenbase.sql.util.SqlShuttle
SqlShuttle.CallCopyingArgHandler
 
Nested classes/interfaces inherited from class org.eigenbase.sql.util.SqlBasicVisitor
SqlBasicVisitor.ArgHandler<R>, SqlBasicVisitor.ArgHandlerImpl<R>
 
Constructor Summary
SqlValidatorUtil.DeepCopier(SqlValidatorScope scope)
           
 
Method Summary
 SqlNode visit(SqlDataTypeSpec type)
          Visits a datatype specification.
 SqlNode visit(SqlDynamicParam param)
          Visits a dynamic parameter.
 SqlNode visit(SqlIdentifier id)
          Visits an identifier.
 SqlNode visit(SqlIntervalQualifier intervalQualifier)
          Visits an interval qualifier
 SqlNode visit(SqlLiteral literal)
          Visits a literal.
 SqlNode visit(SqlNodeList list)
          Visits a list of SqlNode objects.
protected  SqlNode visitScoped(SqlCall call)
          Visits an operator call.
 
Methods inherited from class org.eigenbase.sql.validate.SqlScopedShuttle
getScope, visit
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SqlValidatorUtil.DeepCopier

SqlValidatorUtil.DeepCopier(SqlValidatorScope scope)
Method Detail

visit

public SqlNode visit(SqlNodeList list)
Description copied from interface: SqlVisitor
Visits a list of SqlNode objects.

Specified by:
visit in interface SqlVisitor<SqlNode>
Overrides:
visit in class SqlShuttle
Parameters:
list - list of nodes
See Also:
SqlNodeList.accept(SqlVisitor)

visitScoped

protected SqlNode visitScoped(SqlCall call)
Description copied from class: SqlScopedShuttle
Visits an operator call. If the call has entered a new scope, the base class will have already modified the scope.

Overrides:
visitScoped in class SqlScopedShuttle

visit

public SqlNode visit(SqlLiteral literal)
Description copied from interface: SqlVisitor
Visits a literal.

Specified by:
visit in interface SqlVisitor<SqlNode>
Overrides:
visit in class SqlShuttle
Parameters:
literal - Literal
See Also:
SqlLiteral.accept(SqlVisitor)

visit

public SqlNode visit(SqlIdentifier id)
Description copied from interface: SqlVisitor
Visits an identifier.

Specified by:
visit in interface SqlVisitor<SqlNode>
Overrides:
visit in class SqlShuttle
Parameters:
id - identifier
See Also:
SqlIdentifier.accept(SqlVisitor)

visit

public SqlNode visit(SqlDataTypeSpec type)
Description copied from interface: SqlVisitor
Visits a datatype specification.

Specified by:
visit in interface SqlVisitor<SqlNode>
Overrides:
visit in class SqlShuttle
Parameters:
type - datatype specification
See Also:
SqlDataTypeSpec.accept(SqlVisitor)

visit

public SqlNode visit(SqlDynamicParam param)
Description copied from interface: SqlVisitor
Visits a dynamic parameter.

Specified by:
visit in interface SqlVisitor<SqlNode>
Overrides:
visit in class SqlShuttle
Parameters:
param - Dynamic parameter
See Also:
SqlDynamicParam.accept(SqlVisitor)

visit

public SqlNode visit(SqlIntervalQualifier intervalQualifier)
Description copied from interface: SqlVisitor
Visits an interval qualifier

Specified by:
visit in interface SqlVisitor<SqlNode>
Overrides:
visit in class SqlShuttle
Parameters:
intervalQualifier - Interval qualifier
See Also:
SqlIntervalQualifier.accept(SqlVisitor)