From: | Bruce Momjian <bruce(at)momjian(dot)us> |
---|---|
To: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Partition key causes problem for volatile target list query |
Date: | 2023-01-27 00:07:29 |
Message-ID: | Y9MVwS6byAbzpnEi@momjian.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
I have found an odd behavior --- a query in the target list that assigns
to a partitioned column causes queries that would normally be volatile
to return always zero.
In the first query, no partitioning is used:
d1 | d2
----+----
1 | 0
2 | 0
2 | 1
1 | 0
1 | 2
1 | 2
1 | 0
0 | 2
2 | 0
2 | 2
In the next query, 'd1' is a partition key and it gets a constant value
of zero for all rows:
d1 | d2
----+----
--> 0 | 1
--> 0 | 2
0 | 2
0 | 1
0 | 2
0 | 1
0 | 2
0 | 2
0 | 2
0 | 2
The self-contained query is attached. The value is _always_ zero, which
suggests random() is not being called; calling setseed() does not
change that. If I change "SELECT x" with "SELECT 2", the "2" is used.
I see this behavior back to PG 11.
--
Bruce Momjian <bruce(at)momjian(dot)us> https://momjian.us
EDB https://enterprisedb.com
Embrace your flaws. They make you human, rather than perfect,
which you will never be.
Attachment | Content-Type | Size |
---|---|---|
partition_test.sql | application/sql | 1.3 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Nathan Bossart | 2023-01-27 00:09:36 | Re: improving user.c error messages |
Previous Message | Jeff Davis | 2023-01-26 23:47:13 | Re: Rework of collation code, extensibility |