From 23bf15eb50461b0ce39f99f89fb135f4b55d1a6d Mon Sep 17 00:00:00 2001 From: Jonathan Kolyer Date: Thu, 27 Aug 2015 04:26:38 +0000 Subject: [PATCH] VRFS-3390 fixed quoting issue and text search --- ruby/lib/jam_ruby/models/jam_track_search.rb | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/ruby/lib/jam_ruby/models/jam_track_search.rb b/ruby/lib/jam_ruby/models/jam_track_search.rb index 017feb4cf..424f33dd2 100644 --- a/ruby/lib/jam_ruby/models/jam_track_search.rb +++ b/ruby/lib/jam_ruby/models/jam_track_search.rb @@ -39,13 +39,15 @@ module JamRuby def do_search(filter) rel = JamTrack.unscoped unless (vals=filter[KEY_GENRES]).blank? - sqlstr = ActiveRecord::Base.connection.quote("'#{vals.join("','")}'") + sqlstr = "'#{vals.join("','")}'" + # sqlstr = ActiveRecord::Base.connection.quote("'#{vals.join("','")}'") rel = rel.joins(:genres_jam_tracks) rel = rel.where("genres_jam_tracks.genre_id IN (#{sqlstr})") end unless (vals=filter[KEY_INSTRUMENTS]).blank? - sqlstr = ActiveRecord::Base.connection.quote("'#{vals.join("','")}'") + sqlstr = "'#{vals.join("','")}'" + # sqlstr = ActiveRecord::Base.connection.quote("'#{vals.join("','")}'") rel = rel.joins(:jam_track_tracks) rel = rel.where("jam_track_tracks.instrument_id IN (#{sqlstr})") rel = rel.where("jam_track_tracks.track_type != 'Master'") @@ -65,7 +67,8 @@ module JamRuby if has_songs rel = do_search(filter) unless (val=filter[KEY_SEARCH_STR]).blank? - rel = rel.where("name LIKE ?","%#{val}%") + tsquery = Search.create_tsquery(val) + rel = rel.where("(search_tsv @@ to_tsquery('jamenglish', ?))", tsquery) if tsquery end rel = rel.order(:name).includes(:genres)