public inbox for [email protected]  
help / color / mirror / Atom feed
From: Yugo Nagata <[email protected]>
To: Nguyễn Trần Quốc Vinh <[email protected]>
Cc: Adam Brusselback <[email protected]>
Cc: denty <[email protected]>
Cc: Pg Hackers <[email protected]>
Subject: Re: Implementing Incremental View Maintenance
Date: Thu, 31 Jan 2019 21:38:58 +0900
Message-ID: <[email protected]> (raw)
In-Reply-To: <CAAU9oxvByms37Cdo2RW+8CD1WtVJxNS4sapvqU68EPL=ULjrLQ@mail.gmail.com>
References: <[email protected]>
	<[email protected]>
	<CAMjNa7cogDibpuGF=MDdaJGxKmnnz7pcxwp2ZwFFE-WjxUoNsA@mail.gmail.com>
	<CAAU9oxvByms37Cdo2RW+8CD1WtVJxNS4sapvqU68EPL=ULjrLQ@mail.gmail.com>

On Tue, 1 Jan 2019 14:46:25 +0700
Nguyễn Trần Quốc Vinh <[email protected]> wrote:

> We have some result on incremental update for MVs. We generate triggers on
> C to do the incremental maintenance. We posted the code to github about 1
> year ago, but unfortunately i posted a not-right ctrigger.h header. The
> mistake was exposed to me when a person could not compile the generated
> triggers and reported to me. And now i re-posted with the right ctrigger.h
> file.
> 
> You can find the codes of the generator here:
> https://github.com/ntqvinh/PgMvIncrementalUpdate/commits/master. You can
> find how did we do here:
> https://link.springer.com/article/10.1134/S0361768816050066. The paper is
> about generating of codes in pl/pgsql. Anyway i see it is useful for
> reading the codes. I don't know if i can share the paper or not so that i
> don't publish anywhere else. The text about how to generate triggers in C
> was published with open-access but unfortunately, it is in Vietnamese.
> 
> We are happy if the codes are useful for someone.

I have read your paper. It is interesting and great so that the algorithm
is described concretely.

After reading this, I have a few questions about your implementation.
Although I may be able to understand by reading your paper and code carefully,
I would appreciate it if you could answer these.

- It is said there are many limitations on the view definition query.
  How does this work when the query is not supported?

- Is it possible to support materialized views that have DISTINCT,
  OUTER JOIN, or sub-query in your approach?

- It is said that AVG is splitted to SUM and COUNT. Are these new additional
  columns in MV visible for users?

- Does this can handle the race condition discussed in [1], that is,
  if concurrent transactions update different two tables in the join
  view definition, is MV updated sucessfully?

[1] https://www.postgresql.org/message-id/flat/1368561126.64093.YahooMailNeo%40web162904.mail.bf1.yahoo....

Regards,
-- 
Yugo Nagata <[email protected]>




view thread (215+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected], [email protected]
  Subject: Re: Implementing Incremental View Maintenance
  In-Reply-To: <[email protected]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox