Hi, Nagata-san
I am very interested in IMMV and read your patch but have some comments in 
v25-0007-Add-Incremental-View-Maintenance-support.patch and want to discuss 
with you.

+               /* For IMMV, we need to rewrite matview query */
+               query = rewriteQueryForIMMV(query, into->colNames);
+               query_immv = copyObject(query);

/* Create triggers on incremental maintainable materialized view */
+                               Assert(query_immv != NULL);
+                               CreateIvmTriggersOnBaseTables(query_immv, 
matviewOid, true);
1. Do we need copy query?Is it okay  that CreateIvmTriggersOnBaseTables 
directly use (Query *) into->viewQuery instead of query_immv like 
CreateIndexOnIMMV?  It seems only planner may change query, but it shouldn't 
affect us finding the correct base table in CreateIvmTriggersOnBaseTables .

+void
+CreateIndexOnIMMV(Query *query, Relation matviewRel)
+{
+       Query *qry = (Query *) copyObject(query);
2. Also, is it okay to not copy query in CreateIndexOnIMMV? It seems we only 
read query in CreateIndexOnIMMV.

Regards,



Reply via email to