Skip to content

Use Arel-native nulls order

Aleksei Lipniagov requested to merge 357245-use-arel-native-nulls-order into master

What does this MR do and why?

The MR removes

  • Gitlab::Database.nulls_order
  • Gitlab::Database.nulls_first_order
  • Gitlab::Database.nulls_last_order
    ... implementations in favour of Arel-native implementations of the same.

Related to #357245 (closed), where we discover that our custom Gitlab::Database implementation causes issues with table aliasing on Ruby 3.

We already had an open issue for that too (unrelated to Ruby 3): #356644 (closed)

How to set up and validate locally

  • Careful review of the changes 👀
  • Needs a review from database.
  • For queries under the question, we need to compare both old and new query produced SQL.

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