Two thumbs up, Dan. Thanks for the clarification. On Tue, May 8, 2018 at 11:11 AM, Dan Kennedy <danielk1...@gmail.com> wrote:
> 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 > _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users