@@ -25,7 +25,7 @@ class SqliteBenchmark {
25
25
List <SqliteBenchmark > benchmarks = [
26
26
SqliteBenchmark ('Insert: JSON1' ,
27
27
(SqliteDatabase db, List <List <String >> parameters) async {
28
- await db.writeTransaction ((tx) async {
28
+ await db.transaction ((tx) async {
29
29
for (var i = 0 ; i < parameters.length; i += 5000 ) {
30
30
var sublist = parameters.sublist (i, min (parameters.length, i + 5000 ));
31
31
await tx.execute (
@@ -37,14 +37,14 @@ List<SqliteBenchmark> benchmarks = [
37
37
}, maxBatchSize: 20000 ),
38
38
SqliteBenchmark ('Read: JSON1' ,
39
39
(SqliteDatabase db, List <List <String >> parameters) async {
40
- await db.readTransaction ((tx) async {
40
+ await db.transaction ((tx) async {
41
41
for (var i = 0 ; i < parameters.length; i += 10000 ) {
42
42
var sublist = List .generate (10000 , (index) => index);
43
43
await tx.getAll (
44
44
'SELECT name, email FROM customers WHERE id IN (SELECT e.value FROM json_each(?) e)' ,
45
45
[jsonEncode (sublist)]);
46
46
}
47
- });
47
+ }, readOnly : true );
48
48
}, maxBatchSize: 200000 , enabled: false ),
49
49
SqliteBenchmark ('lock in isolate' ,
50
50
(SqliteDatabase db, List <List <String >> parameters) async {
@@ -61,13 +61,14 @@ List<SqliteBenchmark> benchmarks = [
61
61
SqliteBenchmark ('Write lock' ,
62
62
(SqliteDatabase db, List <List <String >> parameters) async {
63
63
for (var _ in parameters) {
64
+ // ignore: deprecated_member_use_from_same_package
64
65
await db.writeLock ((tx) async {});
65
66
}
66
67
}, maxBatchSize: 5000 , enabled: false ),
67
68
SqliteBenchmark ('Read lock' ,
68
69
(SqliteDatabase db, List <List <String >> parameters) async {
69
70
for (var _ in parameters) {
70
- await db.readLock ((tx) async {});
71
+ await db.lock ((tx) async {}, readOnly : true );
71
72
}
72
73
}, maxBatchSize: 5000 , enabled: false ),
73
74
SqliteBenchmark ('Insert: Direct' ,
@@ -79,7 +80,7 @@ List<SqliteBenchmark> benchmarks = [
79
80
}, maxBatchSize: 500 ),
80
81
SqliteBenchmark ('Insert: writeTransaction' ,
81
82
(SqliteDatabase db, List <List <String >> parameters) async {
82
- await db.writeTransaction ((tx) async {
83
+ await db.transaction ((tx) async {
83
84
for (var params in parameters) {
84
85
await tx.execute (
85
86
'INSERT INTO customers(name, email) VALUES(?, ?)' , params);
@@ -110,7 +111,7 @@ List<SqliteBenchmark> benchmarks = [
110
111
}, maxBatchSize: 2000 ),
111
112
SqliteBenchmark ('Insert: writeTransaction no await' ,
112
113
(SqliteDatabase db, List <List <String >> parameters) async {
113
- await db.writeTransaction ((tx) async {
114
+ await db.transaction ((tx) async {
114
115
for (var params in parameters) {
115
116
tx.execute ('INSERT INTO customers(name, email) VALUES(?, ?)' , params);
116
117
}
@@ -139,7 +140,7 @@ List<SqliteBenchmark> benchmarks = [
139
140
}),
140
141
SqliteBenchmark ('Insert: executeBatch' ,
141
142
(SqliteDatabase db, List <List <String >> parameters) async {
142
- await db.writeTransaction ((tx) async {
143
+ await db.transaction ((tx) async {
143
144
await tx.executeBatch (
144
145
'INSERT INTO customers(name, email) VALUES(?, ?)' , parameters);
145
146
});
@@ -167,7 +168,7 @@ void main() async {
167
168
20000 , (index) => ['Test user $index ' , 'user$index @example.org' ]);
168
169
169
170
createTables (SqliteDatabase db) async {
170
- await db.writeTransaction ((tx) async {
171
+ await db.transaction ((tx) async {
171
172
await tx.execute ('DROP TABLE IF EXISTS customers' );
172
173
await tx.execute (
173
174
'CREATE TABLE customers(id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, email TEXT)' );
0 commit comments