Re: Aggregate Push Down - Performing aggregation on foreign server

Поиск
Список
Период
Сортировка
От Jeevan Chalke
Тема Re: Aggregate Push Down - Performing aggregation on foreign server
Дата
Msg-id CAM2+6=Vu1v0kdCMaCAxkuXhuC+4dYTBXLMnpE8KKb7wrewMKNw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Aggregate Push Down - Performing aggregation on foreign server  (Jeevan Chalke <jeevan.chalke@enterprisedb.com>)
Список pgsql-hackers


On Mon, Sep 12, 2016 at 5:19 PM, Jeevan Chalke <jeevan.chalke@enterprisedb.com> wrote:


On Mon, Sep 12, 2016 at 12:20 PM, Prabhat Sahu <prabhat.sahu@enterprisedb.com> wrote:
Hi,

While testing "Aggregate pushdown", i found the below error:
-- GROUP BY alias showing different behavior after adding patch.

-- Create table "t1", insert few records.
create table t1(c1 int);
insert into t1 values(10), (20);

-- Create foreign table:
create foreign table f_t1 (c1 int) server db1_server options (table_name 't1');

-- with local table:
postgres=# select 2 a, avg(c1) from t1 group by a;
 a |         avg        
---+---------------------
 2 | 15.0000000000000000
(1 row)

-- with foreign table:
postgres=# select 2 a, avg(c1) from f_t1 group by a;
ERROR:  aggregate functions are not allowed in GROUP BY
CONTEXT:  Remote SQL command: EXPLAIN SELECT 2, avg(c1) FROM public.t1 GROUP BY 2



Thanks for reporting this bug in *v1.patch Prabhat.

I will have a look over this issue and will post a fix in next version.

To fix this issue, we need to make deparseConst() function aware of showtype
flag exactly as that of get_const_expr().  While deparsing Const in GROUP BY
clause, we need to show "::typename" so that it won't treat the constant value
as a column position in the target list and rather treat it as constant value.

Fixed this in earlier attached patch and added test-case too.

--
Jeevan B Chalke
Principal Software Engineer, Product Development
EnterpriseDB Corporation
The Enterprise PostgreSQL Company

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Amit Kapila
Дата:
Сообщение: Re: Parallel sec scan in plpgsql
Следующее
От: Sachin Kotwal
Дата:
Сообщение: Re: Why postgres take RowExclusiveLock on all partition