From: Tom Clegg Date: Tue, 24 Aug 2021 13:57:10 +0000 (-0400) Subject: 17994: Update comment. X-Git-Tag: 2.3.0~94^2~1 X-Git-Url: https://git.arvados.org/arvados.git/commitdiff_plain/402e69f6e55dce4e11d354c3ca708b8e536c124b 17994: Update comment. Arvados-DCO-1.1-Signed-off-by: Tom Clegg --- diff --git a/services/api/lib/record_filters.rb b/services/api/lib/record_filters.rb index 337197c2c5..8f4244f5b8 100644 --- a/services/api/lib/record_filters.rb +++ b/services/api/lib/record_filters.rb @@ -255,9 +255,12 @@ module RecordFilters raise ArgumentError.new("Invalid element #{operand.inspect} in operand for #{operator.inspect} operator (operand must be a string or array of strings)") end end - q = operand.map { |s| ActiveRecord::Base.connection.quote(s) }.join(',') # We use jsonb_exists_all(a,b) instead of "a ?& b" because - # the pg gem thinks "?" is a bind var. + # the pg gem thinks "?" is a bind var. And we use string + # interpolation instead of param_out because the pg gem + # flattens param_out / doesn't support passing arrays as + # bind vars. + q = operand.map { |s| ActiveRecord::Base.connection.quote(s) }.join(',') cond_out << "jsonb_exists_all(#{attr_table_name}.#{attr}, array[#{q}])" else raise ArgumentError.new("Invalid operator '#{operator}'")