Skip to content

Add code helper for selecting from a UNION

In a whole bunch of places we essentially have this pattern:

union = Gitlab::SQL::Union.new([foo, bar])

SomeModel.from("(#{union.to_sql}) #{SomeModel.table_name}")

This pattern exists because we found that selecting from a UNION, instead of a WHERE IN, produces more reliable / better query plans. Instead of repeating this particular pattern over and over, we should add some kind of from_union method that takes care of this.