gitlab-org--gitlab-foss/app/models/concerns
Yorick Peterse 6ef87a2083
Merge issuable "reopened" state into "opened"
Having two states that essentially mean the same thing is very much like
having a boolean "true" and boolean "mostly-true": it's rather silly.
This commit merges the "reopened" state into the "opened" state while
taking care of system notes still showing messages along the lines of
"Alice reopened this issue".

A big benefit from having only two states (opened and closed) is that
indexing and querying becomes simpler and more performant. For example,
to get all the opened queries we no longer have to query both states:

    SELECT *
    FROM issues
    WHERE project_id = 2
    AND state IN ('opened', 'reopened');

Instead we can query a single state directly, which can be much faster:

    SELECT *
    FROM issues
    WHERE project_id = 2
    AND state = 'opened';

Further, only having two states makes indexing easier as we will only
ever filter (and thus scan an index) using a single value. Partial
indexes could help but aren't supported on MySQL, complicating the
development process and not being helpful for MySQL.
2017-07-28 13:31:51 +02:00
..
mentionable Improve support for external issue references 2017-06-30 14:47:53 +02:00
access_requestable.rb
avatarable.rb Use relative paths for group/project/user avatars 2017-05-10 15:26:17 +11:00
awardable.rb Added Cop to blacklist the use of dependent: 2017-07-06 12:01:36 +02:00
blob_like.rb Refactor Blob support of external storage in preparation of job artifact blobs 2017-05-03 10:20:05 -05:00
cache_markdown_field.rb Resolve "Lazy load images on the Frontend" 2017-07-24 17:36:52 +00:00
case_sensitivity.rb
created_at_filterable.rb refactor created at filter to use model scopes 2017-07-07 18:31:50 +02:00
discussion_on_diff.rb Address review 2017-05-24 10:10:10 -05:00
each_batch.rb Added EachBatch for iterating tables in batches 2017-07-07 16:39:36 +02:00
editable.rb Use Ghost user when edited_by, merged_by deleted 2017-07-19 11:35:17 +02:00
expirable.rb
faster_cache_keys.rb
feature_gate.rb Rename FLippable to FeatureGate and make flipper_group and user mutually exclusive 2017-06-27 18:59:51 +02:00
ghost_user.rb Move a user's award emoji to the ghost user 2017-04-06 18:59:17 +05:30
has_status.rb Check warnings when building compound status SQL query 2017-06-20 15:32:29 +02:00
has_variable.rb Decuplin 2017-06-28 15:20:50 +09:00
ignorable_column.rb Remove and ignore notes.original_discussion_id column 2017-04-05 17:44:14 +01:00
importable.rb Rename skip_metrics to imported on the importable concern 2017-04-03 15:50:22 -03:00
internal_id.rb Native group milestones 2017-07-07 15:08:49 +00:00
issuable.rb Merge issuable "reopened" state into "opened" 2017-07-28 13:31:51 +02:00
mentionable.rb Fix cross referencing for private and internal projects 2017-05-11 20:41:43 +02:00
milestoneish.rb Native group milestones 2017-07-07 15:08:49 +00:00
note_on_diff.rb Pass fallback_diff_refs to Diff::File instead of using view helpers 2017-05-23 15:37:05 -05:00
noteable.rb Resolve N+1 query issue with discussions 2017-05-29 16:08:05 -05:00
participable.rb
presentable.rb
project_features_compatibility.rb
protected_branch_access.rb Style changes to Ruby file 2017-05-12 11:41:44 +01:00
protected_ref.rb Merge branch '30634-protected-pipeline' into 'master' 2017-07-25 15:04:23 +00:00
protected_ref_access.rb Protected tags changes from backend maintainer review 2017-04-07 01:17:38 +01:00
protected_tag_access.rb Protected Tags backend review changes 2017-04-06 10:56:21 +01:00
reactive_caching.rb
reactive_service.rb
referable.rb
relative_positioning.rb Enable Style/DotPosition Rubocop 👮 2017-06-21 13:48:12 +00:00
repository_mirroring.rb Move methods that are not related to mirroring to the repository model 2017-04-03 15:50:22 -03:00
resolvable_discussion.rb Refactor resolvability checks based on type 2017-04-06 10:51:45 -05:00
resolvable_note.rb Refactor resolvability checks based on type 2017-04-06 10:51:45 -05:00
routable.rb Added Cop to blacklist the use of dependent: 2017-07-06 12:01:36 +02:00
select_for_project_authorization.rb Use CTEs for nested groups and authorizations 2017-05-17 16:51:08 +02:00
sha_attribute.rb Fix ShaAttribute concern when there is no table 2017-07-07 12:42:38 +01:00
sortable.rb Revert "Merge branch 'revert-2c879643' into 'master'" 2017-07-14 11:38:06 +00:00
spammable.rb Added Cop to blacklist the use of dependent: 2017-07-06 12:01:36 +02:00
strip_attribute.rb
subscribable.rb Added Cop to blacklist the use of dependent: 2017-07-06 12:01:36 +02:00
taskable.rb
time_trackable.rb Added Cop to blacklist the use of dependent: 2017-07-06 12:01:36 +02:00
token_authenticatable.rb
uniquify.rb Implement final review comments from @DouweM and @rymai 2017-02-24 16:50:20 +05:30
valid_attribute.rb