File tree Expand file tree Collapse file tree 4 files changed +12
-14
lines changed Expand file tree Collapse file tree 4 files changed +12
-14
lines changed Original file line number Diff line number Diff line change @@ -282,12 +282,8 @@ def search_filter(column_maps)
282282 raise ArgumentError . new ( "search_fields not defined" ) unless @search_fields . length > 0
283283 placement = :where
284284 maps = column_maps . select do |cm |
285- if @search_fields . include? cm . alias_name
286285 placement = :having if cm . aggregate
287- true
288- else
289- false
290- end
286+ @search_fields . include? cm . alias_name
291287 end
292288 bind_variable = ( 'a' ..'z' ) . to_a . shuffle [ 0 , 20 ] . join . to_sym
293289 @bind_variables [ bind_variable ] = "%#{ @search_string } %"
Original file line number Diff line number Diff line change @@ -21,13 +21,15 @@ def create_filters
2121 raise InvalidQueryError . new ( "cannot filter by #{ comparate_alias } " ) unless map
2222
2323 # create the filter
24- @filters << QueryHelper ::Filter . new (
25- operator_code : criteria . keys . first ,
26- criterion : criteria . values . first ,
27- comparate : map . sql_expression ,
28- aggregate : map . aggregate ,
29- qualify_clause : aggregated_attribute? ( comparate : map . sql_expression )
30- )
24+ criteria . each do |k , v |
25+ @filters << QueryHelper ::Filter . new (
26+ operator_code : k ,
27+ criterion : v ,
28+ comparate : map . sql_expression ,
29+ aggregate : map . aggregate ,
30+ qualify_clause : aggregated_attribute? ( comparate : map . sql_expression )
31+ )
32+ end
3133 end
3234 end
3335
Original file line number Diff line number Diff line change @@ -188,7 +188,7 @@ def find_aliases
188188 ColumnMap . new (
189189 alias_name : sql_alias ,
190190 sql_expression : sql_expression . squish ,
191- aggregate : /\b (array_agg|avg|bit_and|bit_or|bool_and|bool_or|boolor_agg|booland_agg|count|every|json_agg|jsonb_agg|json_object_agg|jsonb_object_agg|max|min|string_agg|sum|xmlagg)\( (.*)\) / . match? ( sql_expression )
191+ aggregate : /(?i) \b (array_agg|avg|bit_and|bit_or|bool_and|bool_or|boolor_agg|booland_agg|count|every|json_agg|jsonb_agg|json_object_agg|jsonb_object_agg|max|min|string_agg|sum|xmlagg|any_value|ANY_VALUE )\( (.*)\) / . match? ( sql_expression )
192192 ) if sql_alias
193193 end
194194 column_maps . compact
Original file line number Diff line number Diff line change 11class QueryHelper
2- VERSION = "0.4.2 "
2+ VERSION = "0.4.3 "
33end
You can’t perform that action at this time.
0 commit comments