001package gudusoft.gsqlparser.nodes;
002
003
004import gudusoft.gsqlparser.stmt.TAlterFunctionStmt;
005
006public class TAlterFunctionSqlNode extends TParseTreeNode {
007
008    private TObjectName schemaName;
009
010    public TObjectName getSchemaName() {
011        return schemaName;
012    }
013
014    public TObjectName getOwnerName() {
015        return ownerName;
016    }
017
018    public TObjectName getNewFunctionName() {
019        return newFunctionName;
020    }
021
022    private TObjectName newFunctionName;
023    private TObjectName ownerName;
024
025    private TObjectName functionName;
026    private TParameterDeclarationList argTypeList;
027
028    private TAlterFunctionStmt.AlterType alterType = TAlterFunctionStmt.AlterType.unknown;
029
030    public TAlterFunctionStmt.AlterType getAlterType() {
031        return alterType;
032    }
033
034    public void setArgTypeList(TParameterDeclarationList argTypeList) {
035        this.argTypeList = argTypeList;
036    }
037
038    public TParameterDeclarationList getArgTypeList() {
039
040        return argTypeList;
041    }
042
043    public TObjectName getFunctionName() {
044        return functionName;
045    }
046
047    public  void  init(Object arg1){
048        functionName = (TObjectName)arg1;
049    }
050
051    public  void  init(Object arg1,Object arg2){
052        alterType = (TAlterFunctionStmt.AlterType)arg1;
053        functionName = (TObjectName)arg2;
054    }
055
056    public  void  init(Object arg1,Object arg2,Object arg3){
057        init(arg1,arg2);
058        this.argTypeList = (TParameterDeclarationList)arg3;
059    }
060
061    public  void  init(Object arg1,Object arg2,Object arg3,Object arg4){
062        init(arg1,arg2,arg3);
063        switch (alterType){
064            case ownerTo:
065                ownerName = (TObjectName) arg4;
066                break;
067            case setSchema:
068                schemaName = (TObjectName) arg4;
069                break;
070            case renameTo:
071                newFunctionName = (TObjectName) arg4;
072                break;
073        }
074    }
075
076}