[Rails5] ActiveRecord::StatementInvalid: Mysql2::Error: Expression #1 of SELECT list is not in GROUP BY clause
Note: add
rails5
to a branch name to trigger rails5 specific CI jobs.
https://gitlab.com/jlemaes/gitlab-ce/-/jobs/77349922
Note: this is
MySQL
only problem. It's not reproducible on PostgreSQL.
1) Filter issues filter issues by milestone only milestone filters issues by upcoming milestones
Got 0 failures and 2 other errors:
1.1) Failure/Error:
rel
.group(:project_id)
.having('due_date = MIN(due_date)')
.pluck(:id, :project_id, :due_date)
.map(&:first)
ActiveRecord::StatementInvalid:
Mysql2::Error: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'gitlabhq_test.milestones.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by: SELECT `milestones`.`id`, `milestones`.`project_id`, `milestones`.`due_date` FROM `milestones` WHERE `milestones`.`project_id` = 24 AND (`milestones`.`state` IN ('active')) AND (due_date > '2018-06-25 23:04:18.168670') GROUP BY `milestones`.`project_id` HAVING (due_date = MIN(due_date))
# ./config/initializers/connection_fix.rb:20:in `execute'
# ./app/models/milestone.rb:136:in `upcoming_ids_by_projects'
# ./app/finders/issuable_finder.rb:404:in `by_milestone'
# ./app/finders/issuable_finder.rb:98:in `filter_items'
# ./app/finders/issues_finder.rb:65:in `filter_items'
# ./app/finders/issuable_finder.rb:77:in `execute'
# ./app/finders/concerns/finder_with_cross_project_access.rb:19:in `execute'
# ./app/controllers/concerns/issuable_collections.rb:51:in `issuables_collection'
# ./app/controllers/concerns/issuable_collections.rb:15:in `set_issuables_index'
# ./lib/gitlab/i18n.rb:51:in `with_locale'
# ./lib/gitlab/i18n.rb:57:in `with_user_locale'
# ./app/controllers/application_controller.rb:362:in `set_locale'
# ./lib/gitlab/middleware/multipart.rb:95:in `call'
# ./lib/gitlab/request_profiler/middleware.rb:14:in `call'
# ./lib/gitlab/query_limiting/middleware.rb:17:in `block in call'
# ./lib/gitlab/query_limiting/transaction.rb:37:in `run'
# ./lib/gitlab/query_limiting/middleware.rb:16:in `call'
# ./lib/gitlab/middleware/go.rb:17:in `call'
# ./lib/gitlab/etag_caching/middleware.rb:11:in `call'
# ./lib/gitlab/middleware/read_only/controller.rb:28:in `call'
# ./lib/gitlab/middleware/read_only.rb:16:in `call'
# ./lib/gitlab/request_context.rb:18:in `call'
# ./config/initializers/fix_local_cache_middleware.rb:9:in `call'
# ./lib/gitlab/middleware/static.rb:9:in `call'
# ./lib/gitlab/testing/request_inspector_middleware.rb:31:in `call'
# ./lib/gitlab/testing/request_blocker_middleware.rb:45:in `call'
# ./lib/gitlab/metrics/requests_rack_middleware.rb:27:in `call'
# ------------------
# --- Caused by: ---
# Mysql2::Error:
# Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'gitlabhq_test.milestones.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
# ./config/initializers/connection_fix.rb:20:in `execute'
1.2) Failure/Error: raise JSConsoleError, message
JSConsoleError:
Unexpected browser console output:
http://127.0.0.1:33539/namespace24/project24/issues?scope=all&utf8=%E2%9C%93&state=opened&milestone_title=%23upcoming - Failed to load resource: the server responded with a status of 500 (Internal Server Error)
# ./spec/support/capybara.rb:92:in `block (2 levels) in <top (required)>'
Finished in 9 minutes 33 seconds (files took 22.51 seconds to load)
884 examples, 1 failure, 25 pending
Failed examples:
rspec ./spec/features/issues/filtered_search/filter_issues_spec.rb:295 # Filter issues filter issues by milestone only milestone filters issues by upcoming milestones