Skip to content

Message "The database is currently busy" displayed when opening file from project #2567

@rjmoses

Description

@rjmoses

When opening a database from a project and the Browse Data tab is the active tab, the message box:

"The database is currently busy: reading rows
Do you want to continue"

is displayed.

  1. The loadProject function calls the fileOpen function to open the database, then continues processing.
  2. fileOpen opens the database then tests if the current widget is the browser tab. If so, it calls populateTable, continues processing and returns to loadProject.
  3. loadProject continues processing, then calls populateTable just before returning.
  4. The call to populateTable from loadProject conflicts with the call from fileOpen causing waitForDbRelease to display the message that the db is busy.

The correction for this problem is to change fileOpen from

            if(ui->mainTab->currentWidget() == ui->browser) 
                populateTable();

to include a check if it had been called from loadProject before calling populateTable

            if( (ui->mainTab->currentWidget() == ui->browser)  && !openFromProject )
                populateTable();

Problem found in:

sqlitebrowser version 3.11.99, 3.12.1
sqlite version 3.34.0
Qt version 5.15.2
OS: Linux Mint 20.1

Details for the issue

What did you do?

What did you expect to see?

What did you see instead?

Useful extra information

The info below often helps, please fill it out if you're able to. :)

What operating system are you using?

  • Windows: ( version: ___ )
  • Linux: ( distro: ___ )
  • macOS: ( version: ___ )
  • Other: ___

What is your DB4S version?

  • 3.12.1
  • 3.12.0
  • 3.11.x
  • Other: ___

Did you also

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugConfirmed bugs or reports that are very likely to be bugs.opening database

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions