metabase-es-sql-driver
metabase-es-sql-driver copied to clipboard
timestamps not supported
select
timestamp::text
from kibana_sample_data_flights
Works, but
select
timestamp
from kibana_sample_data_flights
Fails (without the ::text)... Error reducing result rows:
2020-12-25 10:59:41,237 ERROR middleware.catch-exceptions :: Error processing query: null
{:database_id 2,
:started_at #t "2020-12-25T10:59:40.789654-05:00[America/New_York]",
:via
[{:status :failed,
:class clojure.lang.ExceptionInfo,
:error "Error reducing result rows",
:stacktrace
["--> query_processor.context.default$default_reducef$fn__36402.invoke(default.clj:61)"
"query_processor.context.default$default_reducef.invokeStatic(default.clj:58)"
"query_processor.context.default$default_reducef.invoke(default.clj:49)"
"query_processor.context$reducef.invokeStatic(context.clj:69)"
"query_processor.context$reducef.invoke(context.clj:62)"
"query_processor.context.default$default_runf$respond_STAR___36406.invoke(default.clj:70)"
"driver.sql_jdbc.execute$execute_reducible_query.invokeStatic(execute.clj:394)"
"driver.sql_jdbc.execute$execute_reducible_query.invoke(execute.clj:376)"
"driver.sql_jdbc.execute$execute_reducible_query.invokeStatic(execute.clj:385)"
"driver.sql_jdbc.execute$execute_reducible_query.invoke(execute.clj:376)"
"driver.sql_jdbc$fn__78125.invokeStatic(sql_jdbc.clj:49)"
"driver.sql_jdbc$fn__78125.invoke(sql_jdbc.clj:47)"
"query_processor.context$executef.invokeStatic(context.clj:59)"
"query_processor.context$executef.invoke(context.clj:48)"
"query_processor.context.default$default_runf.invokeStatic(default.clj:69)"
"query_processor.context.default$default_runf.invoke(default.clj:67)"
"query_processor.context$runf.invokeStatic(context.clj:45)"
"query_processor.context$runf.invoke(context.clj:39)"
"query_processor.reducible$pivot.invokeStatic(reducible.clj:34)"
"query_processor.reducible$pivot.invoke(reducible.clj:31)"
"query_processor.middleware.mbql_to_native$mbql__GT_native$fn__44124.invoke(mbql_to_native.clj:26)"
"query_processor.middleware.check_features$check_features$fn__43400.invoke(check_features.clj:42)"
"query_processor.middleware.optimize_datetime_filters$optimize_datetime_filters$fn__44289.invoke(optimize_datetime_filters.clj:133)"
"query_processor.middleware.auto_parse_filter_values$auto_parse_filter_values$fn__42201.invoke(auto_parse_filter_values.clj:44)"
"query_processor.middleware.wrap_value_literals$wrap_value_literals$fn__45855.invoke(wrap_value_literals.clj:149)"
"query_processor.middleware.annotate$add_column_info$fn__41956.invoke(annotate.clj:575)"
"query_processor.middleware.permissions$check_query_permissions$fn__43275.invoke(permissions.clj:70)"
"query_processor.middleware.pre_alias_aggregations$pre_alias_aggregations$fn__44807.invoke(pre_alias_aggregations.clj:40)"
"query_processor.middleware.cumulative_aggregations$handle_cumulative_aggregations$fn__43473.invoke(cumulative_aggregations.clj:61)"
"query_processor.middleware.resolve_joined_fields$resolve_joined_fields$fn__45044.invoke(resolve_joined_fields.clj:36)"
"query_processor.middleware.resolve_joins$resolve_joins$fn__45363.invoke(resolve_joins.clj:183)"
"query_processor.middleware.add_implicit_joins$add_implicit_joins$fn__37681.invoke(add_implicit_joins.clj:254)"
"query_processor.middleware.large_int_id$convert_id_to_string$fn__44085.invoke(large_int_id.clj:44)"
"query_processor.middleware.limit$limit$fn__44110.invoke(limit.clj:38)"
"query_processor.middleware.format_rows$format_rows$fn__44065.invoke(format_rows.clj:75)"
"query_processor.middleware.desugar$desugar$fn__43539.invoke(desugar.clj:22)"
"query_processor.middleware.binning$update_binning_strategy$fn__42560.invoke(binning.clj:229)"
"query_processor.middleware.resolve_fields$resolve_fields$fn__43077.invoke(resolve_fields.clj:24)"
"query_processor.middleware.add_dimension_projections$add_remapping$fn__37225.invoke(add_dimension_projections.clj:316)"
"query_processor.middleware.add_implicit_clauses$add_implicit_clauses$fn__37432.invoke(add_implicit_clauses.clj:141)"
"query_processor.middleware.add_source_metadata$add_source_metadata_for_source_queries$fn__37830.invoke(add_source_metadata.clj:105)"
"query_processor.middleware.reconcile_breakout_and_order_by_bucketing$reconcile_breakout_and_order_by_bucketing$fn__45004.invoke(reconcile_breakout_and_order_by_bucketing.clj:98)"
"query_processor.middleware.auto_bucket_datetimes$auto_bucket_datetimes$fn__42148.invoke(auto_bucket_datetimes.clj:140)"
"query_processor.middleware.resolve_source_table$resolve_source_tables$fn__43124.invoke(resolve_source_table.clj:46)"
"query_processor.middleware.parameters$substitute_parameters$fn__44789.invoke(parameters.clj:114)"
"query_processor.middleware.resolve_referenced$resolve_referenced_card_resources$fn__43176.invoke(resolve_referenced.clj:80)"
"query_processor.middleware.expand_macros$expand_macros$fn__43795.invoke(expand_macros.clj:158)"
"query_processor.middleware.add_timezone_info$add_timezone_info$fn__37861.invoke(add_timezone_info.clj:15)"
"query_processor.middleware.splice_params_in_response$splice_params_in_response$fn__45725.invoke(splice_params_in_response.clj:32)"
"query_processor.middleware.resolve_database_and_driver$resolve_database_and_driver$fn__45015$fn__45019.invoke(resolve_database_and_driver.clj:33)"
"driver$do_with_driver.invokeStatic(driver.clj:61)"
"driver$do_with_driver.invoke(driver.clj:57)"
"query_processor.middleware.resolve_database_and_driver$resolve_database_and_driver$fn__45015.invoke(resolve_database_and_driver.clj:27)"
"query_processor.middleware.fetch_source_query$resolve_card_id_source_tables$fn__44013.invoke(fetch_source_query.clj:267)"
"query_processor.middleware.store$initialize_store$fn__45734$fn__45735.invoke(store.clj:11)"
"query_processor.store$do_with_store.invokeStatic(store.clj:46)"
"query_processor.store$do_with_store.invoke(store.clj:40)"
"query_processor.middleware.store$initialize_store$fn__45734.invoke(store.clj:10)"
"query_processor.middleware.cache$maybe_return_cached_results$fn__43053.invoke(cache.clj:214)"
"query_processor.middleware.validate$validate_query$fn__45743.invoke(validate.clj:10)"
"query_processor.middleware.normalize_query$normalize$fn__44137.invoke(normalize_query.clj:22)"
"query_processor.middleware.add_rows_truncated$add_rows_truncated$fn__37699.invoke(add_rows_truncated.clj:36)"
"query_processor.middleware.results_metadata$record_and_return_metadata_BANG_$fn__45710.invoke(results_metadata.clj:147)"
"query_processor.middleware.constraints$add_default_userland_constraints$fn__43416.invoke(constraints.clj:42)"
"query_processor.middleware.process_userland_query$process_userland_query$fn__44878.invoke(process_userland_query.clj:136)"
"query_processor.middleware.catch_exceptions$catch_exceptions$fn__43359.invoke(catch_exceptions.clj:174)"
"query_processor.reducible$async_qp$qp_STAR___36488$thunk__36489.invoke(reducible.clj:103)"
"query_processor.reducible$async_qp$qp_STAR___36488.invoke(reducible.clj:109)"
"query_processor.reducible$sync_qp$qp_STAR___36497$fn__36500.invoke(reducible.clj:135)"
"query_processor.reducible$sync_qp$qp_STAR___36497.invoke(reducible.clj:134)"
"query_processor$process_userland_query.invokeStatic(query_processor.clj:237)"
"query_processor$process_userland_query.doInvoke(query_processor.clj:233)"
"query_processor$fn__45901$process_query_and_save_execution_BANG___45910$fn__45913.invoke(query_processor.clj:249)"
"query_processor$fn__45901$process_query_and_save_execution_BANG___45910.invoke(query_processor.clj:241)"
"query_processor$fn__45945$process_query_and_save_with_max_results_constraints_BANG___45954$fn__45957.invoke(query_processor.clj:261)"
"query_processor$fn__45945$process_query_and_save_with_max_results_constraints_BANG___45954.invoke(query_processor.clj:254)"
"api.dataset$fn__52612$fn__52615.invoke(dataset.clj:59)"
"query_processor.streaming$streaming_response_STAR_$fn__52593$fn__52594.invoke(streaming.clj:73)"
"query_processor.streaming$streaming_response_STAR_$fn__52593.invoke(streaming.clj:72)"
"async.streaming_response$do_f_STAR_.invokeStatic(streaming_response.clj:66)"
"async.streaming_response$do_f_STAR_.invoke(streaming_response.clj:64)"
"async.streaming_response$do_f_async$fn__24637.invoke(streaming_response.clj:85)"],
:error_type :qp,
:ex-data {:type :qp}}],
:state nil,
:error_type :qp,
:json_query
{:type "native",
:native {:query "select\n timestamp\nfrom kibana_sample_data_flights", :template-tags {}},
:database 2,
:parameters [],
:middleware {:js-int-to-string? true, :add-default-userland-constraints? true}},
:status :failed,
:class java.sql.SQLFeatureNotSupportedException,
:stacktrace
["org.elasticsearch.xpack.sql.jdbc.TypeConverter.asLocalDateTime(TypeConverter.java:583)"
"org.elasticsearch.xpack.sql.jdbc.TypeConverter.convert(TypeConverter.java:195)"
"org.elasticsearch.xpack.sql.jdbc.JdbcResultSet.convert(JdbcResultSet.java:434)"
"org.elasticsearch.xpack.sql.jdbc.JdbcResultSet.getObject(JdbcResultSet.java:421)"
"com.mchange.v2.c3p0.impl.NewProxyResultSet.getObject(NewProxyResultSet.java:217)"
"--> driver.sql_jdbc.execute$get_object_of_class_thunk$fn__76626.invoke(execute.clj:279)"
"driver.sql_jdbc.execute$row_thunk$row_thunk_STAR___76684.invoke(execute.clj:347)"
"query_processor.reducible$reducible_rows$reify__36504.reduce(reducible.clj:160)"
"query_processor.context.default$default_reducef$fn__36402.invoke(default.clj:59)"
"query_processor.context.default$default_reducef.invokeStatic(default.clj:58)"
"query_processor.context.default$default_reducef.invoke(default.clj:49)"
"query_processor.context$reducef.invokeStatic(context.clj:69)"
"query_processor.context$reducef.invoke(context.clj:62)"
"query_processor.context.default$default_runf$respond_STAR___36406.invoke(default.clj:70)"
"driver.sql_jdbc.execute$execute_reducible_query.invokeStatic(execute.clj:394)"
"driver.sql_jdbc.execute$execute_reducible_query.invoke(execute.clj:376)"
"driver.sql_jdbc.execute$execute_reducible_query.invokeStatic(execute.clj:385)"
"driver.sql_jdbc.execute$execute_reducible_query.invoke(execute.clj:376)"
"driver.sql_jdbc$fn__78125.invokeStatic(sql_jdbc.clj:49)"
"driver.sql_jdbc$fn__78125.invoke(sql_jdbc.clj:47)"
"query_processor.context$executef.invokeStatic(context.clj:59)"
"query_processor.context$executef.invoke(context.clj:48)"
"query_processor.context.default$default_runf.invokeStatic(default.clj:69)"
"query_processor.context.default$default_runf.invoke(default.clj:67)"
"query_processor.context$runf.invokeStatic(context.clj:45)"
"query_processor.context$runf.invoke(context.clj:39)"
"query_processor.reducible$pivot.invokeStatic(reducible.clj:34)"
"query_processor.reducible$pivot.invoke(reducible.clj:31)"
"query_processor.middleware.mbql_to_native$mbql__GT_native$fn__44124.invoke(mbql_to_native.clj:26)"
"query_processor.middleware.check_features$check_features$fn__43400.invoke(check_features.clj:42)"
"query_processor.middleware.optimize_datetime_filters$optimize_datetime_filters$fn__44289.invoke(optimize_datetime_filters.clj:133)"
"query_processor.middleware.auto_parse_filter_values$auto_parse_filter_values$fn__42201.invoke(auto_parse_filter_values.clj:44)"
"query_processor.middleware.wrap_value_literals$wrap_value_literals$fn__45855.invoke(wrap_value_literals.clj:149)"
"query_processor.middleware.annotate$add_column_info$fn__41956.invoke(annotate.clj:575)"
"query_processor.middleware.permissions$check_query_permissions$fn__43275.invoke(permissions.clj:70)"
"query_processor.middleware.pre_alias_aggregations$pre_alias_aggregations$fn__44807.invoke(pre_alias_aggregations.clj:40)"
"query_processor.middleware.cumulative_aggregations$handle_cumulative_aggregations$fn__43473.invoke(cumulative_aggregations.clj:61)"
"query_processor.middleware.resolve_joined_fields$resolve_joined_fields$fn__45044.invoke(resolve_joined_fields.clj:36)"
"query_processor.middleware.resolve_joins$resolve_joins$fn__45363.invoke(resolve_joins.clj:183)"
"query_processor.middleware.add_implicit_joins$add_implicit_joins$fn__37681.invoke(add_implicit_joins.clj:254)"
"query_processor.middleware.large_int_id$convert_id_to_string$fn__44085.invoke(large_int_id.clj:44)"
"query_processor.middleware.limit$limit$fn__44110.invoke(limit.clj:38)"
"query_processor.middleware.format_rows$format_rows$fn__44065.invoke(format_rows.clj:75)"
"query_processor.middleware.desugar$desugar$fn__43539.invoke(desugar.clj:22)"
"query_processor.middleware.binning$update_binning_strategy$fn__42560.invoke(binning.clj:229)"
"query_processor.middleware.resolve_fields$resolve_fields$fn__43077.invoke(resolve_fields.clj:24)"
"query_processor.middleware.add_dimension_projections$add_remapping$fn__37225.invoke(add_dimension_projections.clj:316)"
"query_processor.middleware.add_implicit_clauses$add_implicit_clauses$fn__37432.invoke(add_implicit_clauses.clj:141)"
"query_processor.middleware.add_source_metadata$add_source_metadata_for_source_queries$fn__37830.invoke(add_source_metadata.clj:105)"
"query_processor.middleware.reconcile_breakout_and_order_by_bucketing$reconcile_breakout_and_order_by_bucketing$fn__45004.invoke(reconcile_breakout_and_order_by_bucketing.clj:98)"
"query_processor.middleware.auto_bucket_datetimes$auto_bucket_datetimes$fn__42148.invoke(auto_bucket_datetimes.clj:140)"
"query_processor.middleware.resolve_source_table$resolve_source_tables$fn__43124.invoke(resolve_source_table.clj:46)"
"query_processor.middleware.parameters$substitute_parameters$fn__44789.invoke(parameters.clj:114)"
"query_processor.middleware.resolve_referenced$resolve_referenced_card_resources$fn__43176.invoke(resolve_referenced.clj:80)"
"query_processor.middleware.expand_macros$expand_macros$fn__43795.invoke(expand_macros.clj:158)"
"query_processor.middleware.add_timezone_info$add_timezone_info$fn__37861.invoke(add_timezone_info.clj:15)"
"query_processor.middleware.splice_params_in_response$splice_params_in_response$fn__45725.invoke(splice_params_in_response.clj:32)"
"query_processor.middleware.resolve_database_and_driver$resolve_database_and_driver$fn__45015$fn__45019.invoke(resolve_database_and_driver.clj:33)"
"driver$do_with_driver.invokeStatic(driver.clj:61)"
"driver$do_with_driver.invoke(driver.clj:57)"
"query_processor.middleware.resolve_database_and_driver$resolve_database_and_driver$fn__45015.invoke(resolve_database_and_driver.clj:27)"
"query_processor.middleware.fetch_source_query$resolve_card_id_source_tables$fn__44013.invoke(fetch_source_query.clj:267)"
"query_processor.middleware.store$initialize_store$fn__45734$fn__45735.invoke(store.clj:11)"
"query_processor.store$do_with_store.invokeStatic(store.clj:46)"
"query_processor.store$do_with_store.invoke(store.clj:40)"
"query_processor.middleware.store$initialize_store$fn__45734.invoke(store.clj:10)"
"query_processor.middleware.cache$maybe_return_cached_results$fn__43053.invoke(cache.clj:214)"
"query_processor.middleware.validate$validate_query$fn__45743.invoke(validate.clj:10)"
"query_processor.middleware.normalize_query$normalize$fn__44137.invoke(normalize_query.clj:22)"
"query_processor.middleware.add_rows_truncated$add_rows_truncated$fn__37699.invoke(add_rows_truncated.clj:36)"
"query_processor.middleware.results_metadata$record_and_return_metadata_BANG_$fn__45710.invoke(results_metadata.clj:147)"
"query_processor.middleware.constraints$add_default_userland_constraints$fn__43416.invoke(constraints.clj:42)"
"query_processor.middleware.process_userland_query$process_userland_query$fn__44878.invoke(process_userland_query.clj:136)"
"query_processor.middleware.catch_exceptions$catch_exceptions$fn__43359.invoke(catch_exceptions.clj:174)"
"query_processor.reducible$async_qp$qp_STAR___36488$thunk__36489.invoke(reducible.clj:103)"
"query_processor.reducible$async_qp$qp_STAR___36488.invoke(reducible.clj:109)"
"query_processor.reducible$sync_qp$qp_STAR___36497$fn__36500.invoke(reducible.clj:135)"
"query_processor.reducible$sync_qp$qp_STAR___36497.invoke(reducible.clj:134)"
"query_processor$process_userland_query.invokeStatic(query_processor.clj:237)"
"query_processor$process_userland_query.doInvoke(query_processor.clj:233)"
"query_processor$fn__45901$process_query_and_save_execution_BANG___45910$fn__45913.invoke(query_processor.clj:249)"
"query_processor$fn__45901$process_query_and_save_execution_BANG___45910.invoke(query_processor.clj:241)"
"query_processor$fn__45945$process_query_and_save_with_max_results_constraints_BANG___45954$fn__45957.invoke(query_processor.clj:261)"
"query_processor$fn__45945$process_query_and_save_with_max_results_constraints_BANG___45954.invoke(query_processor.clj:254)"
"api.dataset$fn__52612$fn__52615.invoke(dataset.clj:59)"
"query_processor.streaming$streaming_response_STAR_$fn__52593$fn__52594.invoke(streaming.clj:73)"
"query_processor.streaming$streaming_response_STAR_$fn__52593.invoke(streaming.clj:72)"
"async.streaming_response$do_f_STAR_.invokeStatic(streaming_response.clj:66)"
"async.streaming_response$do_f_STAR_.invoke(streaming_response.clj:64)"
"async.streaming_response$do_f_async$fn__24637.invoke(streaming_response.clj:85)"],
:context :ad-hoc,
:error nil,
:row_count 0,
:running_time 0,
:data {:rows [], :cols []}}
I tried adding support for datetime directly which didn't help
diff --git a/src/metabase/driver/elasticsearch.clj b/src/metabase/driver/elasticsearch.clj
index cd6e198..4e960a3 100644
--- a/src/metabase/driver/elasticsearch.clj
+++ b/src/metabase/driver/elasticsearch.clj
@@ -73,6 +73,7 @@
:text :type/Text
:binary :type/*
:date :type/DateTime
+ :datetime :type/DateTime
:ip :type/Text
:object :type/Dictionary
:nested :type/Dictionary} database-type))