Re: cast to domain with default collation issue.
jian he <jian.universality@gmail.com>
From: jian he <jian.universality@gmail.com>
To: "David G. Johnston" <david.g.johnston@gmail.com>
Cc: "pgsql-general@postgresql.org" <pgsql-general@postgresql.org>
Date: 2022-05-25T05:58:28Z
Lists: pgsql-general
Otherwise, all input expressions must have the same implicit collation > derivation or the default collation. If any non-default collation is > present, that is the result of the collation combination. Otherwise, the > result is the default collation. > I think the above quote part can be used to explain the following examples. > CREATE TABLE test1 ( a text COLLATE "de_DE", b text COLLATE "es_ES", c > text ); > SELECT a < 'foo' FROM test1; SELECT c < 'foo' FROM test1; But the *non-default* seems not that correct for me. Like a column if it does not mention anything, then the default value is null. So * create table test111( a tex*t) The default collation for column a is the same as the output of *show lc_collate*. so there is no *non-default? * On Tue, May 24, 2022 at 10:43 AM David G. Johnston < david.g.johnston@gmail.com> wrote: > On Monday, May 23, 2022, jian he <jian.universality@gmail.com> wrote: > >> CREATE DOMAIN testdomain AS text; >> >> --asume the default collation is as per show LC_COLLATE; >> >> – on my pc, it is C.UTF-8. >> >> --So the testdomain will be collation "C.UTF-8" >> ------------ >> >> => \d collate_test1 >> >> Table "test.collate_test1" >> >> Column | Type | Collation | Nullable | Default >> >> --------+---------+-----------+----------+--------- >> >> a | integer | | | >> >> b | text | en-x-icu | not null | >> >> ----------------------------------------------- >> >> My guess is that the following should be the same. >> >> >> > My reading of the docs say this is consistent with outcome #2. > > https://www.postgresql.org/docs/current/collation.html > > David J. > > -- I recommend David Deutsch's <<The Beginning of Infinity>> Jian
Commits
-
Doc: clarify the default collation behavior of domains.
- e0047269a8c9 10.22 landed
- d6d9ea0a468b 13.8 landed
- d26ac35d0d7c 15.0 landed
- cc5de7ba255d 12.12 landed
- be35a6456901 14.5 landed
- a8c63282ddce 11.17 landed