Exemple #1
0
 private void SelectItemList(SelectClause currentClause)
 {
     while (true)
     {
         SelectItem(currentClause);
         if (_parser.CurrentTokenKind == QueryExpressionTokenKind.Comma)
         {
             _parser.NextToken();
         }
         else
         {
             break;
         }
     }
 }
Exemple #2
0
            private void OrderByItemList()
            {
                while (true)
                {
                    var expression = _parser.CommonExpr();
                    var direction  = OrderByDirection.Acending;

                    if (_parser.CurrentTokenKind == QueryExpressionTokenKind.Keyword)
                    {
                        var order = (string)_parser.TokenData;
                        switch (order)
                        {
                        case "asc":
                            direction = OrderByDirection.Acending;
                            _parser.NextToken();
                            break;

                        case "desc":
                            direction = OrderByDirection.Descending;
                            _parser.NextToken();
                            break;

                        default:
                            _parser.ReportError(
                                $"Invalid token '{order}' after sort expression, expecting 'asc' or 'desc'");
                            return;
                        }
                    }

                    var item = new OrderByClause(expression, direction);
                    _clauses.Add(item);

                    if (_parser.CurrentTokenKind == QueryExpressionTokenKind.Comma)
                    {
                        _parser.NextToken();
                    }
                    else
                    {
                        break;
                    }
                }
            }
Exemple #3
0
 private void ExpandItemList()
 {
     while (true)
     {
         ExpandItem();
         if (_parser.CurrentTokenKind == QueryExpressionTokenKind.Comma)
         {
             _parser.NextToken();
         }
         else
         {
             break;
         }
     }
 }