Recursive CTE and collation

From: Sébastien Lardière <sebastien(at)lardiere(dot)net>
To: pgsql-bugs(at)lists(dot)postgresql(dot)org
Cc: fluca1978(at)gmail(dot)com
Subject: Recursive CTE and collation
Date: 2019-06-14 09:22:57
Message-ID: 97aa6131-7f79-a29b-1bb3-7e87b2f4f50c@lardiere.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Hi,

While playing with the query showed here :
https://fluca1978.github.io/2019/06/12/PartitioningCTE.html

I've seen something strange with v12 (actually compiled after
f43608bda2111a1fda514d1bed4df313ee2bbec3 so more recent than beta1) :

psql: ERROR:  recursive query "inheritance_tree" column 3 has collation
"default" in non-recursive term but collation "C" overall
LINE 4:             , NULL::text AS table_parent_name
                      ^
HINT:  Use the COLLATE clause to set the collation of the non-recursive
term.

It work correctly with 11, and with 12, we can workaround by adding
COLLATE "C" after NULL::text, so I don't know if it's a bug or a new
feature, but it break things, at least.

The database I use is created with en_US collation :

testpart=# \l
 testpart  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |

testpart=# show lc_collate ;
 lc_collate 
-------------
 en_US.UTF-8

regards,

--

Sébastien

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2019-06-14 13:39:32 Re: Recursive CTE and collation
Previous Message Feike Steenbergen 2019-06-14 08:26:35 Re: BUG #15847: Running out of memory when planning full outer joins involving many partitions