# File lib/active_record/connection_adapters/fb_adapter.rb, line 289 def translate(sql) sql.gsub!(/\bIN\s+\(NULL\)/i, 'IS NULL') sql.sub!(/\bWHERE\s.*$/im) do |m| m.gsub(/\s=\s*NULL\b/i, ' IS NULL') end sql.gsub!(/\sIN\s+\([^\)]*\)/mi) do |m| m.gsub(/\(([^\)]*)\)/m) { |n| n.gsub(/\@(.*?)\@/m) { |n| "'#{quote_string(Base64.decode64(n[1..-1]))}'" } } end args = [] sql.gsub!(/\@(.*?)\@/m) { |m| args << Base64.decode64(m[1..-1]); '?' } yield(sql, args) if block_given? end