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 ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers