I try to fix foreign_data regression test for Czech locale (HEAD). For
example I replaced 

SELECT * FROM information_schema.user_mapping_options ORDER BY 1, 2, 3,
4;

with following statement:

SELECT * FROM information_schema.user_mapping_options ORDER BY 1, 2,
3::name, 4;

which should use C sorting rules on thirds column, but it look likes
that third column is ignored. See diff:

  (4 rows)
  
  SET ROLE regress_test_role;
! 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             | st1                 | 
modified    | 1
   regress_test_role        | regression             | s5                  | 
modified    | 1
-  regress_test_role        | regression             | s6                  | 
username    | test
   regress_test_role        | regression             | st1                 | 
password    | boo
   regress_test_role        | regression             | st1                 | 
username    | bob
  (5 rows)
  
--- 711,723 ----
  (4 rows)
  
  SET ROLE regress_test_role;
! SELECT * FROM information_schema.user_mapping_options ORDER BY 1, 2, 3::name, 
4;
   authorization_identifier | foreign_server_catalog | foreign_server_name | 
option_name | option_value 
  
--------------------------+------------------------+---------------------+-------------+--------------
   PUBLIC                   | regression             | st1                 | 
modified    | 1
   regress_test_role        | regression             | s5                  | 
modified    | 1
   regress_test_role        | regression             | st1                 | 
password    | boo
+  regress_test_role        | regression             | s6                  | 
username    | test
   regress_test_role        | regression             | st1                 | 
username    | bob
  (5 rows)
  

Is it bug or I overlook something?

        Zdenek

PS: Regression test patch is attached.




*** pgsql.orig.3b9482182009/src/test/regress/sql/foreign_data.sql	2009-02-15 21:41:53.423041398 +0100
--- /export/home/zk200664/work/mercurial/pgsql.orig/src/test/regress/sql/foreign_data.sql	2009-02-02 20:31:16.104197100 +0100
***************
*** 262,280 ****
  
  SELECT * FROM information_schema.foreign_data_wrappers ORDER BY 1, 2;
  SELECT * FROM information_schema.foreign_data_wrapper_options ORDER BY 1, 2, 3;
! SELECT * FROM information_schema.foreign_servers ORDER BY 1, 2;
! SELECT * FROM information_schema.foreign_server_options ORDER BY 1, 2, 3;
! SELECT * FROM information_schema.user_mappings ORDER BY lower(authorization_identifier), 2, 3;
! SELECT * FROM information_schema.user_mapping_options ORDER BY lower(authorization_identifier), 2, 3, 4;
  SELECT * FROM information_schema.usage_privileges WHERE object_type LIKE 'FOREIGN%' ORDER BY 1, 2, 3, 4, 5;
  SELECT * FROM information_schema.role_usage_grants WHERE object_type LIKE 'FOREIGN%' ORDER BY 1, 2, 3, 4, 5;
  SET ROLE regress_test_role;
! SELECT * FROM information_schema.user_mapping_options ORDER BY 1, 2, 3, 4;
  SELECT * FROM information_schema.usage_privileges WHERE object_type LIKE 'FOREIGN%' ORDER BY 1, 2, 3, 4, 5;
  SELECT * FROM information_schema.role_usage_grants WHERE object_type LIKE 'FOREIGN%' ORDER BY 1, 2, 3, 4, 5;
  DROP USER MAPPING FOR current_user SERVER st1;
  SET ROLE regress_test_role2;
! SELECT * FROM information_schema.user_mapping_options ORDER BY 1, 2, 3, 4;
  RESET ROLE;
  
  
--- 262,280 ----
  
  SELECT * FROM information_schema.foreign_data_wrappers ORDER BY 1, 2;
  SELECT * FROM information_schema.foreign_data_wrapper_options ORDER BY 1, 2, 3;
! SELECT * FROM information_schema.foreign_servers ORDER BY 1, 2::name;
! SELECT * FROM information_schema.foreign_server_options ORDER BY 1, 2::name, 3;
! SELECT * FROM information_schema.user_mappings ORDER BY lower(authorization_identifier), 2, 3::name;
! SELECT * FROM information_schema.user_mapping_options ORDER BY lower(authorization_identifier), 2, 3::name, 4;
  SELECT * FROM information_schema.usage_privileges WHERE object_type LIKE 'FOREIGN%' ORDER BY 1, 2, 3, 4, 5;
  SELECT * FROM information_schema.role_usage_grants WHERE object_type LIKE 'FOREIGN%' ORDER BY 1, 2, 3, 4, 5;
  SET ROLE regress_test_role;
! SELECT * FROM information_schema.user_mapping_options ORDER BY 1, 2, 3::name, 4;
  SELECT * FROM information_schema.usage_privileges WHERE object_type LIKE 'FOREIGN%' ORDER BY 1, 2, 3, 4, 5;
  SELECT * FROM information_schema.role_usage_grants WHERE object_type LIKE 'FOREIGN%' ORDER BY 1, 2, 3, 4, 5;
  DROP USER MAPPING FOR current_user SERVER st1;
  SET ROLE regress_test_role2;
! SELECT * FROM information_schema.user_mapping_options ORDER BY 1, 2, 3::name, 4;
  RESET ROLE;
  
  
-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to