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

Nested queries with long Data Model names causes failing query with incorrect aliasing #20627

Closed
flamber opened this issue Feb 18, 2022 · 0 comments · Fixed by #20684
Closed
Assignees
Labels
.Backend Priority:P1 Security holes w/o exploit, crashing, setup/upgrade, login, broken common features, correctness Querying/Nested Queries Questions based on other saved questions .Regression Bugs that were previously fixed and/or bugs unintentionally shipped with new features. .Reproduced Issues reproduced in test (usually Cypress) Type:Bug Product defects
Milestone

Comments

@flamber
Copy link
Contributor

flamber commented Feb 18, 2022

Describe the bug
Nested queries with long Data Model names can cause incorrect aliasing. Applicable to all databases.
Regressions since 0.42.1 - works correctly in 0.42.0 and 0.41.6

To Reproduce

  1. Admin > Data Model > Sample Dataset
    • Orders - rename column "Product ID" to Product ID with a very long name
    • Products - rename table to Products with a very long name
    • image
  2. Question > Sample Dataset > Orders - join Products
  3. Summarize Count, grouped by Products.Category
  4. Filter by Count, or use Custom Column 1 + 1 to trigger nested query
    image
Full stacktrace
2022-02-18 15:08:30,800 ERROR middleware.catch-exceptions :: Error processing query: null
{:database_id 1,
 :started_at #t "2022-02-18T15:08:28.615029+01:00[Europe/Copenhagen]",
 :via
 [{:status :failed,
   :class clojure.lang.ExceptionInfo,
   :error
   "Error executing query: Column \"source.Products with a very long name - Product ID with a _91e62981\" not found; SQL statement:\n-- Metabase:: userID: 1 queryType: MBQL queryHash: 326c1425ad67a9484cb072582d290a6601baebf3a9062d42280c1f21583f6ced\nSELECT \"source\".\"Products with a very long name - Product ID with a _91e62981\" AS \"Products with a very long name - Product ID with a _91e62981\", \"source\".\"count\" AS \"count\" FROM (SELECT \"Products with a very long name - Product ID with a _d8fb51ae\".\"CATEGORY\" AS \"Products with a very long name - Product ID with a _946f7441\", count(*) AS \"count\" FROM \"PUBLIC\".\"ORDERS\" LEFT JOIN \"PUBLIC\".\"PRODUCTS\" \"Products with a very long name - Product ID with a _d8fb51ae\" ON \"PUBLIC\".\"ORDERS\".\"PRODUCT_ID\" = \"Products with a very long name - Product ID with a _d8fb51ae\".\"ID\" GROUP BY \"Products with a very long name - Product ID with a _d8fb51ae\".\"CATEGORY\" ORDER BY \"Products with a very long name - Product ID with a _d8fb51ae\".\"CATEGORY\" ASC) \"source\" WHERE \"source\".\"count\" > 0 LIMIT 2000 [42122-197]",
   :stacktrace
   ["--> driver.sql_jdbc.execute$execute_reducible_query$fn__53275.invoke(execute.clj:504)"
    "driver.sql_jdbc.execute$execute_reducible_query.invokeStatic(execute.clj:501)"
    "driver.sql_jdbc.execute$execute_reducible_query.invoke(execute.clj:487)"
    "driver.sql_jdbc.execute$execute_reducible_query.invokeStatic(execute.clj:496)"
    "driver.sql_jdbc.execute$execute_reducible_query.invoke(execute.clj:487)"
    "driver.sql_jdbc$fn__81974.invokeStatic(sql_jdbc.clj:54)"
    "driver.sql_jdbc$fn__81974.invoke(sql_jdbc.clj:52)"
    "driver.h2$fn__79124.invokeStatic(h2.clj:90)"
    "driver.h2$fn__79124.invoke(h2.clj:87)"
    "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:68)"
    "query_processor.context.default$default_runf.invoke(default.clj:66)"
    "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__49660.invoke(mbql_to_native.clj:25)"
    "query_processor.middleware.check_features$check_features$fn__50406.invoke(check_features.clj:42)"
    "query_processor.middleware.limit$limit$fn__47989.invoke(limit.clj:37)"
    "query_processor.middleware.cache$maybe_return_cached_results$fn__50789.invoke(cache.clj:204)"
    "query_processor.middleware.optimize_temporal_filters$optimize_temporal_filters$fn__51822.invoke(optimize_temporal_filters.clj:204)"
    "query_processor.middleware.validate_temporal_bucketing$validate_temporal_bucketing$fn__51866.invoke(validate_temporal_bucketing.clj:50)"
    "query_processor.middleware.auto_parse_filter_values$auto_parse_filter_values$fn__49717.invoke(auto_parse_filter_values.clj:43)"
    "query_processor.middleware.wrap_value_literals$wrap_value_literals$fn__39778.invoke(wrap_value_literals.clj:161)"
    "query_processor.middleware.annotate$add_column_info$fn__44544.invoke(annotate.clj:659)"
    "query_processor.middleware.permissions$check_query_permissions$fn__46286.invoke(permissions.clj:108)"
    "query_processor.middleware.pre_alias_aggregations$pre_alias_aggregations$fn__51011.invoke(pre_alias_aggregations.clj:40)"
    "query_processor.middleware.cumulative_aggregations$handle_cumulative_aggregations$fn__46682.invoke(cumulative_aggregations.clj:60)"
    "query_processor.middleware.visualization_settings$update_viz_settings$fn__46620.invoke(visualization_settings.clj:63)"
    "query_processor.middleware.escape_join_aliases$escape_join_aliases_middleware$fn__48037.invoke(escape_join_aliases.clj:67)"
    "query_processor.middleware.fix_bad_references$fix_bad_references_middleware$fn__50976.invoke(fix_bad_references.clj:91)"
    "query_processor.middleware.resolve_joined_fields$resolve_joined_fields$fn__47567.invoke(resolve_joined_fields.clj:111)"
    "query_processor.middleware.resolve_joins$resolve_joins$fn__51592.invoke(resolve_joins.clj:178)"
    "query_processor.middleware.add_implicit_joins$add_implicit_joins$fn__51134.invoke(add_implicit_joins.clj:193)"
    "query_processor.middleware.large_int_id$convert_id_to_string$fn__47586.invoke(large_int_id.clj:59)"
    "query_processor.middleware.format_rows$format_rows$fn__51186.invoke(format_rows.clj:74)"
    "query_processor.middleware.add_default_temporal_unit$add_default_temporal_unit$fn__46954.invoke(add_default_temporal_unit.clj:23)"
    "query_processor.middleware.desugar$desugar$fn__46593.invoke(desugar.clj:21)"
    "query_processor.middleware.binning$update_binning_strategy$fn__39507.invoke(binning.clj:229)"
    "query_processor.middleware.resolve_fields$resolve_fields$fn__45928.invoke(resolve_fields.clj:34)"
    "query_processor.middleware.add_dimension_projections$add_remapping$fn__50343.invoke(add_dimension_projections.clj:487)"
    "query_processor.middleware.add_implicit_clauses$add_implicit_clauses$fn__50637.invoke(add_implicit_clauses.clj:164)"
    "query_processor.middleware.upgrade_field_literals$upgrade_field_literals$fn__47974.invoke(upgrade_field_literals.clj:117)"
    "query_processor.middleware.add_source_metadata$add_source_metadata_for_source_queries$fn__47331.invoke(add_source_metadata.clj:125)"
    "query_processor.middleware.reconcile_breakout_and_order_by_bucketing$reconcile_breakout_and_order_by_bucketing$fn__50888.invoke(reconcile_breakout_and_order_by_bucketing.clj:100)"
    "query_processor.middleware.auto_bucket_datetimes$auto_bucket_datetimes$fn__48975.invoke(auto_bucket_datetimes.clj:147)"
    "query_processor.middleware.resolve_source_table$resolve_source_tables$fn__45909.invoke(resolve_source_table.clj:45)"
    "query_processor.middleware.parameters$substitute_parameters$fn__48629.invoke(parameters.clj:109)"
    "query_processor.middleware.resolve_referenced$resolve_referenced_card_resources$fn__45982.invoke(resolve_referenced.clj:79)"
    "query_processor.middleware.expand_macros$expand_macros$fn__52250.invoke(expand_macros.clj:184)"
    "query_processor.middleware.add_timezone_info$add_timezone_info$fn__48409.invoke(add_timezone_info.clj:15)"
    "query_processor.middleware.splice_params_in_response$splice_params_in_response$fn__51201.invoke(splice_params_in_response.clj:32)"
    "query_processor.middleware.resolve_database_and_driver$resolve_database_and_driver$fn__50648$fn__50653.invoke(resolve_database_and_driver.clj:35)"
    "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__50648.invoke(resolve_database_and_driver.clj:34)"
    "query_processor.middleware.fetch_source_query$resolve_card_id_source_tables$fn__46528.invoke(fetch_source_query.clj:286)"
    "query_processor.middleware.store$initialize_store$fn__46719$fn__46720.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__46719.invoke(store.clj:10)"
    "query_processor.middleware.validate$validate_query$fn__50983.invoke(validate.clj:10)"
    "query_processor.middleware.normalize_query$normalize$fn__50990.invoke(normalize_query.clj:22)"
    "query_processor.middleware.add_rows_truncated$add_rows_truncated$fn__48355.invoke(add_rows_truncated.clj:35)"
    "query_processor.middleware.results_metadata$record_and_return_metadata_BANG_$fn__49646.invoke(results_metadata.clj:82)"
    "query_processor.middleware.constraints$add_default_userland_constraints$fn__48373.invoke(constraints.clj:42)"
    "query_processor.middleware.process_userland_query$process_userland_query$fn__50924.invoke(process_userland_query.clj:146)"
    "query_processor.middleware.catch_exceptions$catch_exceptions$fn__51281.invoke(catch_exceptions.clj:169)"
    "query_processor.reducible$async_qp$qp_STAR___43280$thunk__43281.invoke(reducible.clj:103)"
    "query_processor.reducible$async_qp$qp_STAR___43280$fn__43283.invoke(reducible.clj:108)"],
   :error_type :invalid-query,
   :ex-data
   {:sql
    "-- Metabase:: userID: 1 queryType: MBQL queryHash: 326c1425ad67a9484cb072582d290a6601baebf3a9062d42280c1f21583f6ced\nSELECT \"source\".\"Products with a very long name - Product ID with a _91e62981\" AS \"Products with a very long name - Product ID with a _91e62981\", \"source\".\"count\" AS \"count\" FROM (SELECT \"Products with a very long name - Product ID with a _d8fb51ae\".\"CATEGORY\" AS \"Products with a very long name - Product ID with a _946f7441\", count(*) AS \"count\" FROM \"PUBLIC\".\"ORDERS\" LEFT JOIN \"PUBLIC\".\"PRODUCTS\" \"Products with a very long name - Product ID with a _d8fb51ae\" ON \"PUBLIC\".\"ORDERS\".\"PRODUCT_ID\" = \"Products with a very long name - Product ID with a _d8fb51ae\".\"ID\" GROUP BY \"Products with a very long name - Product ID with a _d8fb51ae\".\"CATEGORY\" ORDER BY \"Products with a very long name - Product ID with a _d8fb51ae\".\"CATEGORY\" ASC) \"source\" WHERE \"source\".\"count\" > 0 LIMIT 2000",
    :params nil,
    :type :invalid-query}}],
 :state "42S22",
 :error_type :invalid-query,
 :json_query
 {:constraints {:max-results 10000, :max-results-bare-rows 2000},
  :type :query,
  :middleware {:js-int-to-string? true, :ignore-cached-results? false, :process-viz-settings? false},
  :database 1,
  :query
  {:source-query
   {:source-table 2,
    :joins
    [{:fields :all,
      :source-table 1,
      :condition
      [:=
       [:field 11 nil]
       [:field 4 {:join-alias "Products with a very long name - Product ID with a very long name"}]],
      :alias "Products with a very long name - Product ID with a very long name"}],
    :aggregation [[:count]],
    :breakout [[:field 6 {:join-alias "Products with a very long name - Product ID with a very long name"}]]},
   :filter [:> [:field "count" {:base-type :type/Integer}] 0]},
  :parameters [],
  :async? true,
  :cache-ttl nil},
 :native
 {:query
  "SELECT \"source\".\"Products with a very long name - Product ID with a _91e62981\" AS \"Products with a very long name - Product ID with a _91e62981\", \"source\".\"count\" AS \"count\" FROM (SELECT \"Products with a very long name - Product ID with a _d8fb51ae\".\"CATEGORY\" AS \"Products with a very long name - Product ID with a _946f7441\", count(*) AS \"count\" FROM \"PUBLIC\".\"ORDERS\" LEFT JOIN \"PUBLIC\".\"PRODUCTS\" \"Products with a very long name - Product ID with a _d8fb51ae\" ON \"PUBLIC\".\"ORDERS\".\"PRODUCT_ID\" = \"Products with a very long name - Product ID with a _d8fb51ae\".\"ID\" GROUP BY \"Products with a very long name - Product ID with a _d8fb51ae\".\"CATEGORY\" ORDER BY \"Products with a very long name - Product ID with a _d8fb51ae\".\"CATEGORY\" ASC) \"source\" WHERE \"source\".\"count\" > 0 LIMIT 2000",
  :params nil},
 :status :failed,
 :class org.h2.jdbc.JdbcSQLException,
 :stacktrace
 ["org.h2.message.DbException.getJdbcSQLException(DbException.java:357)"
  "org.h2.message.DbException.get(DbException.java:179)"
  "org.h2.message.DbException.get(DbException.java:155)"
  "org.h2.expression.ExpressionColumn.optimize(ExpressionColumn.java:150)"
  "org.h2.expression.Alias.optimize(Alias.java:51)"
  "org.h2.command.dml.Select.prepare(Select.java:858)"
  "org.h2.command.Parser.prepareCommand(Parser.java:283)"
  "org.h2.engine.Session.prepareLocal(Session.java:611)"
  "org.h2.engine.Session.prepareCommand(Session.java:549)"
  "org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1247)"
  "org.h2.jdbc.JdbcStatement.executeInternal(JdbcStatement.java:217)"
  "org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:205)"
  "com.mchange.v2.c3p0.impl.NewProxyStatement.execute(NewProxyStatement.java:75)"
  "--> driver.sql_jdbc.execute$fn__53195.invokeStatic(execute.clj:368)"
  "driver.sql_jdbc.execute$fn__53195.invoke(execute.clj:366)"
  "driver.sql_jdbc.execute$execute_statement_or_prepared_statement_BANG_.invokeStatic(execute.clj:376)"
  "driver.sql_jdbc.execute$execute_statement_or_prepared_statement_BANG_.invoke(execute.clj:373)"
  "driver.sql_jdbc.execute$execute_reducible_query$fn__53275.invoke(execute.clj:502)"
  "driver.sql_jdbc.execute$execute_reducible_query.invokeStatic(execute.clj:501)"
  "driver.sql_jdbc.execute$execute_reducible_query.invoke(execute.clj:487)"
  "driver.sql_jdbc.execute$execute_reducible_query.invokeStatic(execute.clj:496)"
  "driver.sql_jdbc.execute$execute_reducible_query.invoke(execute.clj:487)"
  "driver.sql_jdbc$fn__81974.invokeStatic(sql_jdbc.clj:54)"
  "driver.sql_jdbc$fn__81974.invoke(sql_jdbc.clj:52)"
  "driver.h2$fn__79124.invokeStatic(h2.clj:90)"
  "driver.h2$fn__79124.invoke(h2.clj:87)"
  "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:68)"
  "query_processor.context.default$default_runf.invoke(default.clj:66)"
  "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__49660.invoke(mbql_to_native.clj:25)"
  "query_processor.middleware.check_features$check_features$fn__50406.invoke(check_features.clj:42)"
  "query_processor.middleware.limit$limit$fn__47989.invoke(limit.clj:37)"
  "query_processor.middleware.cache$maybe_return_cached_results$fn__50789.invoke(cache.clj:204)"
  "query_processor.middleware.optimize_temporal_filters$optimize_temporal_filters$fn__51822.invoke(optimize_temporal_filters.clj:204)"
  "query_processor.middleware.validate_temporal_bucketing$validate_temporal_bucketing$fn__51866.invoke(validate_temporal_bucketing.clj:50)"
  "query_processor.middleware.auto_parse_filter_values$auto_parse_filter_values$fn__49717.invoke(auto_parse_filter_values.clj:43)"
  "query_processor.middleware.wrap_value_literals$wrap_value_literals$fn__39778.invoke(wrap_value_literals.clj:161)"
  "query_processor.middleware.annotate$add_column_info$fn__44544.invoke(annotate.clj:659)"
  "query_processor.middleware.permissions$check_query_permissions$fn__46286.invoke(permissions.clj:108)"
  "query_processor.middleware.pre_alias_aggregations$pre_alias_aggregations$fn__51011.invoke(pre_alias_aggregations.clj:40)"
  "query_processor.middleware.cumulative_aggregations$handle_cumulative_aggregations$fn__46682.invoke(cumulative_aggregations.clj:60)"
  "query_processor.middleware.visualization_settings$update_viz_settings$fn__46620.invoke(visualization_settings.clj:63)"
  "query_processor.middleware.escape_join_aliases$escape_join_aliases_middleware$fn__48037.invoke(escape_join_aliases.clj:67)"
  "query_processor.middleware.fix_bad_references$fix_bad_references_middleware$fn__50976.invoke(fix_bad_references.clj:91)"
  "query_processor.middleware.resolve_joined_fields$resolve_joined_fields$fn__47567.invoke(resolve_joined_fields.clj:111)"
  "query_processor.middleware.resolve_joins$resolve_joins$fn__51592.invoke(resolve_joins.clj:178)"
  "query_processor.middleware.add_implicit_joins$add_implicit_joins$fn__51134.invoke(add_implicit_joins.clj:193)"
  "query_processor.middleware.large_int_id$convert_id_to_string$fn__47586.invoke(large_int_id.clj:59)"
  "query_processor.middleware.format_rows$format_rows$fn__51186.invoke(format_rows.clj:74)"
  "query_processor.middleware.add_default_temporal_unit$add_default_temporal_unit$fn__46954.invoke(add_default_temporal_unit.clj:23)"
  "query_processor.middleware.desugar$desugar$fn__46593.invoke(desugar.clj:21)"
  "query_processor.middleware.binning$update_binning_strategy$fn__39507.invoke(binning.clj:229)"
  "query_processor.middleware.resolve_fields$resolve_fields$fn__45928.invoke(resolve_fields.clj:34)"
  "query_processor.middleware.add_dimension_projections$add_remapping$fn__50343.invoke(add_dimension_projections.clj:487)"
  "query_processor.middleware.add_implicit_clauses$add_implicit_clauses$fn__50637.invoke(add_implicit_clauses.clj:164)"
  "query_processor.middleware.upgrade_field_literals$upgrade_field_literals$fn__47974.invoke(upgrade_field_literals.clj:117)"
  "query_processor.middleware.add_source_metadata$add_source_metadata_for_source_queries$fn__47331.invoke(add_source_metadata.clj:125)"
  "query_processor.middleware.reconcile_breakout_and_order_by_bucketing$reconcile_breakout_and_order_by_bucketing$fn__50888.invoke(reconcile_breakout_and_order_by_bucketing.clj:100)"
  "query_processor.middleware.auto_bucket_datetimes$auto_bucket_datetimes$fn__48975.invoke(auto_bucket_datetimes.clj:147)"
  "query_processor.middleware.resolve_source_table$resolve_source_tables$fn__45909.invoke(resolve_source_table.clj:45)"
  "query_processor.middleware.parameters$substitute_parameters$fn__48629.invoke(parameters.clj:109)"
  "query_processor.middleware.resolve_referenced$resolve_referenced_card_resources$fn__45982.invoke(resolve_referenced.clj:79)"
  "query_processor.middleware.expand_macros$expand_macros$fn__52250.invoke(expand_macros.clj:184)"
  "query_processor.middleware.add_timezone_info$add_timezone_info$fn__48409.invoke(add_timezone_info.clj:15)"
  "query_processor.middleware.splice_params_in_response$splice_params_in_response$fn__51201.invoke(splice_params_in_response.clj:32)"
  "query_processor.middleware.resolve_database_and_driver$resolve_database_and_driver$fn__50648$fn__50653.invoke(resolve_database_and_driver.clj:35)"
  "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__50648.invoke(resolve_database_and_driver.clj:34)"
  "query_processor.middleware.fetch_source_query$resolve_card_id_source_tables$fn__46528.invoke(fetch_source_query.clj:286)"
  "query_processor.middleware.store$initialize_store$fn__46719$fn__46720.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__46719.invoke(store.clj:10)"
  "query_processor.middleware.validate$validate_query$fn__50983.invoke(validate.clj:10)"
  "query_processor.middleware.normalize_query$normalize$fn__50990.invoke(normalize_query.clj:22)"
  "query_processor.middleware.add_rows_truncated$add_rows_truncated$fn__48355.invoke(add_rows_truncated.clj:35)"
  "query_processor.middleware.results_metadata$record_and_return_metadata_BANG_$fn__49646.invoke(results_metadata.clj:82)"
  "query_processor.middleware.constraints$add_default_userland_constraints$fn__48373.invoke(constraints.clj:42)"
  "query_processor.middleware.process_userland_query$process_userland_query$fn__50924.invoke(process_userland_query.clj:146)"
  "query_processor.middleware.catch_exceptions$catch_exceptions$fn__51281.invoke(catch_exceptions.clj:169)"
  "query_processor.reducible$async_qp$qp_STAR___43280$thunk__43281.invoke(reducible.clj:103)"
  "query_processor.reducible$async_qp$qp_STAR___43280$fn__43283.invoke(reducible.clj:108)"],
 :card_id 827,
 :context :question,
 :error
 "Column \"source.Products with a very long name - Product ID with a _91e62981\" not found; SQL statement:\n-- Metabase:: userID: 1 queryType: MBQL queryHash: 326c1425ad67a9484cb072582d290a6601baebf3a9062d42280c1f21583f6ced\nSELECT \"source\".\"Products with a very long name - Product ID with a _91e62981\" AS \"Products with a very long name - Product ID with a _91e62981\", \"source\".\"count\" AS \"count\" FROM (SELECT \"Products with a very long name - Product ID with a _d8fb51ae\".\"CATEGORY\" AS \"Products with a very long name - Product ID with a _946f7441\", count(*) AS \"count\" FROM \"PUBLIC\".\"ORDERS\" LEFT JOIN \"PUBLIC\".\"PRODUCTS\" \"Products with a very long name - Product ID with a _d8fb51ae\" ON \"PUBLIC\".\"ORDERS\".\"PRODUCT_ID\" = \"Products with a very long name - Product ID with a _d8fb51ae\".\"ID\" GROUP BY \"Products with a very long name - Product ID with a _d8fb51ae\".\"CATEGORY\" ORDER BY \"Products with a very long name - Product ID with a _d8fb51ae\".\"CATEGORY\" ASC) \"source\" WHERE \"source\".\"count\" > 0 LIMIT 2000 [42122-197]",
 :row_count 0,
 :running_time 0,
 :preprocessed
 {:constraints {:max-results 10000, :max-results-bare-rows 2000},
  :type :query,
  :middleware {:js-int-to-string? true, :ignore-cached-results? false, :process-viz-settings? false},
  :info
  {:executed-by 1,
   :context :question,
   :card-id 827,
   :card-name "Nested query aliasing fails with long names in 42",
   :query-hash
   [50, 108, 20, 37, -83, 103, -87, 72, 76, -80, 114, 88, 45, 41, 10, 102, 1, -70, -21, -13, -87, 6, 45, 66, 40, 12,
    31, 33, 88, 63, 108, -19]},
  :database 1,
  :query
  {:filter [:> [:field "count" {:base-type :type/Integer}] [:value 0 {:base_type :type/Integer}]],
   :source-metadata
   [{:semantic_type :type/Category,
     :table_id 1,
     :coercion_strategy nil,
     :name "CATEGORY",
     :settings nil,
     :field_ref [:field 6 {:join-alias "Products with a very long name - Product ID with a _598bd25b"}],
     :effective_type :type/Text,
     :parent_id nil,
     :id 6,
     :display_name "Products with a very long name - Product ID with a _598bd25b → Category",
     :fingerprint
     {:global {:distinct-count 4, :nil% 0.0},
      :type
      {:type/Text
       {:percent-json 0.0, :percent-url 0.0, :percent-email 0.0, :percent-state 0.0, :average-length 6.375}}},
     :base_type :type/Text,
     :source_alias "Products with a very long name - Product ID with a _598bd25b"}
    {:name "count",
     :display_name "Count",
     :base_type :type/BigInteger,
     :semantic_type :type/Quantity,
     :field_ref [:aggregation 0]}],
   :fields
   [[:field 6 {:join-alias "Products with a very long name - Product ID with a _598bd25b"}]
    [:field "count" {:base-type :type/BigInteger}]],
   :source-query
   {:source-table 2,
    :aggregation [[:aggregation-options [:count] {:name "count"}]],
    :breakout [[:field 6 {:join-alias "Products with a very long name - Product ID with a _d8fb51ae"}]],
    :order-by [[:asc [:field 6 {:join-alias "Products with a very long name - Product ID with a _d8fb51ae"}]]],
    :joins
    [{:strategy :left-join,
      :fields
      [[:field 6 {:join-alias "Products with a very long name - Product ID with a _d8fb51ae"}]
       [:field 7 {:temporal-unit :default, :join-alias "Products with a very long name - Product ID with a _d8fb51ae"}]
       [:field 1 {:join-alias "Products with a very long name - Product ID with a _d8fb51ae"}]
       [:field 4 {:join-alias "Products with a very long name - Product ID with a _d8fb51ae"}]
       [:field 3 {:join-alias "Products with a very long name - Product ID with a _d8fb51ae"}]
       [:field 2 {:join-alias "Products with a very long name - Product ID with a _d8fb51ae"}]
       [:field 5 {:join-alias "Products with a very long name - Product ID with a _d8fb51ae"}]
       [:field 8 {:join-alias "Products with a very long name - Product ID with a _d8fb51ae"}]],
      :source-table 1,
      :condition
      [:= [:field 11 nil] [:field 4 {:join-alias "Products with a very long name - Product ID with a _d8fb51ae"}]],
      :alias "Products with a very long name - Product ID with a _d8fb51ae"}]},
   :limit 2000},
  :async? true},
 :data {:rows [], :cols []}}

2022-02-18 15:08:30,811 DEBUG middleware.log :: POST /api/card/827/query 202 [ASYNC: completed] 2.3 s (17 DB calls) App DB connections: 0/4 Jetty threads: 3/50 (2 idle, 0 queued) (50 total active threads) Queries in flight: 0 (0 queued); h2 DB 1 connections: 0/0 (0 threads blocked)

Information about your Metabase Installation:
Tested 0.41.6 thru 0.42.1 - regression since 0.42.1

Additional context
Feels related to #20610, but that one is BigQuery specific

@flamber flamber added Type:Bug Product defects Priority:P1 Security holes w/o exploit, crashing, setup/upgrade, login, broken common features, correctness Querying/Nested Queries Questions based on other saved questions .Backend .Regression Bugs that were previously fixed and/or bugs unintentionally shipped with new features. labels Feb 18, 2022
@nemanjaglumac nemanjaglumac added this to Backlog in Cypress Testing Feb 18, 2022
nemanjaglumac added a commit that referenced this issue Feb 18, 2022
nemanjaglumac added a commit that referenced this issue Feb 21, 2022
@nemanjaglumac nemanjaglumac added the .Reproduced Issues reproduced in test (usually Cypress) label Feb 21, 2022
github-actions bot pushed a commit that referenced this issue Feb 21, 2022
nemanjaglumac pushed a commit that referenced this issue Feb 21, 2022
@flamber flamber added this to the 0.42.2 milestone Feb 23, 2022
This was referenced Feb 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
.Backend Priority:P1 Security holes w/o exploit, crashing, setup/upgrade, login, broken common features, correctness Querying/Nested Queries Questions based on other saved questions .Regression Bugs that were previously fixed and/or bugs unintentionally shipped with new features. .Reproduced Issues reproduced in test (usually Cypress) Type:Bug Product defects
Projects
Development

Successfully merging a pull request may close this issue.

3 participants