Обсуждение: regression tests fails

Поиск
Список
Период
Сортировка

regression tests fails

От
Pavel Stehule
Дата:
Hi

I have a repeated problem with regress tests

master, Fedora 25,

running on port 50848 with PID 5548
============== creating database "regression"         ==============
CREATE DATABASE
ALTER DATABASE
============== running regression test queries        ==============
test ddl                      ... ok
test xact                     ... ok
test rewrite                  ... ok
test toast                    ... ok
test permissions              ... ok
test decoding_in_xact         ... ok
test decoding_into_rel        ... ok
test binary                   ... ok
test prepared                 ... ok
test replorigin               ... ok
test time                     ... ok
test messages                 ... ok
test spill                    ... FAILED
============== shutting down postmaster               ==============

The result is in unstable order.

Regards

Pavel
Вложения

Re: regression tests fails

От
Pavel Stehule
Дата:


2016-11-16 5:54 GMT+01:00 Pavel Stehule <pavel.stehule@gmail.com>:
Hi

I have a repeated problem with regress tests

master, Fedora 25,

running on port 50848 with PID 5548
============== creating database "regression"         ==============
CREATE DATABASE
ALTER DATABASE
============== running regression test queries        ==============
test ddl                      ... ok
test xact                     ... ok
test rewrite                  ... ok
test toast                    ... ok
test permissions              ... ok
test decoding_in_xact         ... ok
test decoding_into_rel        ... ok
test binary                   ... ok
test prepared                 ... ok
test replorigin               ... ok
test time                     ... ok
test messages                 ... ok
test spill                    ... FAILED
============== shutting down postmaster               ==============

The result is in unstable order.

I was wrong - there is ORDER BY clause

 SELECT (regexp_split_to_array(data, ':'))[4], COUNT(*), (array_agg(data))[1], (array_agg(data))[count(*)]
  FROM pg_logical_slot_get_changes('regression_slot', NULL,NULL) WHERE data ~ 'INSERT'
  GROUP BY 1 ORDER BY 1;

but result is sensitive on locales setting - doesn't work well with czech locales.

Regards

Pavel



Regards

Pavel

Re: regression tests fails

От
Craig Ringer
Дата:
On 21 November 2016 at 14:45, Pavel Stehule <pavel.stehule@gmail.com> wrote:

>  SELECT (regexp_split_to_array(data, ':'))[4], COUNT(*),
> (array_agg(data))[1], (array_agg(data))[count(*)]
>   FROM pg_logical_slot_get_changes('regression_slot', NULL,NULL) WHERE data
> ~ 'INSERT'
>   GROUP BY 1 ORDER BY 1;
>
> but result is sensitive on locales setting - doesn't work well with czech
> locales.

Simple fix here is to append COLLATE "C" after the ORDER BY.



-- Craig Ringer                   http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training & Services



Re: regression tests fails

От
Pavel Stehule
Дата:


2016-11-21 8:09 GMT+01:00 Craig Ringer <craig@2ndquadrant.com>:
On 21 November 2016 at 14:45, Pavel Stehule <pavel.stehule@gmail.com> wrote:

>  SELECT (regexp_split_to_array(data, ':'))[4], COUNT(*),
> (array_agg(data))[1], (array_agg(data))[count(*)]
>   FROM pg_logical_slot_get_changes('regression_slot', NULL,NULL) WHERE data
> ~ 'INSERT'
>   GROUP BY 1 ORDER BY 1;
>
> but result is sensitive on locales setting - doesn't work well with czech
> locales.

Simple fix here is to append COLLATE "C" after the ORDER BY.



it needs little bit bigger change - COLLATE cannot be used with positional ORDER BY

Regards

Pavel
 

--
 Craig Ringer                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services

Re: regression tests fails

От
Pavel Stehule
Дата:


2016-11-21 8:13 GMT+01:00 Pavel Stehule <pavel.stehule@gmail.com>:


2016-11-21 8:09 GMT+01:00 Craig Ringer <craig@2ndquadrant.com>:
On 21 November 2016 at 14:45, Pavel Stehule <pavel.stehule@gmail.com> wrote:

>  SELECT (regexp_split_to_array(data, ':'))[4], COUNT(*),
> (array_agg(data))[1], (array_agg(data))[count(*)]
>   FROM pg_logical_slot_get_changes('regression_slot', NULL,NULL) WHERE data
> ~ 'INSERT'
>   GROUP BY 1 ORDER BY 1;
>
> but result is sensitive on locales setting - doesn't work well with czech
> locales.

Simple fix here is to append COLLATE "C" after the ORDER BY.



it needs little bit bigger change - COLLATE cannot be used with positional ORDER BY

here is a patch

Regards

Pavel
 

Regards

Pavel
 

--
 Craig Ringer                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services


Вложения

Re: regression tests fails

От
Tom Lane
Дата:
Pavel Stehule <pavel.stehule@gmail.com> writes:
>> 2016-11-21 8:09 GMT+01:00 Craig Ringer <craig@2ndquadrant.com>:
>>> Simple fix here is to append COLLATE "C" after the ORDER BY.

> here is a patch

Pushed, thanks.
        regards, tom lane