- # from the alias and leave the other recipients. If you're
- # wondering about the leftover double-commas, look towards the end
- # of the function.
- sql_queries << "UPDATE alias SET goto=REPLACE(goto, $1, '');"
+ # from the alias and leave the other recipients.
+ #
+ # We want to delete the comma that precedes/follows the address,
+ # too. Since the address to be replaced can appear at either the
+ # beginning or the end of the list (as well as in the middle), we
+ # have to try to fix both cases: comma before, and comma after.
+ comma_before = "CONCAT(',', $1)"
+ comma_after = "CONCAT($1, ',')"
+ sql_queries << "UPDATE alias SET goto=REPLACE(goto, #{comma_before}, '');"
+ sql_queries << "UPDATE alias SET goto=REPLACE(goto, #{comma_after}, '');"