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
What does:
SELECT numrange( qtep1+1 , qtep2, '[]') AS rangep FROM paliers
WHERE idcontrat=1003
return?
It returns:
(,)
(as expected)
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
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