Deveel.Data.Sql.Statements.FetchIntoStatement.PrepareStatement C# (CSharp) Метод

PrepareStatement() защищенный Метод

protected PrepareStatement ( IRequest context ) : SqlStatement
context IRequest
Результат SqlStatement
        protected override SqlStatement PrepareStatement(IRequest context)
        {
            var reference = ReferenceExpression;

            if (ReferenceExpression is SqlReferenceExpression) {
                var referenceName = ((SqlReferenceExpression) ReferenceExpression).ReferenceName;
                if (referenceName.Parent == null &&
                    context.Context.CursorExists(referenceName.Name)) {
                    reference = SqlExpression.VariableReference(referenceName.Name);
                } else {
                    var tableName = context.Access().ResolveTableName(referenceName);
                    if (!context.Access().TableExists(tableName))
                        throw new ObjectNotFoundException(tableName, "Reference table for the FETCH INTO clause was not found.");

                    reference = SqlExpression.Reference(tableName);
                }
            }

            return new FetchIntoStatement(CursorName, Direction, OffsetExpression, reference);
        }