On Thu, Apr 11, 2019 at 10:50 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
Jeevan Chalke <jeevan.chalke@enterprisedb.com> writes: > Do you mean, the code in get_collation_isdeterministic() should look like > something like below?
> If colloid = InvalidOid then > return TRUE > ELSE IF tuple is valid then > return collisdeterministic from the tuple > ELSE > return FALSE
I think it's appropriate to fail if we don't find a tuple, for any collation oid other than zero. Again, if you trace through the behavior of the longstanding collation check functions like lc_ctype_is_c(), you'll see that that's what happens (except for some hardwired OIDs that they have fast paths for).
OK.
Attached patch which treats "collation 0" as deterministic in get_collation_isdeterministic() and returns true, keeping rest of the code as is.
regards, tom lane
--
Jeevan Chalke Technical Architect, Product Development EnterpriseDB Corporation The Enterprise PostgreSQL Company