Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Возможность влиять на поведение null-ов при сортировке 🚀 #211

Open
mao29 opened this issue Nov 16, 2021 · 0 comments
Milestone

Comments

@mao29
Copy link

mao29 commented Nov 16, 2021

Цель

При сортировке по определенному полю может требоваться изменить поведение нуллов по-умолчанию (при сортировке по возрастанию нуллы в конце, при сортировке по убыванию нуллы в начале) на противоположное. Синтаксисы SQL некоторых СУБД поддерживают подобные настройки, например.
Необходимо поддержать такую настройку поведения сортировки в ORM.

Функциональные требования

  1. Добавить в механизм построения sql-запроса возможность прикладному разработчику настроить поведение нуллов при сортировке
  2. Реализовать поддержку данного поведения для PostgreSQL и MS SQL Server

Требования к реализации

  1. Предлагается в SortOrder добавить еще два значения: AscNullsFirst и DescNullsLast
  2. В PostgresDataService при построении запроса для случаев указанного нестандартного поведения нуллов использовать конструкцию [NULLS {FIRST | LAST}]
  3. В MSSQLDataService аналогичной конструкции нет, поэтому предлагается использовать например такой вариант

Исходный код

Проект на GitHub: https://github.com/Flexberry/NewPlatform.Flexberry.ORM

Документация

Добавить описание новых вариантов сортировки в документацию, где упоминается LoadingCustomizationStruct, ColumnsSortDef, SortOrder

Тесты

Реализовать тесты, проверяющие построение SQL-запросов для новых вариантов сортировки

Примерная оценка трудоёмкости

8ч.

Полезные ссылки

@bratchikov bratchikov added this to the 7.0 milestone Sep 13, 2022
@bratchikov bratchikov changed the title Возможность влиять на поведение null-ов при сортировке Возможность влиять на поведение null-ов при сортировке 🚀 Sep 13, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

No branches or pull requests

2 participants