Fix ambiguous query error on milestone_id
What does this MR do?
This MR updates the scope in the Milestoneable
concern to reference the column according to our guidelines: https://docs.gitlab.com/ee/development/sql.html#reliably-referencing-database-columns
We noticed a problem where one of the Value Stream Analytics query raised the following error:
ActiveRecord::StatementInvalid - PG::AmbiguousColumn: ERROR: column reference "milestone_id" is ambiguous
The query joins issues
, merge_requests_closing_issues
and merge_requests
tables and adds a filter on milestone_id
. The column is available in both issues
and merge_requests
tables.
Related discussion: !37405 (comment 382700018)
I added an special test case that produces a similar query and asserts that the query is not raising error.
Does this MR meet the acceptance criteria?
Conformity
-
Changelog entry - [-] Documentation (if required)
-
Code review guidelines -
Merge request performance guidelines -
Style guides -
Database guides - [-] Separation of EE specific content
Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. - [-] Tested in all supported browsers
- [-] Informed Infrastructure department of a default or new setting change, if applicable per definition of done
Security
If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:
- [-] Label as security and @ mention
@gitlab-com/gl-security/appsec
- [-] The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
- [-] Security reports checked/validated by a reviewer from the AppSec team