/// <summary>
 /// Adds the setter to the update statement.
 /// </summary>
 /// <param name="setter">The setter to add.</param>
 public void AddSetter(Setter setter)
 {
     if (setter == null)
     {
         throw new ArgumentNullException("setter");
     }
     _setters.Add(setter);
 }
 /// <summary>
 /// Generates the text for a Setter builder.
 /// </summary>
 /// <param name="item">The Setter builder to generate the text for.</param>
 protected internal override void VisitSetter(Setter item)
 {
     IVisitableBuilder column = item.Column;
     column.Accept(forSubCommand());
     writer.Write(" = ");
     item.Value.Accept(forSubCommand());
 }
 /// <summary>
 /// Visits a Setter builder.
 /// </summary>
 /// <param name="item">The item to visit.</param>
 protected internal virtual void VisitSetter(Setter item)
 {
 }
 /// <summary>
 /// Removes the setter from the update statement.
 /// </summary>
 /// <param name="setter">The setter to remove.</param>
 /// <returns>True if the setter is removed; otherwise, false.</returns>
 public bool RemoveSetter(Setter setter)
 {
     if (setter == null)
     {
         throw new ArgumentNullException("setter");
     }
     return _setters.Remove(setter);
 }
 private Setter buildSetter(MatchResult result)
 {
     MatchResult columnResult = result.Matches[SqlGrammar.Setter.Column];
     Column column = buildColumn(columnResult);
     MatchResult valueResult = result.Matches[SqlGrammar.Setter.Value];
     IProjectionItem value = (IProjectionItem)buildArithmeticItem(valueResult);
     Setter setter = new Setter(column, value);
     return setter;
 }
 /// <summary>
 /// Visits a Setter builder.
 /// </summary>
 /// <param name="item">The item to visit.</param>
 protected internal virtual void VisitSetter(Setter item)
 {
 }