xavierchow/metabase-couchbase-driver

Aggregations fail with "Attempting to call unbound fn: #'metabase.mbql.util.match/match-in-collection"

Closed this issue · 2 comments

So after some more playing around I found out that with the new update, I'm able to browse and filter, but not aggregate my tables...

The error message I'm getting is Attempting to call unbound fn: #'metabase.mbql.util.match/match-in-collection

See this working query with only filters:
image

But as soon as I add any kind of aggregation, this is what I'm getting:
image

Stack trace:

[3988b101-c79d-4ab6-a1a8-6abf0d6464f3] 2021-06-06T20:24:57+02:00 INFO metabase.driver.couchbase mbql->native query {:type :query, :query {:source-table 5, :filter [:= [:field 43 nil] [:value "Star" {:base_type :type/Text, :effective_type :type/Text, :coercion_strategy nil, :semantic_type nil, :database_type "string", :name "GroupName"}]], :aggregation [[:aggregation-options [:count] {:name "count"}]], :breakout [[:field 39 nil]], :order-by [[:asc [:field 39 nil]]]}, :database 2, :middleware {:js-int-to-string? true, :add-default-userland-constraints? true}, :info {:executed-by 1, :context :ad-hoc, :nested? false, :query-hash #object["[B" 0x595a0448 "[B@595a0448"]}, :constraints {:max-results 10000, :max-results-bare-rows 2000}}
[3988b101-c79d-4ab6-a1a8-6abf0d6464f3] 2021-06-06T20:24:57+02:00 ERROR metabase.query-processor.middleware.catch-exceptions Error processing query: null
{:database_id 2,
 :started_at #t "2021-06-06T18:24:57.332430Z[GMT]",
 :json_query
 {:type "query",
  :query
  {:source-table 5, :filter ["=" ["field" 43 nil] "Star"], :aggregation [["count"]], :breakout [["field" 39 nil]]},
  :database 2,
  :parameters [],
  :middleware {:js-int-to-string? true, :add-default-userland-constraints? true}},
 :native nil,
 :status :failed,
 :class java.lang.IllegalStateException,
 :stacktrace
 ["clojure.lang.Var$Unbound.throwArity(Var.java:45)"
  "clojure.lang.AFn.invoke(AFn.java:40)"
  "--> driver.couchbase.query_processor$fn__858$match_859__860.invoke(query_processor.clj:147)"
  "driver.couchbase.query_processor$fn__858.invokeStatic(query_processor.clj:147)"
  "driver.couchbase.query_processor$fn__858.invoke(query_processor.clj:144)"
  "driver.couchbase.query_processor$mbql__GT_native.invokeStatic(query_processor.clj:162)"
  "driver.couchbase.query_processor$mbql__GT_native.invoke(query_processor.clj:155)"
  "driver.couchbase$fn__950.invokeStatic(couchbase.clj:76)"
  "driver.couchbase$fn__950.invoke(couchbase.clj:72)"
  "query_processor.middleware.mbql_to_native$query__GT_native_form.invokeStatic(mbql_to_native.clj:14)"
  "query_processor.middleware.mbql_to_native$query__GT_native_form.invoke(mbql_to_native.clj:9)"
  "query_processor.middleware.mbql_to_native$mbql__GT_native$fn__47511.invoke(mbql_to_native.clj:22)"
  "query_processor.middleware.check_features$check_features$fn__46625.invoke(check_features.clj:39)"
  "query_processor.middleware.limit$limit$fn__47497.invoke(limit.clj:37)"
  "query_processor.middleware.cache$maybe_return_cached_results$fn__46077.invoke(cache.clj:211)"
  "query_processor.middleware.optimize_temporal_filters$optimize_temporal_filters$fn__47757.invoke(optimize_temporal_filters.clj:204)"
  "query_processor.middleware.validate_temporal_bucketing$validate_temporal_bucketing$fn__49687.invoke(validate_temporal_bucketing.clj:50)"
  "query_processor.middleware.auto_parse_filter_values$auto_parse_filter_values$fn__45196.invoke(auto_parse_filter_values.clj:43)"
  "query_processor.middleware.wrap_value_literals$wrap_value_literals$fn__41497.invoke(wrap_value_literals.clj:161)"
  "query_processor.middleware.annotate$add_column_info$fn__41372.invoke(annotate.clj:605)"
  "query_processor.middleware.permissions$check_query_permissions$fn__46497.invoke(permissions.clj:81)"
  "query_processor.middleware.pre_alias_aggregations$pre_alias_aggregations$fn__48615.invoke(pre_alias_aggregations.clj:40)"
  "query_processor.middleware.cumulative_aggregations$handle_cumulative_aggregations$fn__46698.invoke(cumulative_aggregations.clj:60)"
  "query_processor.middleware.resolve_joined_fields$resolve_joined_fields$fn__48914.invoke(resolve_joined_fields.clj:102)"
  "query_processor.middleware.resolve_joins$resolve_joins$fn__49227.invoke(resolve_joins.clj:171)"
  "query_processor.middleware.add_implicit_joins$add_implicit_joins$fn__44772.invoke(add_implicit_joins.clj:190)"
  "query_processor.middleware.large_int_id$convert_id_to_string$fn__47461.invoke(large_int_id.clj:59)"
  "query_processor.middleware.format_rows$format_rows$fn__47442.invoke(format_rows.clj:74)"
  "query_processor.middleware.add_default_temporal_unit$add_default_temporal_unit$fn__44066.invoke(add_default_temporal_unit.clj:23)"
  "query_processor.middleware.desugar$desugar$fn__46764.invoke(desugar.clj:21)"
  "query_processor.middleware.binning$update_binning_strategy$fn__45583.invoke(binning.clj:227)"
  "query_processor.middleware.resolve_fields$resolve_fields$fn__46300.invoke(resolve_fields.clj:34)"
  "query_processor.middleware.add_dimension_projections$add_remapping$fn__44421.invoke(add_dimension_projections.clj:314)"
  "query_processor.middleware.add_implicit_clauses$add_implicit_clauses$fn__44650.invoke(add_implicit_clauses.clj:147)"
  "query_processor.middleware.upgrade_field_literals$upgrade_field_literals$fn__49636.invoke(upgrade_field_literals.clj:40)"
  "query_processor.middleware.add_source_metadata$add_source_metadata_for_source_queries$fn__44935.invoke(add_source_metadata.clj:123)"
  "query_processor.middleware.reconcile_breakout_and_order_by_bucketing$reconcile_breakout_and_order_by_bucketing$fn__48789.invoke(reconcile_breakout_and_order_by_bucketing.clj:100)"
  "query_processor.middleware.auto_bucket_datetimes$auto_bucket_datetimes$fn__45143.invoke(auto_bucket_datetimes.clj:147)"
  "query_processor.middleware.resolve_source_table$resolve_source_tables$fn__46347.invoke(resolve_source_table.clj:45)"
  "query_processor.middleware.parameters$substitute_parameters$fn__48597.invoke(parameters.clj:111)"
  "query_processor.middleware.resolve_referenced$resolve_referenced_card_resources$fn__46399.invoke(resolve_referenced.clj:79)"
  "query_processor.middleware.expand_macros$expand_macros$fn__47148.invoke(expand_macros.clj:184)"
  "query_processor.middleware.add_timezone_info$add_timezone_info$fn__44944.invoke(add_timezone_info.clj:15)"
  "query_processor.middleware.splice_params_in_response$splice_params_in_response$fn__49589.invoke(splice_params_in_response.clj:32)"
  "query_processor.middleware.resolve_database_and_driver$resolve_database_and_driver$fn__48800$fn__48804.invoke(resolve_database_and_driver.clj:31)"
  "driver$do_with_driver.invokeStatic(driver.clj:60)"
  "driver$do_with_driver.invoke(driver.clj:56)"
  "query_processor.middleware.resolve_database_and_driver$resolve_database_and_driver$fn__48800.invoke(resolve_database_and_driver.clj:25)"
  "query_processor.middleware.fetch_source_query$resolve_card_id_source_tables$fn__47388.invoke(fetch_source_query.clj:274)"
  "query_processor.middleware.store$initialize_store$fn__49598$fn__49599.invoke(store.clj:11)"
  "query_processor.store$do_with_store.invokeStatic(store.clj:44)"
  "query_processor.store$do_with_store.invoke(store.clj:38)"
  "query_processor.middleware.store$initialize_store$fn__49598.invoke(store.clj:10)"
  "query_processor.middleware.validate$validate_query$fn__49643.invoke(validate.clj:10)"
  "query_processor.middleware.normalize_query$normalize$fn__47524.invoke(normalize_query.clj:22)"
  "query_processor.middleware.add_rows_truncated$add_rows_truncated$fn__44790.invoke(add_rows_truncated.clj:35)"
  "query_processor.middleware.results_metadata$record_and_return_metadata_BANG_$fn__49574.invoke(results_metadata.clj:147)"
  "query_processor.middleware.constraints$add_default_userland_constraints$fn__46641.invoke(constraints.clj:42)"
  "query_processor.middleware.process_userland_query$process_userland_query$fn__48686.invoke(process_userland_query.clj:135)"
  "query_processor.middleware.catch_exceptions$catch_exceptions$fn__46581.invoke(catch_exceptions.clj:173)"
  "query_processor.reducible$async_qp$qp_STAR___38051$thunk__38052.invoke(reducible.clj:103)"
  "query_processor.reducible$async_qp$qp_STAR___38051.invoke(reducible.clj:109)"
  "query_processor.reducible$sync_qp$qp_STAR___38060$fn__38063.invoke(reducible.clj:135)"
  "query_processor.reducible$sync_qp$qp_STAR___38060.invoke(reducible.clj:134)"
  "query_processor$process_userland_query.invokeStatic(query_processor.clj:241)"
  "query_processor$process_userland_query.doInvoke(query_processor.clj:237)"
  "query_processor$fn__49733$process_query_and_save_execution_BANG___49742$fn__49745.invoke(query_processor.clj:253)"
  "query_processor$fn__49733$process_query_and_save_execution_BANG___49742.invoke(query_processor.clj:245)"
  "query_processor$fn__49777$process_query_and_save_with_max_results_constraints_BANG___49786$fn__49789.invoke(query_processor.clj:265)"
  "query_processor$fn__49777$process_query_and_save_with_max_results_constraints_BANG___49786.invoke(query_processor.clj:258)"
  "api.dataset$run_query_async$fn__55990.invoke(dataset.clj:56)"
  "query_processor.streaming$streaming_response_STAR_$fn__55969$fn__55970.invoke(streaming.clj:72)"
  "query_processor.streaming$streaming_response_STAR_$fn__55969.invoke(streaming.clj:71)"
  "async.streaming_response$do_f_STAR_.invokeStatic(streaming_response.clj:65)"
  "async.streaming_response$do_f_STAR_.invoke(streaming_response.clj:63)"
  "async.streaming_response$do_f_async$fn__16071.invoke(streaming_response.clj:84)"],
 :context :ad-hoc,
 :error "Attempting to call unbound fn: #'metabase.mbql.util.match/match-in-collection",
 :row_count 0,
 :running_time 0,
 :preprocessed
 {:type :query,
  :query
  {:source-table 5,
   :filter
   [:=
    [:field 43 nil]
    [:value
     "Star"
     {:base_type :type/Text,
      :effective_type :type/Text,
      :coercion_strategy nil,
      :semantic_type nil,
      :database_type "string",
      :name "GroupName"}]],
   :aggregation [[:aggregation-options [:count] {:name "count"}]],
   :breakout [[:field 39 nil]],
   :order-by [[:asc [:field 39 nil]]]},
  :database 2,
  :middleware {:js-int-to-string? true, :add-default-userland-constraints? true},
  :info
  {:executed-by 1,
   :context :ad-hoc,
   :nested? false,
   :query-hash
   [-99, 94, 94, 50, 29, 53, 89, 32, -39, 23, 72, -52, 10, -93, -114, 123, -72, -53, 57, 62, 92, -26, 98, 120, 111,
    -52, 24, -60, -2, -17, 11, -34]},
  :constraints {:max-results 10000, :max-results-bare-rows 2000}},
 :data {:rows [], :cols []}}

Any ideas about that?

yes, I can reproduce the same issue on Metabase v0.39.3, looking into the causes.