Re: cast to domain with default collation issue.

Поиск
Список
Период
Сортировка
От David G. Johnston
Тема Re: cast to domain with default collation issue.
Дата
Msg-id CAKFQuwYG1tfmo=Y-Qg0fh9jmtGsW59p_BbypDbHMFZiYdKm_ag@mail.gmail.com
обсуждение исходный текст
Ответ на Re: cast to domain with default collation issue.  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: cast to domain with default collation issue.  (Tom Lane <tgl@sss.pgh.pa.us>)
Список 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 по дате отправления:

Предыдущее
От: Andreas Joseph Krogh
Дата:
Сообщение: Re: Logical replication of large objects
Следующее
От: "David G. Johnston"
Дата:
Сообщение: Re: Row level security insert policy does not validate update new values/content?