aboutsummaryrefslogtreecommitdiffstats
path: root/lib/arel/visitors
diff options
context:
space:
mode:
Diffstat (limited to 'lib/arel/visitors')
-rw-r--r--lib/arel/visitors/to_sql.rb16
1 files changed, 14 insertions, 2 deletions
diff --git a/lib/arel/visitors/to_sql.rb b/lib/arel/visitors/to_sql.rb
index 7bef8feded..7fa3322148 100644
--- a/lib/arel/visitors/to_sql.rb
+++ b/lib/arel/visitors/to_sql.rb
@@ -539,13 +539,25 @@ module Arel
def visit_Arel_Nodes_Matches o, collector
collector = visit o.left, collector
collector << " LIKE "
- visit o.right, collector
+ collector = visit o.right, collector
+ if o.escape
+ collector << ' ESCAPE '
+ visit o.escape, collector
+ else
+ collector
+ end
end
def visit_Arel_Nodes_DoesNotMatch o, collector
collector = visit o.left, collector
collector << " NOT LIKE "
- visit o.right, collector
+ collector = visit o.right, collector
+ if o.escape
+ collector << ' ESCAPE '
+ visit o.escape, collector
+ else
+ collector
+ end
end
def visit_Arel_Nodes_JoinSource o, collector