Ejemplo n.º 1
0
 /// <summary></summary>
 /// <param name="left"></param>
 /// <param name="type"></param>
 /// <param name="right"></param>
 /// <param name="onStatement"></param>
 public PpsJoinExpression(PpsExpressionPart left, PpsDataJoinType type, PpsExpressionPart right, PpsDataJoinStatement[] onStatement)
 {
     this.left        = left ?? throw new ArgumentNullException(nameof(left));
     this.type        = type;
     this.right       = right ?? throw new ArgumentNullException(nameof(right));
     this.onStatement = onStatement ?? throw new ArgumentNullException(nameof(onStatement));
 }             // ctor
Ejemplo n.º 2
0
        public PpsViewJoinDefinition(PpsViewDefinition view, string alias, PpsDataJoinType type)
        {
            this.view  = view ?? throw new ArgumentNullException(nameof(view));
            this.alias = alias ?? String.Empty;
            this.type  = type;

            Key = new PpsDataJoinStatement[0];
        }         // ctor
Ejemplo n.º 3
0
        }         // func ParseJoinType

        /// <summary>Convert join type to string.</summary>
        /// <param name="type"></param>
        /// <returns></returns>
        public static string ConvertJoinType(PpsDataJoinType type)
        {
            switch (type)
            {
            case PpsDataJoinType.Left:
                return(">");

            case PpsDataJoinType.Right:
                return("<");

            case PpsDataJoinType.Inner:
                return("=");

            default:
                return(",");
            }
        }         // func ConvertJoinType
Ejemplo n.º 4
0
                }                 // func CreateSelector

                protected override PpsDataJoinStatement[] CreateOnStatement(PpsTableExpression left, PpsDataJoinType joinOp, PpsTableExpression right)
                => left.Table.LookupJoin(right.Table.Name)?.Statement;
Ejemplo n.º 5
0
                    }                     // ctor

                    public override PpsDataSelector CreateJoinStatement(PpsDataSelector leftExpression, PpsDataJoinType type, PpsDataSelector rightExpression, PpsDataJoinStatement[] on)
                    => leftExpression.ApplyJoin(rightExpression, type, on);
Ejemplo n.º 6
0
 /// <summary>Visit join statement</summary>
 /// <param name="leftExpression"></param>
 /// <param name="type"></param>
 /// <param name="rightExpression"></param>
 /// <param name="on"></param>
 /// <returns></returns>
 public abstract TRESULT CreateJoinStatement(TRESULT leftExpression, PpsDataJoinType type, TRESULT rightExpression, PpsDataJoinStatement[] on);