Support both integer and string as epic count key
What does this MR do?
Epic state uses enum for saving state (other issuables use
string), because of this inconsistency we override count_key
which should return state as string converted to symbol
(.e.g. :closed). In rails 5 these integer states are automatically
converted to strings by Active Record.
But if subquery is used (to optimize searching), Active Record doesn't convert state into string automatically (probably it can not deal with the more complex query).
This means that epic state can be either integer (if subquery is used)
or string (if AR converted state to string automatically), so in
count_key
we should convert state into string only if it's an integer.
What are the relevant issue numbers?
Closes #8824 (closed)
Does this MR meet the acceptance criteria?
-
Changelog entry added, if necessary -
Documentation created/updated -
Tests added for this feature/bug -
Conforms to the code review guidelines -
Conforms to the merge request performance guidelines -
Conforms to the style guides -
Conforms to the database guides -
Link to e2e tests MR added if this MR has Requires e2e tests label. See the Test Planning Process. -
EE specific content should be in the top level /ee
folder -
For a paid feature, have we considered GitLab.com plans, how it works for groups, and is there a design for promoting it to users who aren't on the correct plan? -
Security reports checked/validated by reviewer
Edited by Jan Provaznik