001// GENERATED by ShapeGenerator from scripts/sqllr/shape/shape-spec.tsv (plan 09, slice 1b). Do not edit.
002package gudusoft.gsqlparser.lineage.v2.shape;
003
004/** Mirror of {@code gudusoft.gsqlparser.stmt.TCreateFunctionStmt}. */
005public class TCreateFunctionStmt extends TStoredProcedureSqlStatement {
006    private final Object vgetProcedureLanguage;
007    private final Object vgetReturnDataType;
008    private final Object vgetReturnTableDefinitions;
009    private final Object vgetReturnTableVaraible;
010    private final Object vgetReturnsType;
011    private final Object vgetSqlExpression;
012
013    TCreateFunctionStmt(Shape shape, int handle, Object[][] v) {
014        super(shape, handle, v);
015        Object[] mine = v[4];
016        this.vgetProcedureLanguage = mine[0];
017        this.vgetReturnDataType = mine[1];
018        this.vgetReturnTableDefinitions = mine[2];
019        this.vgetReturnTableVaraible = mine[3];
020        this.vgetReturnsType = mine[4];
021        this.vgetSqlExpression = mine[5];
022    }
023
024    public TConstant getProcedureLanguage() {
025        return this.<TConstant>slot(vgetProcedureLanguage);
026    }
027
028    public TTypeName getReturnDataType() {
029        return this.<TTypeName>slot(vgetReturnDataType);
030    }
031
032    public TTableElementList getReturnTableDefinitions() {
033        return this.<TTableElementList>slot(vgetReturnTableDefinitions);
034    }
035
036    public TObjectName getReturnTableVaraible() {
037        return this.<TObjectName>slot(vgetReturnTableVaraible);
038    }
039
040    public gudusoft.gsqlparser.EFunctionReturnsType getReturnsType() {
041        return this.<gudusoft.gsqlparser.EFunctionReturnsType>slot(vgetReturnsType);
042    }
043
044    public TExpression getSqlExpression() {
045        return this.<TExpression>slot(vgetSqlExpression);
046    }
047}