Deveel.Data.Sql.Statements.CreateProcedureStatement.PrepareStatement C# (CSharp) Method

PrepareStatement() protected method

protected PrepareStatement ( IRequest context ) : SqlStatement
context IRequest
return SqlStatement
        protected override SqlStatement PrepareStatement(IRequest context)
        {
            var schemaName = context.Access().ResolveSchemaName(ProcedureName.ParentName);
            var functionName = new ObjectName(schemaName, ProcedureName.Name);

            var parameters = new List<RoutineParameter>();
            if (Parameters != null) {
                foreach (var parameter in Parameters) {
                    parameters.Add((RoutineParameter)((IStatementPreparable)parameter).Prepare(context));
                }
            }

            var body = (PlSqlBlockStatement)Body.Prepare(context);
            return new CreateProcedureStatement(functionName, parameters.ToArray(), body) {
                ReplaceIfExists = ReplaceIfExists
            };
        }