ActiveRecord::StatementInvalid: PG::GroupingError: ERROR: column "merge_request_metrics.merged_at" must appear in the GROUP BY c...
https://sentry.gitlab.net/gitlab/gitlabcom/issues/1024801/
PG::GroupingError: ERROR: column "merge_request_metrics.merged_at" must appear in the GROUP BY clause or be used in an aggregate function
LINE 1: SELECT DATE_PART('day', merge_request_metrics.merged_at - me...
^
active_record/connection_adapters/postgresql_adapter.rb:611:in `async_exec_params'
@connection.exec_params(sql, type_casted_binds)
active_record/connection_adapters/postgresql_adapter.rb:611:in `block (2 levels) in exec_no_cache'
@connection.exec_params(sql, type_casted_binds)
active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads'
yield
active_support/concurrency/share_lock.rb:187:in `yield_shares'
yield
active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads'
@lock.yield_shares(compatible: [:load]) do
...
(149 additional frame(s) were not displayed)
ActiveRecord::StatementInvalid: PG::GroupingError: ERROR: column "merge_request_metrics.merged_at" must appear in the GROUP BY clause or be used in an aggregate function
LINE 1: SELECT DATE_PART('day', merge_request_metrics.merged_at - me...
^
: SELECT DATE_PART('day', merge_request_metrics.merged_at - merge_requests.created_at) as metric, merge_requests.id, merge_request_metrics.merged_at FROM "merge_requests" INNER JOIN "projects" ON "projects"."id" = "merge_requests"."target_project_id" INNER JOIN "label_links" ON "label_links"."target_id" = "merge_requests"."id" AND "label_links"."target_type" = 'MergeRequest' INNER JOIN "labels" ON "labels"."id" = "label_links"."label_id" INNER JOIN "merge_request_metrics" ON "merge_request_metrics"."merge_request_id" = "merge_requests"."id" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" IN (WITH RECURSIVE "base_and_descendants" AS (SELECT "namespaces".* FROM "namespaces" WHERE "namespaces"."type" IN ('Group') AND "namespaces"."id" = 3863477
UNION
SELECT "namespaces".* FROM "namespaces", "base_and_descendants" WHERE "namespaces"."type" IN ('Group') AND "namespaces"."parent_id" = "base_and_descendants"."id") SELECT "namespaces"."id" FROM "base_and_descendants" AS "namespaces") AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2951983 AND (project_authorizations.project_id = projects.id) AND (project_authorizations.access_level >= 20)) OR projects.visibility_level IN (10,20)) AND ("project_features"."merge_requests_access_level" IS NULL OR "project_features"."merge_requests_access_level" IN (20,30) OR ("project_features"."merge_requests_access_level" = 10 AND EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2951983 AND (project_authorizations.project_id = projects.id) AND (project_authorizations.access_level >= 20)))) AND ("merge_requests"."state_id" IN (3)) AND "labels"."title" IN ('P1', 'ILO priority') AND "merge_request_metrics"."merged_at" >= '2019-08-22 00:00:00' AND "merge_request_metrics"."merged_at" <= '2019-10-21 23:59:59' GROUP BY "merge_requests"."id" HAVING (COUNT(DISTINCT labels.title) = 2) ORDER BY merge_request_metrics.merged_at ASC
ActiveRecord::StatementInvalid: PG::GroupingError: ERROR: column "merge_request_metrics.merged_at" must appear in the GROUP BY clause or be used in an aggregate function
LINE 1: SELECT DATE_PART('day', merge_request_metrics.merged_at - me...
^
: SELECT DATE_PART('day', merge_request_metrics.merged_at - merge_requests.created_at) as metric, merge_requests.id, merge_request_metrics.merged_at FROM "merge_requests" INNER JOIN "projects" ON "projects"."id" = "merge_requests"."target_project_id" INNER JOIN "label_links" ON "label_links"."target_id" = "merge_requests"."id" AND "label_links"."target_type" = 'MergeRequest' INNER JOIN "labels" ON "labels"."id" = "label_links"."label_id" INNER JOIN "merge_request_metrics" ON "merge_request_metrics"."merge_request_id" = "merge_requests"."id" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" IN (WITH RECURSIVE "base_and_descendants" AS (SELECT "namespaces".* FROM "namespaces" WHERE "namespaces"."type" IN ('Group') AND "namespaces"."id" = 3863477
UNION
SELECT "namespaces".* FROM "namespaces", "base_and_descendants" WHERE "namespaces"."type" IN ('Group') AND "namespaces"."parent_id" = "base_and_descendants"."id") SELECT "namespaces"."id" FROM "base_and_descendants" AS "namespaces") AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2951983 AND (project_authorizations.project_id = projects.id) AND (project_authorizations.access_level >= 20)) OR projects.visibility_level IN (10,20)) AND ("project_features"."merge_requests_access_level" IS NULL OR "project_features"."merge_requests_access_level" IN (20,30) OR ("project_features"."merge_requests_access_level" = 10 AND EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2951983 AND (project_authorizations.project_id = projects.id) AND (project_authorizations.access_level >= 20)))) AND ("merge_requests"."state_id" IN (3)) AND "labels"."title" IN ('P1', 'ILO priority') AND "merge_request_metrics"."merged_at" >= '2019-08-22 00:00:00' AND "merge_request_metrics"."merged_at" <= '2019-10-21 23:59:59' GROUP BY "merge_requests"."id" HAVING (COUNT(DISTINCT labels.title) = 2) ORDER BY merge_request_metrics.merged_at ASC