aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/arel/visitors/postgresql.rb16
1 files changed, 14 insertions, 2 deletions
diff --git a/lib/arel/visitors/postgresql.rb b/lib/arel/visitors/postgresql.rb
index f55aaf30fe..bd23fc0a47 100644
--- a/lib/arel/visitors/postgresql.rb
+++ b/lib/arel/visitors/postgresql.rb
@@ -4,11 +4,23 @@ module Arel
private
def visit_Arel_Nodes_Matches o, collector
- infix_value o, collector, ' ILIKE '
+ collector = infix_value o, collector, ' ILIKE '
+ if o.escape
+ collector << ' ESCAPE '
+ visit o.escape, collector
+ else
+ collector
+ end
end
def visit_Arel_Nodes_DoesNotMatch o, collector
- infix_value o, collector, ' NOT ILIKE '
+ collector = infix_value o, collector, ' NOT ILIKE '
+ if o.escape
+ collector << ' ESCAPE '
+ visit o.escape, collector
+ else
+ collector
+ end
end
def visit_Arel_Nodes_Regexp o, collector