On 6/5/18, Stéphane Aulery <lk...@free.fr> wrote: > Hello, > > The changelog of the last release [1] say at the point 13 : > > UPDATE avoids writing database pages that do not actually change. For > example, "UPDATE t1 SET x=25 WHERE y=?" becomes a no-op if the value in > column x is already 25. Similarly, when doing UPDATE on records that > span multiple pages, only write the subset of pages that contain the > changed value(s). > > --------------------------------------------------------------------- > > I can't find in [2] and [3] if this change implies that a trigger will > be fired or not on a row where x is already 25. A trigger could act at a > physical or logical level and this change is a physical enhancement. > > Can someone inform me please?
The enhancement is a low-level b-tree thing where it does a memcmp() and only writes the page back to disk if there are actual byte changes. Triggers continue to fire as they always have. There is no change in behavior. This is a performance optimization only. -- D. Richard Hipp d...@sqlite.org _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users