> Hi all, just wanted to say I am very happy to see progress made on this, > my codebase has multiple "materialized tables" which are maintained with > statement triggers (transition tables) and custom functions. They are ugly > and a pain to maintain, but they work because I have no other > solution...for now at least. > > I am concerned that the eager approach only addresses a subset of the MV use >> case space, though. For example, if we presume that an MV is present >> because >> the underlying direct query would be non-performant, then we have to at >> least question whether applying the delta-update would also be detrimental >> to some use cases. >> > > I will say that in my case, as long as my reads of the materialized view > are always consistent with the underlying data, that's what's important. I > don't mind if it's eager, or lazy (as long as lazy still means it will > refresh prior to reading).
Assuming that we want to implement IVM incrementally (that means, for example, we implement DELETE for IVM in PostgreSQL XX, then INSERT for IVM for PostgreSQL XX+1... etc.), I think it's hard to do it with an eager approach if want to MV is always consistent with base tables. On the other hand, a lazy approach allows to implement IVM incrementally because we could always let full MV build from scratch if operations on MV include queries we do not support. Best regards, -- Tatsuo Ishii SRA OSS, Inc. Japan English: http://www.sraoss.co.jp/index_en.php Japanese:http://www.sraoss.co.jp