001package gudusoft.gsqlparser.nodes.functions;
002
003import gudusoft.gsqlparser.*;
004import gudusoft.gsqlparser.TCustomSqlStatement;
005import gudusoft.gsqlparser.nodes.*;
006import gudusoft.gsqlparser.nodes.TParseTreeVisitor;
007
008/**
009 * Teradata json function such as json_agg, json_compose
010 *
011 */
012public class TJsonFunction extends TFunctionCall {
013
014    private TResultColumnList jsonAggList;
015
016    public TResultColumnList getJsonAggList() {
017        return jsonAggList;
018    }
019
020    public void doParse(TCustomSqlStatement psql, ESqlClause plocation){
021        super.doParse(psql, plocation);
022        jsonAggList.doParse(psql, plocation);
023    }
024
025    public void init(Object arg1, Object arg2){
026        functionType = EFunctionType.json_agg_t;
027        this.setFunctionName((TObjectName) arg1);
028        jsonAggList = (TResultColumnList) arg2;
029    }
030
031    public void accept(TParseTreeVisitor v){
032        v.preVisit(this);
033        v.postVisit(this);
034    }
035
036    public void acceptChildren(TParseTreeVisitor v){
037        v.preVisit(this);
038        v.postVisit(this);
039    }
040
041}