Resolve cross join issues in services/merge_requests/create_from_vulnerability_data_service_spec.rb

Decomposition of some vulnerability tables has resulted in cross join issues in the listed service which have been allowed to progress anyways. Likely these will be resolvable simply once all the related tables have been decomposed to the correct schema.

NOTE: https://gitlab.com/gitlab-org/gitlab/-/blob/e2cb38b86854eba8b12c4a5c496029f72a2025b8/ee/app/services/vulnerabilities/security_finding/create_merge_request_service.rb#L18 references #480003 (closed), but it should reference Resolve cross join issues in ee/app/services/vu... (#480359 - closed) instead.

module Vulnerabilities
  module SecurityFinding
    class CreateMergeRequestService < ::BaseProjectService
      def execute
        enforce_authorization!

        @error_message = nil

        merge_request = nil
        Gitlab::Database::QueryAnalyzers::PreventCrossDatabaseModification.temporary_ignore_tables_in_transaction(
          %w[
            internal_ids
            merge_requests
            merge_request_user_mentions
            vulnerability_merge_request_links
          ], url: 'https://gitlab.com/gitlab-org/gitlab/-/issues/480003'
        ) do
          merge_request = ApplicationRecord.transaction do
            vulnerability = find_or_create_vulnerability
            create_merge_request(vulnerability).tap do |merge_request|
              create_vulnerability_merge_request_link(merge_request, vulnerability)
            end
          end
        end

Removing that temporary_ignore_tables_in_transaction makes ./ee/spec/services/vulnerabilities/security_finding/create_merge_request_service_spec.rb fail with CrossDatabaseModificationAcrossUnsupportedTablesError erros, which is totally in scope of Resolve cross join issues in ee/app/services/vu... (#480359 - closed).

Edited by Fabien Catteau