Re: Incremental View Maintenance, take 2 - Mailing list pgsql-hackers

From jian he
Subject Re: Incremental View Maintenance, take 2
Date
Msg-id CACJufxHMG9Pmc=W8QMHvk_RwUBABDZNh9HgO4JSQtp1+JUPTJg@mail.gmail.com
Whole thread Raw
In response to Re: Incremental View Maintenance, take 2  (jian he <jian.universality@gmail.com>)
Responses Re: Incremental View Maintenance, take 2
Re: Incremental View Maintenance, take 2
List pgsql-hackers

This is probably not trivial. 
In function  apply_new_delta_with_count.

 appendStringInfo(&querybuf,
"WITH updt AS (" /* update a tuple if this exists in the view */
"UPDATE %s AS mv SET %s = mv.%s OPERATOR(pg_catalog.+) diff.%s "
"%s " /* SET clauses for aggregates */
"FROM %s AS diff "
"WHERE %s " /* tuple matching condition */
"RETURNING %s" /* returning keys of updated tuples */
") INSERT INTO %s (%s)" /* insert a new tuple if this doesn't existw */
"SELECT %s FROM %s AS diff "
"WHERE NOT EXISTS (SELECT 1 FROM updt AS mv WHERE %s);",

---------------------
") INSERT INTO %s (%s)" /* insert a new tuple if this doesn't existw */
"SELECT %s FROM %s AS diff "

the INSERT INTO line, should have one white space in the end? 
also "existw" should be "exists"

pgsql-hackers by date:

Previous
From: Kirk Wolak
Date:
Subject: Re: Adding SHOW CREATE TABLE
Next
From: Thomas Munro
Date:
Subject: Re: possible bug in handling of contrecords in dd38ff28ad (Fix recovery_prefetch with low maintenance_io_concurrency)