Re: BUG #18568: BUG: Result wrong when do group by on partition table! - Mailing list pgsql-bugs

From Tender Wang
Subject Re: BUG #18568: BUG: Result wrong when do group by on partition table!
Date
Msg-id CAHewXNngCmzj8ObeYhYzTj56rDb2HAa-xv-Ekt=BNGJ-9rysGg@mail.gmail.com
Whole thread Raw
In response to Re: BUG #18568: BUG: Result wrong when do group by on partition table!  (Tender Wang <tndrwang@gmail.com>)
List pgsql-bugs


Tender Wang <tndrwang@gmail.com> 于2024年8月6日周二 16:42写道:
Yeah, I can reproduce $subject on HEAD.
But  I found this when debug into group_by_has_partkey(), as below:
call nodeToString(groupexprs):
VAR : varcollid 16384
call nodeToString(partexpr):
VAR: varcollid 16384

So the collid of partkey and groupexpr is same, so add check here may not fix this issue.

I continue to find out why the collation id of partkey is 16384(e.g. case_insensitive). The partkey expr info is
set in set_baserel_partition_key_exprs(), which it uses partkey->parttypcoll[cnt] value not  partkey->partcollation value.

And partkey->parttypcoll[cnt] is assigned from pg_attribute , which is the column c meta data. 
Should we use partkey->partcollation value?  I try to fix that in the attached patch. I add your case in the test, and I don't find
failed regress.

The plan seems not what we want, because I forgot to set enable_partitionwise_aggregate to true. 


--
Tender Wang
Attachment

pgsql-bugs by date:

Previous
From: Aleksander Alekseev
Date:
Subject: Re: BUG #18568: BUG: Result wrong when do group by on partition table!
Next
From: Daniel Gustafsson
Date:
Subject: Re: BUG #18569: Memory leak in Postgres Enterprise server