Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Scanning field values logs an exception for GEOMETRY columns #20

Closed
kaklakariada opened this issue Jan 17, 2022 · 1 comment
Closed
Labels
bug Something isn't working

Comments

@kaklakariada
Copy link
Collaborator

kaklakariada commented Jan 17, 2022

When Metabase scans field values of a table with a GEOMETRY column (e.g. when you click the "Re-scan field values now" button on the Database page) it logs the following exception:

2022-01-17 09:01:18,009 ERROR models.field-values :: Error fetching field values
clojure.lang.ExceptionInfo: Error executing query {:sql "-- Metabase\nSELECT \"META\".\"DATA_TYPES\".\"GEO\" AS \"GEO\" FROM \"META\".\"DATA_TYPES\" GROUP BY \"META\".\"DATA_TYPES\".\"GEO\" ORDER BY \"META\".\"DATA_TYPES\".\"GEO\" ASC LIMIT 5000", :params nil, :type :invalid-query}
...
Caused by: java.sql.SQLException: Feature not supported: GEOMETRY type in GROUP BY (Session: 1722185677957169152)
...

There seem to be no consequences of this error, everything seems to work fine.

Also see this discussion in the Metabase forum.

Workaround

To avoid logging this exception, you can update the relevant GEOMETRY column on Metabase's "Data Model" page and set the Visibility to "Only in detail views" or "Do not include".

Note: when clicking the the "Re-scan this field" button on the field settings page, Metabase will still log the exception.

Complete stack trace

2022-01-17 09:01:18,009 ERROR models.field-values :: Error fetching field values
clojure.lang.ExceptionInfo: Error executing query {:sql "-- Metabase\nSELECT \"META\".\"DATA_TYPES\".\"GEO\" AS \"GEO\" FROM \"META\".\"DATA_TYPES\" GROUP BY \"META\".\"DATA_TYPES\".\"GEO\" ORDER BY \"META\".\"DATA_TYPES\".\"GEO\" ASC LIMIT 5000", :params nil, :type :invalid-query}
	at metabase.driver.sql_jdbc.execute$execute_reducible_query$fn__52491.invoke(execute.clj:504)
	at metabase.driver.sql_jdbc.execute$execute_reducible_query.invokeStatic(execute.clj:501)
	at metabase.driver.sql_jdbc.execute$execute_reducible_query.invoke(execute.clj:487)
	at metabase.driver.sql_jdbc.execute$execute_reducible_query.invokeStatic(execute.clj:496)
	at metabase.driver.sql_jdbc.execute$execute_reducible_query.invoke(execute.clj:487)
	at metabase.driver.sql_jdbc$fn__85172.invokeStatic(sql_jdbc.clj:54)
	at metabase.driver.sql_jdbc$fn__85172.invoke(sql_jdbc.clj:52)
	at clojure.lang.MultiFn.invoke(MultiFn.java:244)
	at metabase.query_processor.context$executef.invokeStatic(context.clj:59)
	at metabase.query_processor.context$executef.invoke(context.clj:48)
	at metabase.query_processor.context.default$default_runf.invokeStatic(default.clj:68)
	at metabase.query_processor.context.default$default_runf.invoke(default.clj:66)
	at metabase.query_processor.context$runf.invokeStatic(context.clj:45)
	at metabase.query_processor.context$runf.invoke(context.clj:39)
	at metabase.query_processor.reducible$pivot.invokeStatic(reducible.clj:34)
	at metabase.query_processor.reducible$pivot.invoke(reducible.clj:31)
	at metabase.query_processor.middleware.mbql_to_native$mbql__GT_native$fn__49144.invoke(mbql_to_native.clj:25)
	at metabase.query_processor.middleware.check_features$check_features$fn__49630.invoke(check_features.clj:39)
	at metabase.query_processor.middleware.limit$limit$fn__47517.invoke(limit.clj:37)
	at metabase.query_processor.middleware.cache$maybe_return_cached_results$fn__50004.invoke(cache.clj:204)
	at metabase.query_processor.middleware.optimize_temporal_filters$optimize_temporal_filters$fn__50997.invoke(optimize_temporal_filters.clj:204)
	at metabase.query_processor.middleware.validate_temporal_bucketing$validate_temporal_bucketing$fn__51041.invoke(validate_temporal_bucketing.clj:50)
	at metabase.query_processor.middleware.auto_parse_filter_values$auto_parse_filter_values$fn__49201.invoke(auto_parse_filter_values.clj:43)
	at metabase.query_processor.middleware.wrap_value_literals$wrap_value_literals$fn__39249.invoke(wrap_value_literals.clj:161)
	at metabase.query_processor.middleware.annotate$add_column_info$fn__43680.invoke(annotate.clj:620)
	at metabase.query_processor.middleware.permissions$check_query_permissions$fn__45618.invoke(permissions.clj:108)
	at metabase.query_processor.middleware.pre_alias_aggregations$pre_alias_aggregations$fn__50181.invoke(pre_alias_aggregations.clj:40)
	at metabase.query_processor.middleware.cumulative_aggregations$handle_cumulative_aggregations$fn__46016.invoke(cumulative_aggregations.clj:60)
	at metabase.query_processor.middleware.visualization_settings$update_viz_settings$fn__45954.invoke(visualization_settings.clj:63)
	at metabase.query_processor.middleware.resolve_joined_fields$resolve_joined_fields$fn__47115.invoke(resolve_joined_fields.clj:102)
	at metabase.query_processor.middleware.resolve_joins$resolve_joins$fn__50767.invoke(resolve_joins.clj:171)
	at metabase.query_processor.middleware.add_implicit_joins$add_implicit_joins$fn__50303.invoke(add_implicit_joins.clj:190)
	at metabase.query_processor.middleware.large_int_id$convert_id_to_string$fn__47134.invoke(large_int_id.clj:59)
	at metabase.query_processor.middleware.format_rows$format_rows$fn__50355.invoke(format_rows.clj:74)
	at metabase.query_processor.middleware.add_default_temporal_unit$add_default_temporal_unit$fn__46506.invoke(add_default_temporal_unit.clj:23)
	at metabase.query_processor.middleware.desugar$desugar$fn__45927.invoke(desugar.clj:21)
	at metabase.query_processor.middleware.binning$update_binning_strategy$fn__39149.invoke(binning.clj:229)
	at metabase.query_processor.middleware.resolve_fields$resolve_fields$fn__45261.invoke(resolve_fields.clj:34)
	at metabase.query_processor.middleware.add_dimension_projections$add_remapping$fn__49556.invoke(add_dimension_projections.clj:314)
	at metabase.query_processor.middleware.add_implicit_clauses$add_implicit_clauses$fn__49853.invoke(add_implicit_clauses.clj:147)
	at metabase.query_processor.middleware.upgrade_field_literals$upgrade_field_literals$fn__47502.invoke(upgrade_field_literals.clj:40)
	at metabase.query_processor.middleware.add_source_metadata$add_source_metadata_for_source_queries$fn__46883.invoke(add_source_metadata.clj:123)
	at metabase.query_processor.middleware.reconcile_breakout_and_order_by_bucketing$reconcile_breakout_and_order_by_bucketing$fn__50103.invoke(reconcile_breakout_and_order_by_bucketing.clj:100)
	at metabase.query_processor.middleware.auto_bucket_datetimes$auto_bucket_datetimes$fn__48453.invoke(auto_bucket_datetimes.clj:147)
	at metabase.query_processor.middleware.resolve_source_table$resolve_source_tables$fn__45242.invoke(resolve_source_table.clj:45)
	at metabase.query_processor.middleware.parameters$substitute_parameters$fn__48107.invoke(parameters.clj:111)
	at metabase.query_processor.middleware.resolve_referenced$resolve_referenced_card_resources$fn__45315.invoke(resolve_referenced.clj:79)
	at metabase.query_processor.middleware.expand_macros$expand_macros$fn__51425.invoke(expand_macros.clj:184)
	at metabase.query_processor.middleware.add_timezone_info$add_timezone_info$fn__47886.invoke(add_timezone_info.clj:15)
	at metabase.query_processor.middleware.splice_params_in_response$splice_params_in_response$fn__50370.invoke(splice_params_in_response.clj:32)
	at metabase.query_processor.middleware.resolve_database_and_driver$resolve_database_and_driver$fn__49864$fn__49868.invoke(resolve_database_and_driver.clj:31)
	at metabase.driver$do_with_driver.invokeStatic(driver.clj:60)
	at metabase.driver$do_with_driver.invoke(driver.clj:56)
	at metabase.query_processor.middleware.resolve_database_and_driver$resolve_database_and_driver$fn__49864.invoke(resolve_database_and_driver.clj:25)
	at metabase.query_processor.middleware.fetch_source_query$resolve_card_id_source_tables$fn__45865.invoke(fetch_source_query.clj:274)
	at metabase.query_processor.middleware.store$initialize_store$fn__46053$fn__46054.invoke(store.clj:11)
	at metabase.query_processor.store$do_with_store.invokeStatic(store.clj:44)
	at metabase.query_processor.store$do_with_store.invoke(store.clj:38)
	at metabase.query_processor.middleware.store$initialize_store$fn__46053.invoke(store.clj:10)
	at metabase.query_processor.middleware.validate$validate_query$fn__50153.invoke(validate.clj:10)
	at metabase.query_processor.middleware.normalize_query$normalize$fn__50160.invoke(normalize_query.clj:22)
	at metabase.query_processor.middleware.add_rows_truncated$add_rows_truncated$fn__47832.invoke(add_rows_truncated.clj:35)
	at metabase.query_processor.middleware.results_metadata$record_and_return_metadata_BANG_$fn__49130.invoke(results_metadata.clj:147)
	at metabase.query_processor.reducible$async_qp$qp_STAR___42500$thunk__42501.invoke(reducible.clj:103)
	at metabase.query_processor.reducible$async_qp$qp_STAR___42500.invoke(reducible.clj:109)
	at metabase.query_processor.reducible$async_qp$qp_STAR___42500.invoke(reducible.clj:96)
	at metabase.query_processor.reducible$sync_qp$qp_STAR___42509$fn__42510.invoke(reducible.clj:131)
	at metabase.query_processor.reducible$sync_qp$qp_STAR___42509.invoke(reducible.clj:130)
	at clojure.lang.AFn.applyToHelper(AFn.java:154)
	at clojure.lang.AFn.applyTo(AFn.java:144)
	at clojure.core$apply.invokeStatic(core.clj:669)
	at clojure.core$apply.invoke(core.clj:662)
	at metabase.query_processor$process_query.invokeStatic(query_processor.clj:152)
	at metabase.query_processor$process_query.doInvoke(query_processor.clj:146)
	at clojure.lang.RestFn.invoke(RestFn.java:410)
	at metabase.db.metadata_queries$qp_query$fn__69317.invoke(metadata_queries.clj:21)
	at metabase.db.metadata_queries$qp_query.invokeStatic(metadata_queries.clj:20)
	at metabase.db.metadata_queries$qp_query.invoke(metadata_queries.clj:18)
	at metabase.db.metadata_queries$field_query.invokeStatic(metadata_queries.clj:30)
	at metabase.db.metadata_queries$field_query.invoke(metadata_queries.clj:28)
	at metabase.db.metadata_queries$fn__69337$field_distinct_values__69346$fn__69349.invoke(metadata_queries.clj:75)
	at metabase.db.metadata_queries$fn__69337$field_distinct_values__69346.invoke(metadata_queries.clj:68)
	at metabase.db.metadata_queries$fn__69337$field_distinct_values__69346$fn__69347.invoke(metadata_queries.clj:72)
	at metabase.db.metadata_queries$fn__69337$field_distinct_values__69346.invoke(metadata_queries.clj:68)
	at clojure.lang.Var.invoke(Var.java:384)
	at metabase.models.field_values$distinct_values.invokeStatic(field_values.clj:132)
	at metabase.models.field_values$distinct_values.invoke(field_values.clj:124)
	at metabase.models.field_values$create_or_update_field_values_BANG_.invokeStatic(field_values.clj:154)
	at metabase.models.field_values$create_or_update_field_values_BANG_.doInvoke(field_values.clj:148)
	at clojure.lang.RestFn.invoke(RestFn.java:410)
	at metabase.sync.field_values$fn__69214$update_field_values_for_field_BANG___69219$fn__69220.invoke(field_values.clj:23)
	at metabase.sync.field_values$fn__69214$update_field_values_for_field_BANG___69219.invoke(field_values.clj:21)
	at metabase.sync.field_values$fn__69240$update_field_values_for_table_BANG___69245$fn__69246$fn__69247$fn__69248.invoke(field_values.clj:44)
	at metabase.sync.util$do_with_error_handling.invokeStatic(util.clj:156)
	at metabase.sync.util$do_with_error_handling.invoke(util.clj:149)
	at metabase.sync.field_values$fn__69240$update_field_values_for_table_BANG___69245$fn__69246$fn__69247.invoke(field_values.clj:42)
	at clojure.lang.PersistentVector.reduce(PersistentVector.java:343)
	at clojure.core$reduce.invokeStatic(core.clj:6829)
	at clojure.core$reduce.invoke(core.clj:6812)
	at metabase.sync.field_values$fn__69240$update_field_values_for_table_BANG___69245$fn__69246.invoke(field_values.clj:41)
	at metabase.sync.field_values$fn__69240$update_field_values_for_table_BANG___69245.invoke(field_values.clj:38)
	at clojure.core$map$fn__5884.invoke(core.clj:2757)
	at clojure.lang.LazySeq.sval(LazySeq.java:42)
	at clojure.lang.LazySeq.seq(LazySeq.java:51)
	at clojure.lang.Cons.next(Cons.java:39)
	at clojure.lang.RT.boundedLength(RT.java:1793)
	at clojure.lang.RestFn.applyTo(RestFn.java:130)
	at clojure.core$apply.invokeStatic(core.clj:669)
	at clojure.core$apply.invoke(core.clj:662)
	at metabase.sync.field_values$fn__69267$update_field_values_for_database_BANG___69272$fn__69273.invoke(field_values.clj:52)
	at metabase.sync.field_values$fn__69267$update_field_values_for_database_BANG___69272.invoke(field_values.clj:50)
	at clojure.lang.AFn.applyToHelper(AFn.java:154)
	at clojure.lang.AFn.applyTo(AFn.java:144)
	at clojure.core$apply.invokeStatic(core.clj:669)
	at clojure.core$apply.invoke(core.clj:662)
	at metabase.sync.util$fn__40096$run_step_with_metadata__40101$fn__40105$fn__40107.doInvoke(util.clj:360)
	at clojure.lang.RestFn.invoke(RestFn.java:397)
	at metabase.sync.util$with_start_and_finish_logging_STAR_.invokeStatic(util.clj:99)
	at metabase.sync.util$with_start_and_finish_logging_STAR_.invoke(util.clj:93)
	at metabase.sync.util$with_start_and_finish_debug_logging.invokeStatic(util.clj:116)
	at metabase.sync.util$with_start_and_finish_debug_logging.invoke(util.clj:113)
	at metabase.sync.util$fn__40096$run_step_with_metadata__40101$fn__40105.invoke(util.clj:355)
	at metabase.sync.util$fn__40096$run_step_with_metadata__40101.invoke(util.clj:350)
	at metabase.sync.util$fn__40287$run_sync_operation__40292$fn__40293$fn__40301.invoke(util.clj:451)
	at metabase.sync.util$fn__40287$run_sync_operation__40292$fn__40293.invoke(util.clj:449)
	at metabase.sync.util$fn__40287$run_sync_operation__40292.invoke(util.clj:443)
	at metabase.sync.field_values$fn__69293$update_field_values_BANG___69298$fn__69299$fn__69300.invoke(field_values.clj:67)
	at metabase.sync.util$do_with_error_handling.invokeStatic(util.clj:156)
	at metabase.sync.util$do_with_error_handling.invoke(util.clj:149)
	at clojure.core$partial$fn__5859.invoke(core.clj:2634)
	at metabase.driver$fn__24548.invokeStatic(driver.clj:555)
	at metabase.driver$fn__24548.invoke(driver.clj:555)
	at clojure.lang.MultiFn.invoke(MultiFn.java:239)
	at metabase.sync.util$sync_in_context$fn__40008.invoke(util.clj:135)
	at metabase.sync.util$with_db_logging_disabled$fn__40005.invoke(util.clj:126)
	at metabase.sync.util$with_start_and_finish_logging_STAR_.invokeStatic(util.clj:99)
	at metabase.sync.util$with_start_and_finish_logging_STAR_.invoke(util.clj:93)
	at metabase.sync.util$with_start_and_finish_logging$fn__39994.invoke(util.clj:111)
	at metabase.sync.util$with_sync_events$fn__39989.invoke(util.clj:85)
	at metabase.sync.util$with_duplicate_ops_prevented$fn__39980.invoke(util.clj:64)
	at metabase.sync.util$do_sync_operation.invokeStatic(util.clj:177)
	at metabase.sync.util$do_sync_operation.invoke(util.clj:174)
	at metabase.sync.field_values$fn__69293$update_field_values_BANG___69298$fn__69299.invoke(field_values.clj:65)
	at metabase.sync.field_values$fn__69293$update_field_values_BANG___69298.invoke(field_values.clj:61)
	at metabase.api.database$fn__77231$fn__77233.invoke(database.clj:666)
	at clojure.core$binding_conveyor_fn$fn__5772.invoke(core.clj:2034)
	at clojure.lang.AFn.call(AFn.java:18)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.sql.SQLException: Feature not supported: GEOMETRY type in GROUP BY (Session: 1722185677957169152)
	at com.exasol.jdbc.ExceptionFactory.createSQLException(ExceptionFactory.java:258)
	at com.exasol.jdbc.EXASQLException.getSQLExceptionIntern(EXASQLException.java:50)
	at com.exasol.jdbc.AbstractEXAStatement.execute(AbstractEXAStatement.java:478)
	at com.exasol.jdbc.EXAStatement.execute(EXAStatement.java:289)
	at com.mchange.v2.c3p0.impl.NewProxyStatement.execute(NewProxyStatement.java:75)
	at metabase.driver.sql_jdbc.execute$fn__52411.invokeStatic(execute.clj:368)
	at metabase.driver.sql_jdbc.execute$fn__52411.invoke(execute.clj:366)
	at clojure.lang.MultiFn.invoke(MultiFn.java:239)
	at metabase.driver.sql_jdbc.execute$execute_statement_or_prepared_statement_BANG_.invokeStatic(execute.clj:376)
	at metabase.driver.sql_jdbc.execute$execute_statement_or_prepared_statement_BANG_.invoke(execute.clj:373)
	at metabase.driver.sql_jdbc.execute$execute_reducible_query$fn__52491.invoke(execute.clj:502)
	... 150 more
@kaklakariada kaklakariada added bug Something isn't working source:exasol labels Jan 17, 2022
@kaklakariada
Copy link
Collaborator Author

This is documented as a known issue in the user guide. Closing this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant