Search Postgresql Archives

cast to domain with default collation issue.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 |


=> \d collate_test2

            Table "test.collate_test2"

 Column |  Type   | Collation | Nullable | Default

--------+---------+-----------+----------+---------

 a      | integer |           |          |

 b      | text    | sv-x-icu  |          |


=> \d collate_test3

            Table "test.collate_test3"

 Column |  Type   | Collation | Nullable | Default

--------+---------+-----------+----------+---------

 a      | integer |           |          |

 b      | text    | C         |          |
-----------------------------------------------

My guess is that the following should be the same. Since the same content in the end will be cast to the same collation. However the following output contradicts with my understanding. 


SELECT a, b::testdomain FROM collate_test1 ORDER BY 2;

/*

 +---+-----+

| a |  b  |

+---+-----+

| 1 | abc |

| 4 | ABC |

| 2 | äbc |

| 3 | bbc |

+---+-----+

 */

SELECT a, b::testdomain FROM collate_test2 ORDER BY 2;

/*

 +---+-----+

| a |  b  |

+---+-----+

| 1 | abc |

| 4 | ABC |

| 3 | bbc |

| 2 | äbc |

+---+-----+

 */

SELECT a, b::testdomain FROM collate_test3 ORDER BY 2;


/*

 +---+-----+

| a |  b  |

+---+-----+

| 4 | ABC |

| 1 | abc |

| 3 | bbc |

| 2 | äbc |

+---+-----+

 */



--
 I recommend David Deutsch's <<The Beginning of Infinity>>

  Jian



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux