Opened 17 months ago
Last modified 4 months ago
#34701 closed New feature
Add support for NULLS [NOT] DISTINCT to UniqueConstraint — at Initial Version
Reported by: | Simon Charette | Owned by: | nobody |
---|---|---|---|
Component: | Database layer (models, ORM) | Version: | 4.2 |
Severity: | Normal | Keywords: | |
Cc: | Triage Stage: | Ready for checkin | |
Has patch: | yes | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
PostgresSQL 15 is one of the first databases to implement the F292 SQL feature present in the 2023 standard that allows to specify whether or not null values should be considered as distinct in unique constraints.
While most backends default to implicit NULLS DISTINCT
some backends don't, most notably SQL Server (cff59bedc23fd4d53557f677ddc42402b56963d0).
I suggest we add a nulls_distinct: Optional[bool]=None
option to UniqueConstraint
so it preserves it's default to backend treatment of nulls behaviour while allowing it to be set explicitly on backends that support it.