Exemple #1
0
        /// <summary>Renders the clause in textual representation. </summary>
        /// <param name="writer">to output to</param>
        /// <param name="optionalWhereClause">where clause if present, or null</param>
        /// <param name="formatter">for NewLine-whitespace formatting</param>
        public void ToEPL(TextWriter writer,
                          Expression optionalWhereClause,
                          EPStatementFormatter formatter)
        {
            formatter.BeginMerge(writer);
            writer.Write("merge ");
            writer.Write(WindowName);

            if (OptionalAsName != null)
            {
                writer.Write(" as ");
                writer.Write(OptionalAsName);
            }

            if (optionalWhereClause != null)
            {
                formatter.BeginMergeWhere(writer);
                writer.Write("where ");
                optionalWhereClause.ToEPL(writer, ExpressionPrecedenceEnum.MINIMUM);
            }

            foreach (OnMergeMatchItem item in MatchItems)
            {
                item.ToEPL(writer, formatter);
            }
        }