Skip to content

Expect MATERIALIZED only on pg 12+ versions

What does this MR do and why?

Context: !86458 (comment 988406097)

We have a spec that fails only on pg11. ./spec/models/concerns/as_cte_spec.rb:30.
Example nightly failure on master: https://gitlab.com/gitlab-org/gitlab/-/jobs/2579873275

The problem is that we expect to match MATERIALIZED in the query we produce while we explicitly add this only on PG12: https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/database/as_with_materialized.rb#L22

More in: #245323 (closed)

The simplest solution is to avoid running the spec for PG_VERSION equals 11, only for 12+. PG11 is the oldest version we support.

The issue: #365170 (closed)

How to set up and validate locally

Run without and with ENV var locally:

Screenshot_2022-06-13_at_16.35.41

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Aleksei Lipniagov

Merge request reports