diff options
author | James Pearson <james@needcode.co.uk> | 2019-07-29 12:04:07 +0100 |
---|---|---|
committer | James Pearson <james@needcode.co.uk> | 2019-07-29 15:53:29 +0100 |
commit | 92c265b3ad89303e53e64f7ead4499066966c722 (patch) | |
tree | 313f573fdbddf65bf6624b7fe9ee39318bd3ad83 /activerecord/lib/arel | |
parent | 682f6648193a7d166d8f54be98af19c62b4e938f (diff) | |
download | rails-92c265b3ad89303e53e64f7ead4499066966c722.tar.gz rails-92c265b3ad89303e53e64f7ead4499066966c722.tar.bz2 rails-92c265b3ad89303e53e64f7ead4499066966c722.zip |
Enabled matches_regex for MySql
Previously matches_regex was only availble on PostgreSql, this will enable it for MySql
Usage example:
users = User.arel_table;
users = User.arel_table; User.where(users[:email].matches_regexp('(.*)\@gmail.com'))
Update activerecord/test/cases/arel/visitors/mysql_test.rb
Co-Authored-By: Ryuta Kamizono <kamipo@gmail.com>
Diffstat (limited to 'activerecord/lib/arel')
-rw-r--r-- | activerecord/lib/arel/visitors/mysql.rb | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/activerecord/lib/arel/visitors/mysql.rb b/activerecord/lib/arel/visitors/mysql.rb index dd77cfdf66..6cb866715f 100644 --- a/activerecord/lib/arel/visitors/mysql.rb +++ b/activerecord/lib/arel/visitors/mysql.rb @@ -48,6 +48,14 @@ module Arel # :nodoc: all visit_Arel_Nodes_IsNotDistinctFrom o, collector end + def visit_Arel_Nodes_Regexp(o, collector) + infix_value o, collector, " REGEXP " + end + + def visit_Arel_Nodes_NotRegexp(o, collector) + infix_value o, collector, " NOT REGEXP " + end + # In the simple case, MySQL allows us to place JOINs directly into the UPDATE # query. However, this does not allow for LIMIT, OFFSET and ORDER. To support # these, we must use a subquery. |