Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SQLite support is broken #25

Closed
Cirras opened this issue Jul 8, 2021 · 3 comments
Closed

SQLite support is broken #25

Cirras opened this issue Jul 8, 2021 · 3 comments
Assignees
Labels
bug Something isn't working

Comments

@Cirras
Copy link
Contributor

Cirras commented Jul 8, 2021

Background

  • EOSERV does all of its database operations in one big transaction on the main thread.
  • SQLite only supports one simultaneous write transaction.

Problem

  • Since the addition of asynchronous database operations on background threads for the LoginManager, SQLite support has been broken.

Reproduction case

  • Configure EOSERV to use an SQLite database
  • Create an account
  • Account creation will fail, and a Database_QueryFailed exception will be raised.
  • The error message from SQLite is "database is locked"

See

@ethanmoffat ethanmoffat self-assigned this Jul 16, 2021
@ethanmoffat ethanmoffat added the bug Something isn't working label Jul 20, 2021
@ethanmoffat
Copy link
Owner

Thanks for this, easy repro. I'll start working on a solution.

FYI setting TimedSave=0m in the configuration seems to work around it. I'll be focusing on improving that functionality so the db doesn't constantly have an open pending transaction.

@Cirras
Copy link
Contributor Author

Cirras commented Nov 24, 2021

I assume this issue is fixed since 12302ec.
Is there any other obvious work to be done in this area?

@ethanmoffat
Copy link
Owner

Oh you're right - I forgot about this issue since I've been tracking tasks on clickup.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants