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

Reply via email to