Heikki Linnakangas <hlinn...@iki.fi> writes: > I also did some quick performance testing with a simple update designed > as a worst-case scenario:
> vacuum tab; update tab set b = b, a = a; > In this case, the patch fetches the old tuple, but it wouldn't really > need to, because all the columns are updated. Could we optimize that > special case? I'm not following. We need to read the old values of a and b for the update source expressions, no? (One could imagine realizing that this is a no-op update, but that seems quite distinct from the problem at hand, and probably not worth the cycles.) regards, tom lane