Add specs for snippet_repository replication helper
What does this MR do?
Fixes a bug in snippet repository replication caused by not returning a relation.
Reverts changes to ee/app/models/ee/snippet_repository.rb
from !49518 (merged) as adapting the more performant changes did not make the query better. And the more performant version does not support chained relations which causes issues.
I explored changing it to just the final from_union
instead of the find by sql union, but that query was less performant than the original, so I'm not going to worry about it.
We're not reverting the whole merge request because the index makes a very big difference.
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