Ejemplo n.º 1
0
        public void Visit(LimitStatement statement)
        {
            var executedTables = _scope.FetchAllExecutedTablesSameLevel();

            Array.ForEach(executedTables, (e) =>
            {
                e.Rows = e.Rows.Take(statement.Count).ToArray();
            });
        }
Ejemplo n.º 2
0
        public override Element VisitLimitStatementExp(LimitStatementExpContext context)
        {
            var limit = new LimitStatement(CreateParseInfo(context));

            limit.Count = int.Parse(context.c.Text);
            if (context.o != null)
            {
                limit.Offset = int.Parse(context.o.Text);
            }

            return(limit);
        }
Ejemplo n.º 3
0
 protected sealed override void LimitQuery(LimitStatement statement)
 {
     if (statement != null)
     {
         QueryArgs.Add(new EqualQueryArg()
         {
             Variable = "offset", PropertyValue = new PropertyValue(statement.Offset)
         });
         QueryArgs.Add(new EqualQueryArg()
         {
             Variable = "howMany", PropertyValue = new PropertyValue(statement.Count)
         });
     }
 }
Ejemplo n.º 4
0
        public sealed override ExecutedTable Execute(LimitStatement statement)
        {
            LimitQuery(statement);
            ValidateArgs();

            var args = new HttpExecuteArg()
            {
                Variables = QueryArgs.Args.Select(x => new HttpQueryVariabels()
                {
                    Variable = x.Variable, Value = x.PropertyValue.Value.ToString()
                }),
                TableName = TableName
            };

            return(ExecuteCore(args));
        }
Ejemplo n.º 5
0
 public override ExecutedTable Execute(LimitStatement statement)
 {
     return(this);
 }
Ejemplo n.º 6
0
 public abstract ExecutedTable Execute(LimitStatement limit);
Ejemplo n.º 7
0
 protected virtual void LimitQuery(LimitStatement statement)
 {
 }