On 30/1/2024 04:45, Alexander Korotkov wrote:
> On Mon, Jan 29, 2024 at 11:32 PM David G. Johnston
> <david(dot)g(dot)johnston(at)gmail(dot)com> wrote:
>>
>> On Mon, Jan 29, 2024 at 9:19 AM David G. Johnston <david(dot)g(dot)johnston(at)gmail(dot)com> wrote:
>>>
>>> On Fri, Jan 26, 2024 at 5:36 PM David Rowley <dgrowleyml(at)gmail(dot)com> wrote:
>>>>
>>>> On Sat, 27 Jan 2024 at 13:19, David Rowley <dgrowleyml(at)gmail(dot)com> wrote:
>>>>> Are the results correct if you SET enable_presorted_aggregate=0;?
>>>>
>>>
>>> Apparently I didn't reply-all...
>>>
>>> Yes, the problem goes away when I disabled presorted_aggregate
>>>
>>> I'll see if that knowledge can help build a better reproducer.
>>>
>>
>> I've deferred doing a better reproducer for the moment, I reliably got:
>> initdb
>> psql --file ~/unionall-repro.sql
>> psql -c 'select * from rolegraph.role_graph_broken;'
>>
>> oid | role_type | rolname | rolsuper | administration
>> -------+-----------+--------------------+----------+-----------------------------------------------
>> 16390 | User | u6_green_leader_su | f | mog of g6a_fixedops_manager_su from superuser+
>> | | | | mog of g6c_service_manager_su from superuser +
>> | | | | mog of g6d_service_advisor_su from superuser +
>> | | | | mog of g6e_service_tech_su from superuser +
>> | | | | mog of g6c_service_manager_su from cr_admin
>> (1 row)
>>
>> to be produced for the bad bisect result and the correct nested result for *manager* to produce on the good result.
>
>
> Thank you for noticing. I'm investigating this.
Very curious bug. I simplified the test a bit (see in attachment), but
still can't replace system tables, like pg_authid, with a plain table.
Will try further.
--
regards,
Andrei Lepikhov
Postgres Professional