getDatabaseOpenHelper method
Future<DatabaseOpenHelper>
getDatabaseOpenHelper(
- String path,
- DatabaseOpenOptions options
inherited
Get or create the open helper for a given path.
Implementation
Future<DatabaseOpenHelper> getDatabaseOpenHelper(
String path,
DatabaseOpenOptions options,
) async {
DatabaseOpenHelper newHelper() {
var helper = DatabaseOpenHelper(this, path, options);
setDatabaseOpenHelper(path, helper);
return helper;
}
var helper = getExistingDatabaseOpenHelper(path);
/// Wait if closing and create a new one, unless another open
/// waiting for the same close already created it.
while (helper != null && helper.closing) {
await helper.closeCompleted;
var registered = getExistingDatabaseOpenHelper(path);
helper = identical(registered, helper) ? null : registered;
}
return helper ?? newHelper();
}