Пример #1
0
        public virtual void Visit(SoqlAsteriskExpression v)
        {
            if (v.Left != null)
            {
                v.Left.Accept(this);
                Output.Write('.');
            }

            Output.Write('*');
        }
 void Sooda.QL.ISoqlVisitor.Visit(SoqlAsteriskExpression v)
 {
     if (v.Left != null)
     {
         v.Left.Accept(this);
     }
     else
     {
         if (!_result.Contains(_rootClass))
         {
             _result.Add(_rootClass);
         }
     }
 }
Пример #3
0
        public virtual void Visit(SoqlAsteriskExpression v)
        {
            if (v.Left != null)
            {
                v.Left.Accept(this);
                Output.Write('.');
            }

            Output.Write('*');
        }
 void Sooda.QL.ISoqlVisitor.Visit(SoqlAsteriskExpression v)
 {
     if (v.Left != null)
     {
         v.Left.Accept(this);
     }
     else
     {
         if (!_result.Contains(_rootClass))
             _result.Add(_rootClass);
     }
 }
Пример #5
0
        public override void Visit(SoqlAsteriskExpression v)
        {
            string p;
            string firstTableAlias;
            IFieldContainer currentContainer;

            if (Parent != null && v.Left == null)
            {
                Output.Write('*');
                return;
            }

            if (v.Left != null)
            {
                currentContainer = GenerateTableJoins(v.Left, out p, out firstTableAlias);
            }
            else
            {
                p = ExpressionPrefixToTableAlias[Query.From[0]];
                currentContainer = Schema.FindContainerByName(Query.From[0]);
                firstTableAlias = p;
                firstTableAlias = GetTableAliasForExpressionPrefix(p);
            }

            bool first = true;
            foreach (FieldInfo fi in currentContainer.GetAllFields())
            {
                if (!first)
                {
                    if (IndentOutput)
                    {
                        Output.WriteLine(',');
                        WriteIndentString();
                        Output.Write("         ");
                    }
                    else
                    {
                        Output.Write(',');
                    }
                }
                string extPrefix = GetTableAliasForExpressionPrefix(p);
                if (fi.Table.OrdinalInClass > 0)
                    extPrefix = AddPrimaryKeyJoin(firstTableAlias, (ClassInfo)currentContainer, extPrefix, fi);
                OutputColumn(extPrefix, fi);
                if (GenerateColumnAliases)
                {
                    Output.Write(" as ");
                    Output.Write(_builder.QuoteIdentifier(fi.Name));
                }
                first = false;
            }
        }