Re: cast to domain with default collation issue. - Mailing list pgsql-general

From David G. Johnston
Subject Re: cast to domain with default collation issue.
Date
Msg-id CAKFQuwYG1tfmo=Y-Qg0fh9jmtGsW59p_BbypDbHMFZiYdKm_ag@mail.gmail.com
Whole thread Raw
In response to Re: cast to domain with default collation issue.  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: cast to domain with default collation issue.
List pgsql-general
On Tue, May 24, 2022 at 7:42 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
I wrote:
> Perhaps this should be documented more clearly, but it's not obviously
> wrong.  If the domain declaration doesn't include an explicit COLLATE
> then casting to the domain doesn't create an explicit collation
> requirement.  (That is, the domain *doesn't* have a specific
> collation attached to it, any more than type text does.)

Perhaps we could improve matters like this?

diff --git a/doc/src/sgml/ref/create_domain.sgml b/doc/src/sgml/ref/create_domain.sgml
index 81a8924926..e4b856d630 100644
--- a/doc/src/sgml/ref/create_domain.sgml
+++ b/doc/src/sgml/ref/create_domain.sgml
@@ -94,7 +94,8 @@ CREATE DOMAIN <replaceable class="parameter">name</replaceable> [ AS ] <replacea
       <listitem>
        <para>
         An optional collation for the domain.  If no collation is
-        specified, the underlying data type's default collation is used.
+        specified, the domain has the same collation behavior as its
+        underlying data type.
         The underlying type must be collatable if <literal>COLLATE</literal>
         is specified.
        </para>


+1

The lack of any explicitness pushes evaluation down to the base type - which is a behavioral thing as opposed to some kind of attribute it possesses.

David J.

pgsql-general by date:

Previous
From: Andreas Joseph Krogh
Date:
Subject: Re: Logical replication of large objects
Next
From: "David G. Johnston"
Date:
Subject: Re: Row level security insert policy does not validate update new values/content?