foreign_data test fails with non-C locale - Mailing list pgsql-hackers

From Heikki Linnakangas
Subject foreign_data test fails with non-C locale
Date
Msg-id 49675B3F.20002@enterprisedb.com
Whole thread Raw
Responses Re: foreign_data test fails with non-C locale  (Andrew Dunstan <andrew@dunslane.net>)
Re: foreign_data test fails with non-C locale  (Peter Eisentraut <peter_e@gmx.net>)
List pgsql-hackers
The foreign_data test case is failing when I run "make installcheck"
against a server that's been initialized with a locale other than C
(en_GB.UTF-8).

The reason is the different ordering of upper and lower case characters,
per attached diff file. We can simply add an alternative expected output
file, but I'd prefer not to if we can modify the test case instead. We
could rename some of the object so that they sort the same in all
locales, but that seems a bit awkward in this case.

--
   Heikki Linnakangas
   EnterpriseDB   http://www.enterprisedb.com
*** /home/hlinnaka/git-sandbox/pgsql/src/test/regress/expected/foreign_data.out    Fri Jan  9 13:11:06 2009
--- /home/hlinnaka/git-sandbox/pgsql/src/test/regress/results/foreign_data.out    Fri Jan  9 15:47:27 2009
***************
*** 658,667 ****
  SELECT * FROM information_schema.foreign_servers ORDER BY 1, 2;
   foreign_server_catalog | foreign_server_name | foreign_data_wrapper_catalog | foreign_data_wrapper_name |
foreign_server_type| foreign_server_version | authorization_identifier  

------------------------+---------------------+------------------------------+---------------------------+---------------------+------------------------+--------------------------
-  regression             | S6                  | regression                   | foo                       |
        |                        | foreign_data_user 
   regression             | s4                  | regression                   | foo                       | oracle
        |                        | foreign_data_user 
   regression             | s5                  | regression                   | foo                       |
        | 15.0                   | regress_test_role 
   regression             | s6                  | regression                   | foo                       |
        | 16.0                   | regress_test_indirect 
   regression             | s8                  | regression                   | postgresql                |
        |                        | foreign_data_user 
   regression             | st1                 | regression                   | foo                       |
        |                        | regress_test_indirect 
   regression             | st2                 | regression                   | foo                       |
        |                        | regress_test_role 
--- 658,667 ----
  SELECT * FROM information_schema.foreign_servers ORDER BY 1, 2;
   foreign_server_catalog | foreign_server_name | foreign_data_wrapper_catalog | foreign_data_wrapper_name |
foreign_server_type| foreign_server_version | authorization_identifier  

------------------------+---------------------+------------------------------+---------------------------+---------------------+------------------------+--------------------------
   regression             | s4                  | regression                   | foo                       | oracle
        |                        | foreign_data_user 
   regression             | s5                  | regression                   | foo                       |
        | 15.0                   | regress_test_role 
   regression             | s6                  | regression                   | foo                       |
        | 16.0                   | regress_test_indirect 
+  regression             | S6                  | regression                   | foo                       |
        |                        | foreign_data_user 
   regression             | s8                  | regression                   | postgresql                |
        |                        | foreign_data_user 
   regression             | st1                 | regression                   | foo                       |
        |                        | regress_test_indirect 
   regression             | st2                 | regression                   | foo                       |
        |                        | regress_test_role 
***************
*** 670,680 ****
  SELECT * FROM information_schema.foreign_server_options ORDER BY 1, 2, 3;
   foreign_server_catalog | foreign_server_name |   option_name    | option_value
  ------------------------+---------------------+------------------+--------------
-  regression             | S6                  | mixed_case_names | true
   regression             | s4                  | dbname           | b
   regression             | s4                  | host             | a
   regression             | s6                  | dbname           | b
   regression             | s6                  | host             | a
   regression             | s8                  | connect_timeout  | 30
   regression             | s8                  | dbname           | db1
  (7 rows)
--- 670,680 ----
  SELECT * FROM information_schema.foreign_server_options ORDER BY 1, 2, 3;
   foreign_server_catalog | foreign_server_name |   option_name    | option_value
  ------------------------+---------------------+------------------+--------------
   regression             | s4                  | dbname           | b
   regression             | s4                  | host             | a
   regression             | s6                  | dbname           | b
   regression             | s6                  | host             | a
+  regression             | S6                  | mixed_case_names | true
   regression             | s8                  | connect_timeout  | 30
   regression             | s8                  | dbname           | db1
  (7 rows)
***************
*** 682,693 ****
  SELECT * FROM information_schema.user_mappings ORDER BY 1, 2, 3;
   authorization_identifier | foreign_server_catalog | foreign_server_name
  --------------------------+------------------------+---------------------
   PUBLIC                   | regression             | s4
   PUBLIC                   | regression             | s8
   PUBLIC                   | regression             | st1
-  foreign_data_user        | regression             | S6
-  foreign_data_user        | regression             | s4
-  foreign_data_user        | regression             | s8
   regress_test_role        | regression             | s5
   regress_test_role        | regression             | s6
   regress_test_role        | regression             | st1
--- 682,693 ----
  SELECT * FROM information_schema.user_mappings ORDER BY 1, 2, 3;
   authorization_identifier | foreign_server_catalog | foreign_server_name
  --------------------------+------------------------+---------------------
+  foreign_data_user        | regression             | s4
+  foreign_data_user        | regression             | S6
+  foreign_data_user        | regression             | s8
   PUBLIC                   | regression             | s4
   PUBLIC                   | regression             | s8
   PUBLIC                   | regression             | st1
   regress_test_role        | regression             | s5
   regress_test_role        | regression             | s6
   regress_test_role        | regression             | st1
***************
*** 696,705 ****
  SELECT * FROM information_schema.user_mapping_options ORDER BY 1, 2, 3, 4;
   authorization_identifier | foreign_server_catalog | foreign_server_name | option_name |  option_value
  --------------------------+------------------------+---------------------+-------------+-----------------
-  PUBLIC                   | regression             | s4                  | mapping     | is public
-  PUBLIC                   | regression             | st1                 | modified    | 1
   foreign_data_user        | regression             | S6                  | username    | test_mixed_case
   foreign_data_user        | regression             | s8                  | password    | public
   regress_test_role        | regression             | s5                  | modified    | 1
   regress_test_role        | regression             | s6                  | username    | test
   regress_test_role        | regression             | st1                 | password    | boo
--- 696,705 ----
  SELECT * FROM information_schema.user_mapping_options ORDER BY 1, 2, 3, 4;
   authorization_identifier | foreign_server_catalog | foreign_server_name | option_name |  option_value
  --------------------------+------------------------+---------------------+-------------+-----------------
   foreign_data_user        | regression             | S6                  | username    | test_mixed_case
   foreign_data_user        | regression             | s8                  | password    | public
+  PUBLIC                   | regression             | s4                  | mapping     | is public
+  PUBLIC                   | regression             | st1                 | modified    | 1
   regress_test_role        | regression             | s5                  | modified    | 1
   regress_test_role        | regression             | s6                  | username    | test
   regress_test_role        | regression             | st1                 | password    | boo

======================================================================


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: about truncate
Next
From: Peter Eisentraut
Date:
Subject: Re: SET TRANSACTION and SQL Standard