Hello,
I'm running the latest version, 0.47.3.
I can't reproduce this using the H2 database because I cannot use the convertTimezone function without getting the error "metabase.driver.sql.query-processor/->honeysql called on something already compiled to Honey SQL. See metabase.driver.sql.query-processor/throw-double-compilation-error for more info.".
The problem is that when I create a custom field for a datetime with a new timezone and I connect that to a variable in a dashboard I get an empty result and the error message below in the logs.
For privacy reasons I also cannot show you the full error message.
[959baa37-8818-4d8e-b0db-15f62268b8f5] 2023-10-05T17:17:09+02:00 ERROR metabase.query-processor.middleware.catch-exceptions Error processing query: Output of unwrap-field-clause does not match schema:
[(not (present? :field)) (not (present? "id-or-name")) (not (present? "options"))]
{
...
:parameters
[{:type :date/all-options,
:value "past3months",
:id "ad223047",
:target [:dimension [:expression "Timestamp Stockholm"]]}],
:async? true,
:cache-ttl nil},
:native nil,
:status :failed,
:class clojure.lang.ExceptionInfo,
:stacktrace
["--> models.params$fn__61458$unwrap_field_clause__61463.invoke(params.clj:48)"
"query_processor.middleware.parameters.mbql$fn__74924$build_filter_clause__74929$fn__74939.invoke(mbql.clj:60)"
"query_processor.middleware.parameters.mbql$fn__74924$build_filter_clause__74929.invoke(mbql.clj:47)"
"query_processor.middleware.parameters.mbql$expand.invokeStatic(mbql.clj:89)"
"query_processor.middleware.parameters.mbql$expand.invoke(mbql.clj:75)"
"query_processor.middleware.parameters$expand_mbql_params.invokeStatic(parameters.clj:37)"
"query_processor.middleware.parameters$expand_mbql_params.invoke(parameters.clj:33)"
"query_processor.middleware.parameters$expand_one.invokeStatic(parameters.clj:49)"
"query_processor.middleware.parameters$expand_one.invoke(parameters.clj:41)"
"query_processor.middleware.parameters$expand_all$replace_75026__75027.invoke(parameters.clj:59)"
"mbql.util.match.impl$replace_in_collection$iter__30881__30885$fn__30886.invoke(impl.cljc:44)"
"mbql.util.match.impl$replace_in_collection.invokeStatic(impl.cljc:43)"
"mbql.util.match.impl$replace_in_collection.invoke(impl.cljc:38)"
"query_processor.middleware.parameters$expand_all$replace_75026__75027.invoke(parameters.clj:59)"
"query_processor.middleware.parameters$expand_all.invokeStatic(parameters.clj:59)"
"query_processor.middleware.parameters$expand_all.invoke(parameters.clj:53)"
"query_processor.middleware.parameters$expand_all.invokeStatic(parameters.clj:56)"
"query_processor.middleware.parameters$expand_all.invoke(parameters.clj:53)"
"query_processor.middleware.parameters$expand_parameters.invokeStatic(parameters.clj:77)"
"query_processor.middleware.parameters$expand_parameters.invoke(parameters.clj:73)"
"query_processor.middleware.parameters$fn__75043$substitute_parameters_STAR___75048$fn__75049.invoke(parameters.clj:82)"
"query_processor.middleware.parameters$fn__75043$substitute_parameters_STAR___75048.invoke(parameters.clj:79)"
"query_processor.middleware.parameters$substitute_parameters.invokeStatic(parameters.clj:109)"
"query_processor.middleware.parameters$substitute_parameters.invoke(parameters.clj:101)"
"query_processor$preprocess_STAR_$fn__78277.invoke(query_processor.clj:167)"
"query_processor$preprocess_STAR_.invokeStatic(query_processor.clj:165)"
"query_processor$preprocess_STAR_.invoke(query_processor.clj:160)"
"query_processor$fn__78285$combined_pre_process__78286$combined_pre_process_STAR___78287.invoke(query_processor.clj:257)"
"query_processor.middleware.resolve_database_and_driver$resolve_database_and_driver$fn__76963$fn__76968.invoke(resolve_database_and_driver.clj:36)"
"driver$do_with_driver.invokeStatic(driver.clj:93)"
"driver$do_with_driver.invoke(driver.clj:88)"
"query_processor.middleware.resolve_database_and_driver$resolve_database_and_driver$fn__76963.invoke(resolve_database_and_driver.clj:35)"
"query_processor.middleware.fetch_source_query$resolve_card_id_source_tables$fn__72945.invoke(fetch_source_query.clj:316)"
"query_processor.middleware.store$initialize_store$fn__73126$fn__73127.invoke(store.clj:12)"
"query_processor.store$do_with_store.invokeStatic(store.clj:56)"
"query_processor.store$do_with_store.invoke(store.clj:50)"
"query_processor.middleware.store$initialize_store$fn__73126.invoke(store.clj:11)"
"query_processor.middleware.normalize_query$normalize$fn__77259.invoke(normalize_query.clj:36)"
"query_processor.middleware.constraints$add_default_userland_constraints$fn__74653.invoke(constraints.clj:54)"
"query_processor.middleware.process_userland_query$process_userland_query$fn__77188.invoke(process_userland_query.clj:151)"
"query_processor.middleware.catch_exceptions$catch_exceptions$fn__77585.invoke(catch_exceptions.clj:171)"
"query_processor.reducible$async_qp$qp_STAR___66802$thunk__66804.invoke(reducible.clj:103)"
"query_processor.reducible$async_qp$qp_STAR___66802$fn__66806.invoke(reducible.clj:108)"],
:card_id 339,
:context :dashboard,
:error
"Output of unwrap-field-clause does not match schema: \n\n\t [(not (present? :field)) (not (present? \"id-or-name\")) (not (present? \"options\"))] \n\n",
:row_count 0,
:running_time 0,
:preprocessed nil,
:ex-data
{:type :schema.core/error,
:value nil,
:error [(not (present? :field)) (not (present? "id-or-name")) (not (present? "options"))]},
:data {:rows [], :cols []}}
IS this a bug?
Cheers