Обсуждение: BUG #7703: Error with partitioning with distinct over aggregate

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

BUG #7703: Error with partitioning with distinct over aggregate

От
maxim.boguk@gmail.com
Дата:
The following bug has been logged on the website:

Bug reference:      7703
Logged by:          Maksym Boguk
Email address:      maxim.boguk@gmail.com
PostgreSQL version: 9.2.1
Operating system:   Any
Description:        =


Simple test case:

test=3D# create table test (id serial);
NOTICE:  CREATE TABLE will create implicit sequence "test_id_seq" for serial
column "test.id"
CREATE TABLE
test=3D# create index test_id_key on test(id);
CREATE INDEX
test=3D# create table test_part_1 (like test including all) INHERITS (test);
NOTICE:  merging column "id" with inherited definition
CREATE TABLE
test=3D# explain analyze select distinct min(id) from test;
ERROR:  failed to re-find MinMaxAggInfo record


PS: without partioning or without index over id - no error. Tested 9.0.*
versions is not affected by bug, but 9.2.1 and 9.1.6 is.

Re: BUG #7703: Error with partitioning with distinct over aggregate

От
Tom Lane
Дата:
maxim.boguk@gmail.com writes:
> test=# create table test (id serial);
> NOTICE:  CREATE TABLE will create implicit sequence "test_id_seq" for serial
> column "test.id"
> CREATE TABLE
> test=# create index test_id_key on test(id);
> CREATE INDEX
> test=# create table test_part_1 (like test including all) INHERITS (test);
> NOTICE:  merging column "id" with inherited definition
> CREATE TABLE
> test=# explain analyze select distinct min(id) from test;
> ERROR:  failed to re-find MinMaxAggInfo record

Fixed, thanks for the report.

            regards, tom lane

Re: BUG #7703: Error with partitioning with distinct over aggregate

От
Maxim Boguk
Дата:
On Tue, Nov 27, 2012 at 5:01 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> maxim.boguk@gmail.com writes:
>> test=# create table test (id serial);
>> NOTICE:  CREATE TABLE will create implicit sequence "test_id_seq" for serial
>> column "test.id"
>> CREATE TABLE
>> test=# create index test_id_key on test(id);
>> CREATE INDEX
>> test=# create table test_part_1 (like test including all) INHERITS (test);
>> NOTICE:  merging column "id" with inherited definition
>> CREATE TABLE
>> test=# explain analyze select distinct min(id) from test;
>> ERROR:  failed to re-find MinMaxAggInfo record
>
> Fixed, thanks for the report.
>
>                         regards, tom lane

Thank you very much.

PS: I know that the query sounds stupid, but most CMS/ORM
unfortunately could produce unlimited amount of strange/stupid
queries.

--
Maxim Boguk
Senior Postgresql DBA
http://www.postgresql-consulting.ru/