Hello Dear Postgresql ppl,
I have a table with date ranges and need to express the following constraint : allow overlaps only if there is complete containment, e.g.
allow values in rows like :
[2020-01-01,2020-01-31)
[2020-01-02,2020-01-10)
[2020-01-10,2020-01-20)
but disallow rows like
[2020-01-02,2020-01-10)
[2020-01-08,2020-01-11)
I think that writing a new commutative range operator e.g. |<@@> which would return true if the left operand is either contained by or contains the right operand and false otherwise would solve this,
I am just wondering if there is a more elegant and economical way to express this. (besides writing a trigger which is always an option).|
--
Achilleas Mantzios
IT DEV Lead
IT DEPT
Dynacom Tankers Mgmt