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

Reply via email to