AddChild() private method

private AddChild ( FromClause fromClause ) : void
fromClause FromClause
return void
Beispiel #1
0
		public void SetParentFromClause(FromClause parentFromClause)
		{
			_parentFromClause = parentFromClause;
			if (parentFromClause != null)
			{
				_level = parentFromClause.Level + 1;
				parentFromClause.AddChild(this);
			}
		}
Beispiel #2
0
 public void SetParentFromClause(FromClause parentFromClause)
 {
     _parentFromClause = parentFromClause;
     if (parentFromClause != null)
     {
         _level = parentFromClause.Level + 1;
         parentFromClause.AddChild(this);
     }
 }
Beispiel #3
0
        public void SetOrigin(FromElement origin, bool manyToMany)
        {
            _origin = origin;
            origin.AddDestination(this);

            if (origin.FromClause == FromClause)
            {
                // TODO: Figure out a better way to get the FROM elements in a proper tree structure.
                // If this is not the destination of a many-to-many, add it as a child of the origin.
                if (manyToMany)
                {
                    origin.AddSibling(this);
                }
                else
                {
                    if (!Walker.IsInFrom && !Walker.IsInSelect)
                    {
                        FromClause.AddChild(this);
                    }
                    else
                    {
                        origin.AddChild(this);
                    }
                }
            }
            else if (!Walker.IsInFrom)
            {
                // HHH-276 : implied joins in a subselect where clause - The destination needs to be added
                // to the destination's from clause.
                FromClause.AddChild(this);                      // Not sure if this is will fix everything, but it works.
            }
            else
            {
                // Otherwise, the destination node was implied by the FROM clause and the FROM clause processor
                // will automatically add it in the right place.
            }
        }