001package gudusoft.gsqlparser.nodes.functions;
002
003import gudusoft.gsqlparser.ESqlClause;
004import gudusoft.gsqlparser.TCustomSqlStatement;
005import gudusoft.gsqlparser.nodes.*;
006
007import java.util.ArrayList;
008
009
010/**
011 * TeraData UnPack function
012 */
013public class TUnPackFunction extends TTableFunction {
014
015    private TFromTable tableRef;
016    private ArrayList<TUnpackOption> unpackOptions;
017
018    private TTable table;
019
020    public TTable getTable() {
021        return table;
022    }
023
024    public TFromTable getTableRef() {
025        return tableRef;
026    }
027
028    public ArrayList<TUnpackOption> getUnpackOptions() {
029        return unpackOptions;
030    }
031
032    public void init(Object arg1, Object arg2,Object arg3){
033        functionName = (TObjectName)arg1;
034        tableRef = (TFromTable)arg2;
035        unpackOptions = (ArrayList<TUnpackOption>)arg3;
036    }
037
038    public void doParse(TCustomSqlStatement psql, ESqlClause plocation){
039        super.doParse(psql,plocation);
040        table = psql.analyzeFromTable(tableRef,true);
041    }
042
043    public void accept(TParseTreeVisitor v){
044        v.preVisit(this);
045        v.postVisit(this);
046    }
047
048    public void acceptChildren(TParseTreeVisitor v) {
049        v.preVisit(this);
050       v.postVisit(this);
051    }
052}