001package gudusoft.gsqlparser.ir.logical;
002
003import gudusoft.gsqlparser.ir.logical.rel.*;
004
005/**
006 * Visitor interface for RelNode hierarchy.
007 */
008public interface RelNodeVisitor<R> {
009    R visitTableScan(TableScan node);
010    R visitProject(Project node);
011    R visitFilter(Filter node);
012    R visitJoin(Join node);
013    R visitAggregate(Aggregate node);
014    R visitSort(Sort node);
015    R visitSetOp(SetOp node);
016    R visitDmlInsert(DmlInsert node);
017    R visitDmlUpdate(DmlUpdate node);
018    R visitDmlDelete(DmlDelete node);
019    R visitDmlMerge(DmlMerge node);
020    R visitVendorSpecific(VendorSpecificRel node);
021}