On 7.3.2012 21:39, Robert Haas wrote:
> On Wed, Mar 7, 2012 at 3:08 PM, Tomas Vondra <t...@fuzzy.cz> wrote:
>> On 7.3.2012 17:56, Robert Haas wrote:
>>> On Tue, Mar 6, 2012 at 1:59 PM, Tomas Vondra <t...@fuzzy.cz> wrote:
>>>> I've noticed a locale-specific bug in regression tests, I discovered
>>>> thanks to the new "magpie" buildfarm member (testing "cs_CZ" locale).
>>>> The problem is in "foreign_data" where the output is sorted by a column,
>>>> and "cs_CZ" behaves differently from "C" and "en_US".
>>>>
>>>> More precisely, in "C" it's true that ('s4' < 'sc') but that's not true
>>>> in cs_CZ (and supposedly some other locales).
>>>>
>>>> I've fixed this by replacing 'sc' with 't0' which seems to fix the
>>>> ordering (and should work with other locales too). See the patch attached.
>>>
>>> This was fixed on master in commit
>>> 3e9a2672d25aed15ae6b4a09decbd8927d069868, but that picked the name s0
>>> rather than t0.  I suggest we make the same naming decision in the
>>> back-branch to avoid future confusion...
>>
>> Yes, that's a better solution - I haven't noticed that commit. Should I
>> prepare a modified patch or is it possible to apply the fix from master
>> to this branch?
> 
> I tried to cherry-pick it, but there were conflicts, so I guess
> someone will need to go through and adjust.  It's probably only 10
> minutes work, but if you don't mind doing it, I'd be grateful.

Ok, so here's a fixed patch. I haven't used the 3e9a2672 commit
directly, because there seem to be additional changes. I've simply
renamed the 'sc' to 's0' and fixed the differences in output.

Tomas
diff --git a/src/test/regress/expected/foreign_data.out 
b/src/test/regress/expected/foreign_data.out
index 2b3eddf..2d7e884 100644
--- a/src/test/regress/expected/foreign_data.out
+++ b/src/test/regress/expected/foreign_data.out
@@ -631,25 +631,25 @@ DROP SERVER s7;
 
 -- CREATE FOREIGN TABLE
 CREATE SCHEMA foreign_schema;
-CREATE SERVER sc FOREIGN DATA WRAPPER dummy;
+CREATE SERVER s0 FOREIGN DATA WRAPPER dummy;
 CREATE FOREIGN TABLE ft1 ();                                    -- ERROR
 ERROR:  syntax error at or near ";"
 LINE 1: CREATE FOREIGN TABLE ft1 ();
                                    ^
 CREATE FOREIGN TABLE ft1 () SERVER no_server;                   -- ERROR
 ERROR:  server "no_server" does not exist
-CREATE FOREIGN TABLE ft1 (c1 serial) SERVER sc;                 -- ERROR
+CREATE FOREIGN TABLE ft1 (c1 serial) SERVER s0;                 -- ERROR
 NOTICE:  CREATE FOREIGN TABLE will create implicit sequence "ft1_c1_seq" for 
serial column "ft1.c1"
 ERROR:  default values on foreign tables are not supported
-CREATE FOREIGN TABLE ft1 () SERVER sc WITH OIDS;                -- ERROR
+CREATE FOREIGN TABLE ft1 () SERVER s0 WITH OIDS;                -- ERROR
 ERROR:  syntax error at or near "WITH OIDS"
-LINE 1: CREATE FOREIGN TABLE ft1 () SERVER sc WITH OIDS;
+LINE 1: CREATE FOREIGN TABLE ft1 () SERVER s0 WITH OIDS;
                                               ^
 CREATE FOREIGN TABLE ft1 (
        c1 integer NOT NULL,
        c2 text,
        c3 date
-) SERVER sc OPTIONS (delimiter ',', quote '"');
+) SERVER s0 OPTIONS (delimiter ',', quote '"');
 COMMENT ON FOREIGN TABLE ft1 IS 'ft1';
 COMMENT ON COLUMN ft1.c1 IS 'ft1.c1';
 \d+ ft1
@@ -659,14 +659,14 @@ COMMENT ON COLUMN ft1.c1 IS 'ft1.c1';
  c1     | integer | not null  | plain    | ft1.c1
  c2     | text    |           | extended | 
  c3     | date    |           | plain    | 
-Server: sc
+Server: s0
 Has OIDs: no
 
 \det+
                 List of foreign tables
  Schema | Table | Server |          Options           
 --------+-------+--------+----------------------------
- public | ft1   | sc     | {"delimiter=,","quote=\""}
+ public | ft1   | s0     | {"delimiter=,","quote=\""}
 (1 row)
 
 CREATE INDEX id_ft1_c2 ON ft1 (c2);                             -- ERROR
@@ -737,7 +737,7 @@ Foreign table "foreign_schema.foreign_table_1"
  c7               | integer | 
  c8               | text    | 
  c10              | integer | 
-Server: sc
+Server: s0
 
 -- Information schema
 SELECT * FROM information_schema.foreign_data_wrappers ORDER BY 1, 2;
@@ -757,11 +757,11 @@ SELECT * FROM 
information_schema.foreign_data_wrapper_options ORDER BY 1, 2, 3;
 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             | s0                  | regression                   | 
dummy                     |                     |                        | 
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             | sc                  | regression                   | 
dummy                     |                     |                        | 
foreign_data_user
  regression             | t1                  | regression                   | 
foo                       |                     |                        | 
regress_test_indirect
  regression             | t2                  | regression                   | 
foo                       |                     |                        | 
regress_test_role
 (7 rows)
@@ -823,7 +823,7 @@ SELECT * FROM information_schema.role_usage_grants WHERE 
object_type LIKE 'FOREI
 SELECT * FROM information_schema.foreign_tables ORDER BY 1, 2, 3;
  foreign_table_catalog | foreign_table_schema | foreign_table_name | 
foreign_server_catalog | foreign_server_name 
 
-----------------------+----------------------+--------------------+------------------------+---------------------
- regression            | foreign_schema       | foreign_table_1    | 
regression             | sc
+ regression            | foreign_schema       | foreign_table_1    | 
regression             | s0
 (1 row)
 
 SELECT * FROM information_schema.foreign_table_options ORDER BY 1, 2, 3, 4;
@@ -1106,7 +1106,7 @@ DROP ROLE unprivileged_role;
 DROP ROLE regress_test_role2;
 DROP FOREIGN DATA WRAPPER postgresql CASCADE;
 DROP FOREIGN DATA WRAPPER dummy CASCADE;
-NOTICE:  drop cascades to server sc
+NOTICE:  drop cascades to server s0
 \c
 DROP ROLE foreign_data_user;
 -- At this point we should have no wrappers, no servers, and no mappings.
diff --git a/src/test/regress/sql/foreign_data.sql 
b/src/test/regress/sql/foreign_data.sql
index 58e5060..a76ef4f 100644
--- a/src/test/regress/sql/foreign_data.sql
+++ b/src/test/regress/sql/foreign_data.sql
@@ -258,16 +258,16 @@ DROP SERVER s7;
 
 -- CREATE FOREIGN TABLE
 CREATE SCHEMA foreign_schema;
-CREATE SERVER sc FOREIGN DATA WRAPPER dummy;
+CREATE SERVER s0 FOREIGN DATA WRAPPER dummy;
 CREATE FOREIGN TABLE ft1 ();                                    -- ERROR
 CREATE FOREIGN TABLE ft1 () SERVER no_server;                   -- ERROR
-CREATE FOREIGN TABLE ft1 (c1 serial) SERVER sc;                 -- ERROR
-CREATE FOREIGN TABLE ft1 () SERVER sc WITH OIDS;                -- ERROR
+CREATE FOREIGN TABLE ft1 (c1 serial) SERVER s0;                 -- ERROR
+CREATE FOREIGN TABLE ft1 () SERVER s0 WITH OIDS;                -- ERROR
 CREATE FOREIGN TABLE ft1 (
        c1 integer NOT NULL,
        c2 text,
        c3 date
-) SERVER sc OPTIONS (delimiter ',', quote '"');
+) SERVER s0 OPTIONS (delimiter ',', quote '"');
 COMMENT ON FOREIGN TABLE ft1 IS 'ft1';
 COMMENT ON COLUMN ft1.c1 IS 'ft1.c1';
 \d+ ft1
-- 
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