I attached fix which modify foreign_data test. It fix problem with Czech
collation when numbers are ordered after letters. I retyped affected
column to name datatype which uses bitwise cmp.


        Zdenek 
diff -Nrc pgsql_psql.c3158b216657/src/test/regress/expected/foreign_data.out pgsql_psql/src/test/regress/expected/foreign_data.out
*** pgsql_psql.c3158b216657/src/test/regress/expected/foreign_data.out	2009-03-06 12:55:46.721051870 +0100
--- pgsql_psql/src/test/regress/expected/foreign_data.out	2009-03-06 12:55:46.726090204 +0100
***************
*** 628,634 ****
  (8 rows)
  
  -- Information schema
! SELECT * FROM information_schema.foreign_data_wrappers ORDER BY 1, 2;
   foreign_data_wrapper_catalog | foreign_data_wrapper_name | authorization_identifier | library_name | foreign_data_wrapper_language 
  ------------------------------+---------------------------+--------------------------+--------------+-------------------------------
   regression                   | dummy                     | foreign_data_user        |              | c
--- 628,634 ----
  (8 rows)
  
  -- Information schema
! SELECT * FROM information_schema.foreign_data_wrappers ORDER BY foreign_data_wrapper_catalog, foreign_data_wrapper_name;
   foreign_data_wrapper_catalog | foreign_data_wrapper_name | authorization_identifier | library_name | foreign_data_wrapper_language 
  ------------------------------+---------------------------+--------------------------+--------------+-------------------------------
   regression                   | dummy                     | foreign_data_user        |              | c
***************
*** 636,648 ****
   regression                   | postgresql                | foreign_data_user        |              | c
  (3 rows)
  
! SELECT * FROM information_schema.foreign_data_wrapper_options ORDER BY 1, 2, 3;
   foreign_data_wrapper_catalog | foreign_data_wrapper_name | option_name  | option_value 
  ------------------------------+---------------------------+--------------+--------------
   regression                   | foo                       | test_wrapper | true
  (1 row)
  
! 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
--- 636,648 ----
   regression                   | postgresql                | foreign_data_user        |              | c
  (3 rows)
  
! SELECT * FROM information_schema.foreign_data_wrapper_options ORDER BY foreign_data_wrapper_catalog, foreign_data_wrapper_name, option_name;
   foreign_data_wrapper_catalog | foreign_data_wrapper_name | option_name  | option_value 
  ------------------------------+---------------------------+--------------+--------------
   regression                   | foo                       | test_wrapper | true
  (1 row)
  
! SELECT * FROM information_schema.foreign_servers ORDER BY foreign_server_catalog, foreign_server_name::name;
   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
***************
*** 653,659 ****
   regression             | st2                 | regression                   | foo                       |                     |                        | regress_test_role
  (6 rows)
  
! 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
--- 653,659 ----
   regression             | st2                 | regression                   | foo                       |                     |                        | regress_test_role
  (6 rows)
  
! SELECT * FROM information_schema.foreign_server_options ORDER BY foreign_server_catalog, foreign_server_name::name, option_name;
   foreign_server_catalog | foreign_server_name |   option_name   | option_value 
  ------------------------+---------------------+-----------------+--------------
   regression             | s4                  | dbname          | b
***************
*** 664,670 ****
   regression             | s8                  | dbname          | db1
  (6 rows)
  
! SELECT * FROM information_schema.user_mappings ORDER BY lower(authorization_identifier), 2, 3;
   authorization_identifier | foreign_server_catalog | foreign_server_name 
  --------------------------+------------------------+---------------------
   foreign_data_user        | regression             | s4
--- 664,670 ----
   regression             | s8                  | dbname          | db1
  (6 rows)
  
! SELECT * FROM information_schema.user_mappings ORDER BY lower(authorization_identifier), foreign_server_catalog, foreign_server_name::name;
   authorization_identifier | foreign_server_catalog | foreign_server_name 
  --------------------------+------------------------+---------------------
   foreign_data_user        | regression             | s4
***************
*** 677,683 ****
   regress_test_role        | regression             | st1
  (8 rows)
  
! SELECT * FROM information_schema.user_mapping_options ORDER BY lower(authorization_identifier), 2, 3, 4;
   authorization_identifier | foreign_server_catalog | foreign_server_name | option_name | option_value 
  --------------------------+------------------------+---------------------+-------------+--------------
   foreign_data_user        | regression             | s8                  | password    | public
--- 677,683 ----
   regress_test_role        | regression             | st1
  (8 rows)
  
! SELECT * FROM information_schema.user_mapping_options ORDER BY lower(authorization_identifier), foreign_server_catalog, foreign_server_name::name, option_name;
   authorization_identifier | foreign_server_catalog | foreign_server_name | option_name | option_value 
  --------------------------+------------------------+---------------------+-------------+--------------
   foreign_data_user        | regression             | s8                  | password    | public
***************
*** 689,695 ****
   regress_test_role        | regression             | st1                 | username    | bob
  (7 rows)
  
! SELECT * FROM information_schema.usage_privileges WHERE object_type LIKE 'FOREIGN%' ORDER BY 1, 2, 3, 4, 5;
        grantor      |        grantee        | object_catalog | object_schema | object_name |     object_type      | privilege_type | is_grantable 
  -------------------+-----------------------+----------------+---------------+-------------+----------------------+----------------+--------------
   foreign_data_user | foreign_data_user     | regression     |               | foo         | FOREIGN DATA WRAPPER | USAGE          | YES
--- 689,695 ----
   regress_test_role        | regression             | st1                 | username    | bob
  (7 rows)
  
! SELECT * FROM information_schema.usage_privileges WHERE object_type LIKE 'FOREIGN%' ORDER BY grantor, grantee, object_catalog, object_schema, object_name;
        grantor      |        grantee        | object_catalog | object_schema | object_name |     object_type      | privilege_type | is_grantable 
  -------------------+-----------------------+----------------+---------------+-------------+----------------------+----------------+--------------
   foreign_data_user | foreign_data_user     | regression     |               | foo         | FOREIGN DATA WRAPPER | USAGE          | YES
***************
*** 698,704 ****
   foreign_data_user | regress_test_role2    | regression     |               | s6          | FOREIGN SERVER       | USAGE          | YES
  (4 rows)
  
! SELECT * FROM information_schema.role_usage_grants WHERE object_type LIKE 'FOREIGN%' ORDER BY 1, 2, 3, 4, 5;
        grantor      |        grantee        | object_catalog | object_schema | object_name |     object_type      | privilege_type | is_grantable 
  -------------------+-----------------------+----------------+---------------+-------------+----------------------+----------------+--------------
   foreign_data_user | foreign_data_user     | regression     |               | foo         | FOREIGN DATA WRAPPER | USAGE          | YES
--- 698,704 ----
   foreign_data_user | regress_test_role2    | regression     |               | s6          | FOREIGN SERVER       | USAGE          | YES
  (4 rows)
  
! SELECT * FROM information_schema.role_usage_grants WHERE object_type LIKE 'FOREIGN%' ORDER BY grantor, grantee, object_catalog, object_schema, object_name;
        grantor      |        grantee        | object_catalog | object_schema | object_name |     object_type      | privilege_type | is_grantable 
  -------------------+-----------------------+----------------+---------------+-------------+----------------------+----------------+--------------
   foreign_data_user | foreign_data_user     | regression     |               | foo         | FOREIGN DATA WRAPPER | USAGE          | YES
***************
*** 708,714 ****
  (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
--- 708,714 ----
  (4 rows)
  
  SET ROLE regress_test_role;
! SELECT * FROM information_schema.user_mapping_options ORDER BY authorization_identifier, foreign_server_catalog, foreign_server_name::name, option_name;
   authorization_identifier | foreign_server_catalog | foreign_server_name | option_name | option_value 
  --------------------------+------------------------+---------------------+-------------+--------------
   PUBLIC                   | regression             | st1                 | modified    | 1
***************
*** 718,731 ****
   regress_test_role        | regression             | st1                 | username    | bob
  (5 rows)
  
! SELECT * FROM information_schema.usage_privileges WHERE object_type LIKE 'FOREIGN%' ORDER BY 1, 2, 3, 4, 5;
        grantor      |        grantee        | object_catalog | object_schema | object_name |     object_type      | privilege_type | is_grantable 
  -------------------+-----------------------+----------------+---------------+-------------+----------------------+----------------+--------------
   foreign_data_user | regress_test_indirect | regression     |               | foo         | FOREIGN DATA WRAPPER | USAGE          | NO
   foreign_data_user | regress_test_role2    | regression     |               | s6          | FOREIGN SERVER       | USAGE          | YES
  (2 rows)
  
! SELECT * FROM information_schema.role_usage_grants WHERE object_type LIKE 'FOREIGN%' ORDER BY 1, 2, 3, 4, 5;
        grantor      |        grantee        | object_catalog | object_schema | object_name |     object_type      | privilege_type | is_grantable 
  -------------------+-----------------------+----------------+---------------+-------------+----------------------+----------------+--------------
   foreign_data_user | regress_test_indirect | regression     |               | foo         | FOREIGN DATA WRAPPER | USAGE          | NO
--- 718,731 ----
   regress_test_role        | regression             | st1                 | username    | bob
  (5 rows)
  
! SELECT * FROM information_schema.usage_privileges WHERE object_type LIKE 'FOREIGN%' ORDER BY grantor, grantee, object_catalog, object_schema, object_name;
        grantor      |        grantee        | object_catalog | object_schema | object_name |     object_type      | privilege_type | is_grantable 
  -------------------+-----------------------+----------------+---------------+-------------+----------------------+----------------+--------------
   foreign_data_user | regress_test_indirect | regression     |               | foo         | FOREIGN DATA WRAPPER | USAGE          | NO
   foreign_data_user | regress_test_role2    | regression     |               | s6          | FOREIGN SERVER       | USAGE          | YES
  (2 rows)
  
! SELECT * FROM information_schema.role_usage_grants WHERE object_type LIKE 'FOREIGN%' ORDER BY grantor, grantee, object_catalog, object_schema, object_name;
        grantor      |        grantee        | object_catalog | object_schema | object_name |     object_type      | privilege_type | is_grantable 
  -------------------+-----------------------+----------------+---------------+-------------+----------------------+----------------+--------------
   foreign_data_user | regress_test_indirect | regression     |               | foo         | FOREIGN DATA WRAPPER | USAGE          | NO
***************
*** 734,740 ****
  
  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;
   authorization_identifier | foreign_server_catalog | foreign_server_name | option_name | option_value 
  --------------------------+------------------------+---------------------+-------------+--------------
   regress_test_role        | regression             | s6                  | username    | 
--- 734,740 ----
  
  DROP USER MAPPING FOR current_user SERVER st1;
  SET ROLE regress_test_role2;
! SELECT * FROM information_schema.user_mapping_options ORDER BY authorization_identifier, foreign_server_catalog, foreign_server_name, option_name;
   authorization_identifier | foreign_server_catalog | foreign_server_name | option_name | option_value 
  --------------------------+------------------------+---------------------+-------------+--------------
   regress_test_role        | regression             | s6                  | username    | 
diff -Nrc pgsql_psql.c3158b216657/src/test/regress/sql/foreign_data.sql pgsql_psql/src/test/regress/sql/foreign_data.sql
*** pgsql_psql.c3158b216657/src/test/regress/sql/foreign_data.sql	2009-03-06 12:55:46.723698954 +0100
--- pgsql_psql/src/test/regress/sql/foreign_data.sql	2009-03-06 12:55:46.727194787 +0100
***************
*** 256,276 ****
  
  -- Information schema
  
! 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;
  
  
--- 256,276 ----
  
  -- Information schema
  
! SELECT * FROM information_schema.foreign_data_wrappers ORDER BY foreign_data_wrapper_catalog, foreign_data_wrapper_name;
! SELECT * FROM information_schema.foreign_data_wrapper_options ORDER BY foreign_data_wrapper_catalog, foreign_data_wrapper_name, option_name;
! SELECT * FROM information_schema.foreign_servers ORDER BY foreign_server_catalog, foreign_server_name::name;
! SELECT * FROM information_schema.foreign_server_options ORDER BY foreign_server_catalog, foreign_server_name::name, option_name;
! SELECT * FROM information_schema.user_mappings ORDER BY lower(authorization_identifier), foreign_server_catalog, foreign_server_name::name;
! SELECT * FROM information_schema.user_mapping_options ORDER BY lower(authorization_identifier), foreign_server_catalog, foreign_server_name::name, option_name;
! SELECT * FROM information_schema.usage_privileges WHERE object_type LIKE 'FOREIGN%' ORDER BY grantor, grantee, object_catalog, object_schema, object_name;
! SELECT * FROM information_schema.role_usage_grants WHERE object_type LIKE 'FOREIGN%' ORDER BY grantor, grantee, object_catalog, object_schema, object_name;
  SET ROLE regress_test_role;
! SELECT * FROM information_schema.user_mapping_options ORDER BY authorization_identifier, foreign_server_catalog, foreign_server_name::name, option_name;
! SELECT * FROM information_schema.usage_privileges WHERE object_type LIKE 'FOREIGN%' ORDER BY grantor, grantee, object_catalog, object_schema, object_name;
! SELECT * FROM information_schema.role_usage_grants WHERE object_type LIKE 'FOREIGN%' ORDER BY grantor, grantee, object_catalog, object_schema, object_name;
  DROP USER MAPPING FOR current_user SERVER st1;
  SET ROLE regress_test_role2;
! SELECT * FROM information_schema.user_mapping_options ORDER BY authorization_identifier, foreign_server_catalog, foreign_server_name, option_name;
  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