pawelsalawa / sqlitestudio

A free, open source, multi-platform SQLite database manager.
https://sqlitestudio.pl
Other
4.61k stars 571 forks source link

No error displayed when table data update fails when DB is locked. #3903

Open Armesh opened 3 years ago

Armesh commented 3 years ago

Details

No error displayed when I update table data using the GUI, at the Data tab, even thought the data update failed because the db was locked. It will just act like the row/column data was successfully updated when I click the Commit button (the green box with check). But when I refresh the table, the old data will display (cause the update failed).

  1. Make sure it show a big error when the data update/commit fails.
  2. In your SQL history, show the query that runs when I update table data in the Data tab, with its completion status.

Steps to reproduce

Open the DB with another viewer in exclusive mode. (I opened my SQLite DB in Excel using https://www.devart.com/odbc/sqlite/docs/excel.htm) Now open the same DB in SQLStudio In SQLStudio, open a table, go to Data tab, update any row/column values. Click commit. Refresh the Data You will see your old data before you did the update,

Operating system

Windows 10 x64

SQLiteStudio version

3.2.1

pawelsalawa commented 3 years ago

How about the official sqlite3 command-line client of SQLite3? Does it fail if you update locked table, the same you do here? I'm asking, because it looks like the SQLite3 library is not reporting any issues and that's why SQLiteStudio is not reporting them either.

Armesh commented 3 years ago

How about the official sqlite3 command-line client of SQLite3? Does it fail if you update locked table, the same you do here? I'm asking, because it looks like the SQLite3 library is not reporting any issues and that's why SQLiteStudio is not reporting them either.

image It shows "Error: database is locked". The "DB Browser for SQLite" UI software also will show a error.

pawelsalawa commented 3 years ago

Okay. Just to be sure - when you modified data in SQLiteStudio - did you commit it? I mean that when you modify data in SQLiteStudio, it gets the blue outline and you still need to commit it. When yhe blue outline disappears, it means that it was committed. Also during this commit operation is when you should get the "database is locked" error.

Please confirm you commit the data without any error and then after refreshing it's altered by that other app.