Re: Exclude constraint on ranges : commutative containment : allowonly complete containment - Mailing list pgsql-general

From Adrian Klaver
Subject Re: Exclude constraint on ranges : commutative containment : allowonly complete containment
Date
Msg-id a1596542-a70f-818e-7f65-280837da31f5@aklaver.com
Whole thread Raw
In response to Exclude constraint on ranges : commutative containment : allow onlycomplete containment  (Achilleas Mantzios <achill@matrix.gatewaynet.com>)
Responses Re: Exclude constraint on ranges : commutative containment : allowonly complete containment
Re: Exclude constraint on ranges : commutative containment : allowonly complete containment
List pgsql-general
On 1/29/20 8:12 AM, Achilleas Mantzios wrote:
> 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'm missing something. Can you provide a more complete example?

> 
> 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
> 


-- 
Adrian Klaver
adrian.klaver@aklaver.com



pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: Performance Issue after upgrade from 9 to 11
Next
From: Michael Lewis
Date:
Subject: Re: Exclude constraint on ranges : commutative containment : allowonly complete containment