Deveel.Data.Sql.Statements.DeclareCursorStatement.ExecuteStatement C# (CSharp) Method

ExecuteStatement() protected method

protected ExecuteStatement ( ExecutionContext context ) : void
context ExecutionContext
return void
        protected override void ExecuteStatement(ExecutionContext context)
        {
            var cursorInfo = new CursorInfo(CursorName, Flags, QueryExpression);
            if (Parameters != null) {
                foreach (var parameter in Parameters) {
                    cursorInfo.Parameters.Add(parameter);
                }
            }

            // TODO:
            //var queryPlan = context.Request.Context.QueryPlanner().PlanQuery(new QueryInfo(context.Request, QueryExpression));
            //var selectedTables = queryPlan.DiscoverAccessedResources();
            //foreach (var tableName in selectedTables) {
            //	if (!context.User.CanSelectFromTable(tableName))
            //		throw new MissingPrivilegesException(context.User.Name, tableName, Privileges.Select);
            //}

            context.Request.Context.DeclareCursor(cursorInfo);
        }