Re: Incremental View Maintenance, take 2

Поиск
Список
Период
Сортировка
От Yugo NAGATA
Тема Re: Incremental View Maintenance, take 2
Дата
Msg-id 20230828115252.c1b018605b9a0756a30c3382@sraoss.co.jp
обсуждение исходный текст
Ответ на Re: Incremental View Maintenance, take 2  (Yugo NAGATA <nagata@sraoss.co.jp>)
Ответы Re: Incremental View Maintenance, take 2  (Yugo NAGATA <nagata@sraoss.co.jp>)
Список pgsql-hackers
On Mon, 28 Aug 2023 02:49:08 +0900
Yugo NAGATA <nagata@sraoss.co.jp> wrote:

> On Sun, 2 Jul 2023 10:38:20 +0800
> jian he <jian.universality@gmail.com> wrote:

I attahed the patches v29 updated to comments from jian he.
The changes from the previous includes:

- errors in documentations is fixed.
- remove unnecessary BEGIN from the test
- add isimmv column to pg_matviews system view
- fix a typo
- rebase to the master branch

> 
> > ok. Now I really found a small bug.
> > 
> > this works as intended:
> > BEGIN;
> > CREATE INCREMENTAL MATERIALIZED VIEW test_ivm AS SELECT i, MIN(j) as
> > min_j  FROM mv_base_a group by 1;
> > INSERT INTO mv_base_a select 1,-2 where false;
> > rollback;
> > 
> > however the following one:
> > BEGIN;
> > CREATE INCREMENTAL MATERIALIZED VIEW test_ivm1 AS SELECT MIN(j) as
> > min_j  FROM mv_base_a;
> > INSERT INTO mv_base_a  select 1, -2 where false;
> > rollback;
> > 
> > will evaluate
> > tuplestore_tuple_count(new_tuplestores) to 1, it will walk through
> > IVM_immediate_maintenance function to apply_delta.
> > but should it be zero?
> 
> This is not a bug because an aggregate without GROUP BY always
> results one row whose value is NULL. 
> 
> The contents of test_imv1 would be always same as " SELECT MIN(j) as min_j 
> FROM mv_base_a;", isn't it?
> 
> 
> Regards,
> Yugo Nagata
> 
> -- 
> Yugo NAGATA <nagata@sraoss.co.jp>
> 
> 


-- 
Yugo NAGATA <nagata@sraoss.co.jp>

Вложения

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

Предыдущее
От: Michael Paquier
Дата:
Сообщение: Re: pg_stat_get_backend_subxact() and backend IDs?
Следующее
От: Dilip Kumar
Дата:
Сообщение: Re: [PoC] pg_upgrade: allow to upgrade publisher node