Package com.exasol.adapter.sql
Interface SqlNodeVisitor<R>
-
- Type Parameters:
R
- node being visited
public interface SqlNodeVisitor<R>
Implementation of the Visitor pattern for the SqlNode. Benefit of this Visitor implementation: We get compile time safety that all Visitors have implementations for all SqlNode types. Drawback of this Visitor implementation: Whenever a new SqlNode gets added, we need to implement it here (should be fine for now). If this becomes to annoying, we can still switch to a visitor pattern using Reflection.
-
-
Method Summary
-
-
-
Method Detail
-
visit
R visit(SqlStatementSelect select) throws AdapterException
- Throws:
AdapterException
-
visit
R visit(SqlSelectList selectList) throws AdapterException
- Throws:
AdapterException
-
visit
R visit(SqlGroupBy groupBy) throws AdapterException
- Throws:
AdapterException
-
visit
R visit(SqlColumn sqlColumn) throws AdapterException
- Throws:
AdapterException
-
visit
R visit(SqlFunctionAggregate sqlFunctionAggregate) throws AdapterException
- Throws:
AdapterException
-
visit
R visit(SqlFunctionAggregateGroupConcat sqlFunctionAggregateGroupConcat) throws AdapterException
- Throws:
AdapterException
-
visit
R visit(SqlFunctionScalar sqlFunctionScalar) throws AdapterException
- Throws:
AdapterException
-
visit
R visit(SqlFunctionScalarCase sqlFunctionScalarCase) throws AdapterException
- Throws:
AdapterException
-
visit
R visit(SqlFunctionScalarCast sqlFunctionScalarCast) throws AdapterException
- Throws:
AdapterException
-
visit
R visit(SqlFunctionScalarExtract sqlFunctionScalarExtract) throws AdapterException
- Throws:
AdapterException
-
visit
R visit(SqlFunctionScalarJsonValue sqlFunctionScalarJsonValue) throws AdapterException
- Throws:
AdapterException
-
visit
R visit(SqlLimit sqlLimit) throws AdapterException
- Throws:
AdapterException
-
visit
R visit(SqlLiteralBool sqlLiteralBool) throws AdapterException
- Throws:
AdapterException
-
visit
R visit(SqlLiteralDate sqlLiteralDate) throws AdapterException
- Throws:
AdapterException
-
visit
R visit(SqlLiteralDouble sqlLiteralDouble) throws AdapterException
- Throws:
AdapterException
-
visit
R visit(SqlLiteralExactnumeric sqlLiteralExactnumeric) throws AdapterException
- Throws:
AdapterException
-
visit
R visit(SqlLiteralNull sqlLiteralNull) throws AdapterException
- Throws:
AdapterException
-
visit
R visit(SqlLiteralString sqlLiteralString) throws AdapterException
- Throws:
AdapterException
-
visit
R visit(SqlLiteralTimestamp sqlLiteralTimestamp) throws AdapterException
- Throws:
AdapterException
-
visit
R visit(SqlLiteralTimestampUtc sqlLiteralTimestampUtc) throws AdapterException
- Throws:
AdapterException
-
visit
R visit(SqlLiteralInterval sqlLiteralInterval) throws AdapterException
- Throws:
AdapterException
-
visit
R visit(SqlOrderBy sqlOrderBy) throws AdapterException
- Throws:
AdapterException
-
visit
R visit(SqlPredicateAnd sqlPredicateAnd) throws AdapterException
- Throws:
AdapterException
-
visit
R visit(SqlPredicateBetween sqlPredicateBetween) throws AdapterException
- Throws:
AdapterException
-
visit
R visit(SqlPredicateEqual sqlPredicateEqual) throws AdapterException
- Throws:
AdapterException
-
visit
R visit(SqlPredicateInConstList sqlPredicateInConstList) throws AdapterException
- Throws:
AdapterException
-
visit
R visit(SqlPredicateIsJson sqlPredicateIsJson) throws AdapterException
- Throws:
AdapterException
-
visit
R visit(SqlPredicateIsNotJson sqlPredicateIsNotJson) throws AdapterException
- Throws:
AdapterException
-
visit
R visit(SqlPredicateLess sqlPredicateLess) throws AdapterException
- Throws:
AdapterException
-
visit
R visit(SqlPredicateLessEqual sqlPredicateLessEqual) throws AdapterException
- Throws:
AdapterException
-
visit
R visit(SqlPredicateLike sqlPredicateLike) throws AdapterException
- Throws:
AdapterException
-
visit
R visit(SqlPredicateLikeRegexp sqlPredicateLikeRegexp) throws AdapterException
- Throws:
AdapterException
-
visit
R visit(SqlPredicateNot sqlPredicateNot) throws AdapterException
- Throws:
AdapterException
-
visit
R visit(SqlPredicateNotEqual sqlPredicateNotEqual) throws AdapterException
- Throws:
AdapterException
-
visit
R visit(SqlPredicateOr sqlPredicateOr) throws AdapterException
- Throws:
AdapterException
-
visit
R visit(SqlPredicateIsNotNull sqlPredicateOr) throws AdapterException
- Throws:
AdapterException
-
visit
R visit(SqlPredicateIsNull sqlPredicateOr) throws AdapterException
- Throws:
AdapterException
-
visit
R visit(SqlTable sqlTable) throws AdapterException
- Throws:
AdapterException
-
visit
R visit(SqlJoin sqlJoin) throws AdapterException
- Throws:
AdapterException
-
visit
R visit(SqlFunctionAggregateListagg sqlFunctionAggregateListagg) throws AdapterException
- Throws:
AdapterException
-
-