@@ -23,7 +23,7 @@ pub(crate) async fn load<R: Runtime>(
23
23
pool. migrate ( & migrator) . await ?;
24
24
}
25
25
26
- db_instances. 0 . lock ( ) . await . insert ( db. clone ( ) , pool) ;
26
+ db_instances. 0 . write ( ) . await . insert ( db. clone ( ) , pool) ;
27
27
28
28
Ok ( db)
29
29
}
@@ -36,7 +36,7 @@ pub(crate) async fn close(
36
36
db_instances : State < ' _ , DbInstances > ,
37
37
db : Option < String > ,
38
38
) -> Result < bool , crate :: Error > {
39
- let mut instances = db_instances. 0 . lock ( ) . await ;
39
+ let instances = db_instances. 0 . read ( ) . await ;
40
40
41
41
let pools = if let Some ( db) = db {
42
42
vec ! [ db]
@@ -45,9 +45,7 @@ pub(crate) async fn close(
45
45
} ;
46
46
47
47
for pool in pools {
48
- let db = instances
49
- . get_mut ( & pool)
50
- . ok_or ( Error :: DatabaseNotLoaded ( pool) ) ?;
48
+ let db = instances. get ( & pool) . ok_or ( Error :: DatabaseNotLoaded ( pool) ) ?;
51
49
db. close ( ) . await ;
52
50
}
53
51
@@ -62,9 +60,9 @@ pub(crate) async fn execute(
62
60
query : String ,
63
61
values : Vec < JsonValue > ,
64
62
) -> Result < ( u64 , LastInsertId ) , crate :: Error > {
65
- let mut instances = db_instances. 0 . lock ( ) . await ;
63
+ let instances = db_instances. 0 . read ( ) . await ;
66
64
67
- let db = instances. get_mut ( & db) . ok_or ( Error :: DatabaseNotLoaded ( db) ) ?;
65
+ let db = instances. get ( & db) . ok_or ( Error :: DatabaseNotLoaded ( db) ) ?;
68
66
db. execute ( query, values) . await
69
67
}
70
68
@@ -75,8 +73,8 @@ pub(crate) async fn select(
75
73
query : String ,
76
74
values : Vec < JsonValue > ,
77
75
) -> Result < Vec < IndexMap < String , JsonValue > > , crate :: Error > {
78
- let mut instances = db_instances. 0 . lock ( ) . await ;
76
+ let instances = db_instances. 0 . read ( ) . await ;
79
77
80
- let db = instances. get_mut ( & db) . ok_or ( Error :: DatabaseNotLoaded ( db) ) ?;
78
+ let db = instances. get ( & db) . ok_or ( Error :: DatabaseNotLoaded ( db) ) ?;
81
79
db. select ( query, values) . await
82
80
}
0 commit comments