On 05/08/2018 11:04 PM, Don V Nielsen wrote:
" UPDATE <https://www.sqlite.org/draft/lang_update.html> 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."

I have a ridiculous assertion concerning this, but please here me out.

Given rows where y = ? are true
When an update is made to those rows
Then I expect the row ChangeDate column to be set to the current date/time
(dt)

Even if x = 25, would I want it changed to show that thew row was touched
by the update ran on dt.

Triggers will still fire. Auth callbacks will still be made. And sqlite3_total_changes() will still be updated. The change is at quite a low level - after doing all the work to compose the new database record, if SQLite notices that it is exactly the same as the record being replaced, the IO is just omitted.

Does that assuage your concerns?

Dan.




  If it is not touched, then I may be left
investigating why counts against dt to not equal the anticipated number of
changes. For example, as part of my qc procedure, I would do a count to see
how many rows should be changed before running the update. The qc count
would be base on y=?. When the update executes, it will not reflect the
number of updates, no would a post-update frequency count reflect it
because the ChangeDate on those rows would not be updated.

I realize my pre|post-update now has to be y = ? AND x <> 25. But I wonder
what else might be affected by this. It has a complexity to automated qc
procedures.

Just my thoughts.
dvn



On Tue, May 8, 2018 at 9:42 AM, Richard Hipp <d...@sqlite.org> wrote:

There are a lot of important changes in the SQLite code base since the
previous release.  See
https://www.sqlite.org/draft/releaselog/current.html for the latest
summary.

All of our legacy tests pass and many new test cases have been added.
Nevertheless, your testing of SQLite in real-world applications is
greatly appreciated.  Please consider downloading the latest
pre-release snapshot (https://www.sqlite.org/download.html) and giving
it a whirl.

Report any problems or concerns to this mailing list, or directly to me.

Thanks.
--
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

_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users


_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to