/// <summary> /// Ctor. /// </summary> /// <param name="type">is the type of outer join</param> /// <param name="left">is a property providing joined-on values</param> /// <param name="right">is a property providing joined-on values</param> /// <param name="additionalProperties">for any pairs of additional on-clause properties</param> public OuterJoinQualifier(OuterJoinType type, Expression left, Expression right, IList <PropertyValueExpressionPair> additionalProperties) { JoinType = type; Left = left; Right = right; AdditionalProperties = additionalProperties; }
/// <summary> /// Ctor. /// </summary> /// <param name="left">is a property providing joined-on values</param> /// <param name="type">is the type of outer join</param> /// <param name="right">is a property providing joined-on values</param> public OuterJoinQualifier( OuterJoinType type, PropertyValueExpression left, PropertyValueExpression right) : this(type, left, right, new List<PropertyValueExpressionPair>()) { }
/// <summary>Ctor. </summary> /// <param name="outerJoinType">type of the outer join</param> /// <param name="optLeftNode">left hand identifier node</param> /// <param name="optRightNode">right hand identifier node</param> /// <param name="optAddLeftNode">additional optional left hand identifier nodes for the on-clause in a logical-and</param> /// <param name="optAddRightNode">additional optional right hand identifier nodes for the on-clause in a logical-and</param> public OuterJoinDesc(OuterJoinType outerJoinType, ExprIdentNode optLeftNode, ExprIdentNode optRightNode, ExprIdentNode[] optAddLeftNode, ExprIdentNode[] optAddRightNode) { OuterJoinType = outerJoinType; OptLeftNode = optLeftNode; OptRightNode = optRightNode; AdditionalLeftNodes = optAddLeftNode; AdditionalRightNodes = optAddRightNode; }
/// <summary> /// Ctor. /// </summary> /// <param name="left">is a property providing joined-on values</param> /// <param name="type">is the type of outer join</param> /// <param name="right">is a property providing joined-on values</param> /// <param name="additionalProperties">for any pairs of additional on-clause properties</param> public OuterJoinQualifier( OuterJoinType type, PropertyValueExpression left, PropertyValueExpression right, List<PropertyValueExpressionPair> additionalProperties) { this.type = type; this.left = left; this.right = right; this.additionalProperties = additionalProperties; }
public static String GetText(this OuterJoinType joinType) { switch (joinType) { case OuterJoinType.LEFT: return("left"); case OuterJoinType.RIGHT: return("right"); case OuterJoinType.FULL: return("full"); case OuterJoinType.INNER: return("inner"); default: throw new ArgumentException("Unknown joinType " + joinType); } }
public static OuterJoinDesc MakeDesc( IContainer container, string propOne, string streamOne, string propTwo, string streamTwo, OuterJoinType type) { ExprIdentNode identNodeOne = new ExprIdentNodeImpl(propOne, streamOne); ExprIdentNode identNodeTwo = new ExprIdentNodeImpl(propTwo, streamTwo); var context = SupportExprValidationContextFactory.Make( container, new SupportStreamTypeSvc3Stream(SupportEventTypeFactory.GetInstance(container))); identNodeOne.Validate(context); identNodeTwo.Validate(context); var desc = new OuterJoinDesc(type, identNodeOne, identNodeTwo, null, null); return(desc); }
/// <summary>Creates qualifier.</summary> /// <param name="propertyLeft">is a property name providing joined-on values</param> /// <param name="type">is the type of outer join</param> /// <param name="propertyRight">is a property name providing joined-on values</param> /// <returns>qualifier</returns> public static OuterJoinQualifier Create(String propertyLeft, OuterJoinType type, String propertyRight) { return(new OuterJoinQualifier(type, new PropertyValueExpression(propertyLeft), new PropertyValueExpression(propertyRight))); }
public static OuterJoinDesc MakeDesc(String propOne, String streamOne, String propTwo, String streamTwo, OuterJoinType type) { ExprIdentNode identNodeOne = new ExprIdentNodeImpl(propOne, streamOne); ExprIdentNode identNodeTwo = new ExprIdentNodeImpl(propTwo, streamTwo); ExprValidationContext context = SupportExprValidationContextFactory.Make(new SupportStreamTypeSvc3Stream()); identNodeOne.Validate(context); identNodeTwo.Validate(context); OuterJoinDesc desc = new OuterJoinDesc(type, identNodeOne, identNodeTwo, null, null); return(desc); }
public OuterJoinNode(OuterJoinType outerJoinType, FromNode from, Node expression) : base(from, expression) { Id = CalculateId(this); Type = outerJoinType; }