rpaul wrote:Why is this changing every release?
The precision of datetime type is changed only in dotConnect for SQLite 4.5.192 and dotConnect for SQLite 4.5.202. The precision was changed from 4 to 7 in 4.5.192 version, but it was not announced in the release notes because the change of precision was not completed in this version. The precision of datetime was not changed for the SQLiteDateTime type.
Then, we changed the precision of datetime for the SQLiteDateTime type as well. At that moment, we decided to change the precision to 6, what was done in the next version 4.5.202.
For more information, please refer to
https://www.devart.com/dotconnect/sqlit ... story.html
rpaul wrote:I see in the release notes that it said increased precision to 6, which is a lie because it was at 7.
We have not announced that we would increase the precision to 7. In dotConnect for SQLite 4.4.179, the precision was 4. We have increased it to 6 in version 4.5.202.
If you need to work with datetime with the precision that equals 7, you can use the mode in which the datetime type is strored as integer. For this, in SQLiteConnectionStringBuilder, set up the SQLiteDateFormats.Ticks value for the DateTimeFormat property. For more information, please refer to
https://www.devart.com/dotconnect/sqlit ... ormat.html
rpaul wrote:These changes break our application as it starts trying to do inserts where updates are required and ends up with concurrency errors.
If using dotConnect for SQLite 5.3.521 is breaking your application because this version has the precision 6 of datetime type, there are two wayouts:
1. return to using dotConnect for SQLite 4.5.192;
2. Redesign your app and/or database for working with the datetime types, the precision of which equals 6. If you encounter any difficulties with redesigning the database, send us the code that works with datetime and causes the issue. We would appreciate if you
send us a test project with some small database which reproduces the issue.