Strange behaviors with ranges

2024-08-27 Thread Jean-Christophe Boggio
Hello, I have 2 very confusing behaviors when using ranges. It all started with this query:     WITH rangespaliers AS (     SELECT numrange( qtep1+1   , qtep2,  '[]') AS rangep FROM paliers JOIN tmp_limitcontrats USING(idcontrat) --    SELECT numrange( qtep1+1   , qtep2,  '[]') AS rang

Re: Strange behaviors with ranges

2024-08-27 Thread Jean-Christophe Boggio
What does: SELECT numrange( qtep1+1   , qtep2,  '[]') AS rangep FROM paliers WHERE idcontrat=1003 return? It returns: (,) (as expected)

Re: Strange behaviors with ranges

2024-08-27 Thread Jean-Christophe BOGGIO
Le 27/08/2024 à 19:51, Torsten Förtsch a écrit : I guess this query comes back non-empty: SELECT * FROM paliers JOIN tmp_limitcontrats USING(idcontrat) WHERE qtep1 >= qtep2 Yes, it is empty if I keep tmp_limitcontrats to idcontrat=1003 Otherwise, you are right, there are irregular data but n

Re: Strange behaviors with ranges

2024-08-27 Thread Jean-Christophe BOGGIO
Paul, Le 27/08/2024 à 20:11, Paul Jungwirth a écrit : The issue is the order-of-operations used by the planner. If I put EXPLAIN on your last query, I see:  Hash Join  (cost=16.64..109.90 rows=2410 width=64)    Hash Cond: (tmp_limitcontrats.idcontrat = paliers.idcontrat)    ->  Seq Scan on tmp