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

disk I/O error #2991

Open
mny459 opened this issue May 5, 2024 · 0 comments
Open

disk I/O error #2991

mny459 opened this issue May 5, 2024 · 0 comments

Comments

@mny459
Copy link

mny459 commented May 5, 2024

It happened on iOS, where am I wrong.

SqliteException(778): while selecting from statement, disk I/O error, disk I/O error (code 778)
  Causing statement: PRAGMA user_version;
package:sqlite3/src/implementation/exception.dart 75                                 throwException
package:sqlite3/src/implementation/statement.dart 144                                StatementImplementation._selectResults
package:sqlite3/src/implementation/statement.dart 284                                StatementImplementation.selectWith
package:sqlite3/src/statement.dart 88                                                CommonPreparedStatement.select
package:sqlite3/src/implementation/database.dart 71                                  DatabaseImplementation.userVersion
package:drift/src/sqlite3/database.dart 204                                          _SqliteVersionDelegate.schemaVersion
package:drift/src/runtime/executor/helpers/engines.dart 457                          DelegatedDatabase._runMigrations
package:drift/src/runtime/executor/helpers/engines.dart 435                          DelegatedDatabase.ensureOpen.<fn>
dart:async/future_impl.dart 41                                                       _AsyncCompleter.complete
package:drift/src/remote/server_impl.dart 137                                        ServerImplementation._handleEnsureOpen
package:drift/src/remote/communication.dart 165                                      DriftCommunication.setRequestHandler.<fn>
===== asynchronous gap ===========================
package:drift/src/remote/communication.dart 113                                      DriftCommunication.request
package:drift/src/remote/client_impl.dart 157                                        _RemoteQueryExecutor.ensureOpen
package:drift/src/utils/lazy_database.dart 61                                        LazyDatabase.ensureOpen.<fn>
package:drift/src/runtime/api/connection_user.dart 162                               DatabaseConnectionUser.doWhenOpened.<fn>
package:drift/src/runtime/query_builder/statements/select/select_with_join.dart 259  JoinedSelectStatement.get
package:drift/src/runtime/query_builder/statements/query.dart 240                    Selectable.getSingleOrNull

init code

LazyDatabase _openConnection([String? dbPath]) {
  return LazyDatabase(() async {
    final path = dbPath ?? await PathHelper.localDbPath();
    final file = File(path);
    if (Platform.isAndroid) {
      await applyWorkaroundToOpenSqlite3OnOldAndroidVersions();
    }

    final cachebase = (await getTemporaryDirectory()).path;
    sqlite3.tempDirectory = cachebase;
    return NativeDatabase.createInBackground(file, logStatements: true);
  });
}

pub

drift: ^2.18.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant