Skip to content

Commit a95b30c

Browse files
committed
Get all connections
1 parent e57b4e2 commit a95b30c

File tree

9 files changed

+65
-1
lines changed

9 files changed

+65
-1
lines changed

packages/sqlite_async/lib/src/common/connection/sync_sqlite_connection.dart

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,11 @@ class SyncSqliteConnection extends SqliteConnection with SqliteQueries {
5050
Future<bool> getAutoCommit() async {
5151
return db.autocommit;
5252
}
53+
54+
@override
55+
int getNumConnections() {
56+
return -1;
57+
}
5358
}
5459

5560
class SyncReadContext implements SqliteReadContext {

packages/sqlite_async/lib/src/common/sqlite_database.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ abstract class SqliteDatabase
5151
static const int defaultMaxReaders = 5;
5252

5353
int get numConnections;
54+
List<SqliteConnection> getAllConnections();
5455

5556
/// Open a SqliteDatabase.
5657
///

packages/sqlite_async/lib/src/impl/stub_sqlite_database.dart

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,4 +67,14 @@ class SqliteDatabaseImpl
6767

6868
@override
6969
int get numConnections => throw UnimplementedError();
70+
71+
@override
72+
int getNumConnections() {
73+
throw UnimplementedError();
74+
}
75+
76+
@override
77+
List<SqliteConnection> getAllConnections() {
78+
throw UnimplementedError();
79+
}
7080
}

packages/sqlite_async/lib/src/native/database/connection_pool.dart

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,18 @@ class SqliteConnectionPool with SqliteQueries implements SqliteConnection {
233233
}
234234
}
235235

236-
getNumConnections() {
236+
List<SqliteConnection> getAllConnections() {
237+
final connections = <SqliteConnection>[];
238+
if (_writeConnection != null) {
239+
connections.add(_writeConnection!);
240+
}
241+
connections.addAll(_allReadConnections);
242+
return connections;
243+
}
244+
245+
int getNumConnections() {
246+
print(
247+
"TESTING READ: ${_allReadConnections.length} WRITE: ${_writeConnection == null ? 0 : 1}");
237248
return _allReadConnections.length + (_writeConnection == null ? 0 : 1);
238249
}
239250
}

packages/sqlite_async/lib/src/native/database/native_sqlite_connection_impl.dart

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,11 @@ class SqliteConnectionImpl
159159
});
160160
}, timeout: lockTimeout);
161161
}
162+
163+
@override
164+
int getNumConnections() {
165+
return -1;
166+
}
162167
}
163168

164169
int _nextCtxId = 1;

packages/sqlite_async/lib/src/native/database/native_sqlite_database.dart

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,4 +174,14 @@ class SqliteDatabaseImpl
174174
Future<void> refreshSchema() {
175175
return _pool.refreshSchema();
176176
}
177+
178+
@override
179+
int getNumConnections() {
180+
return -1;
181+
}
182+
183+
@override
184+
List<SqliteConnection> getAllConnections() {
185+
return _pool.getAllConnections();
186+
}
177187
}

packages/sqlite_async/lib/src/sqlite_connection.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,8 @@ abstract class SqliteConnection extends SqliteWriteContext {
134134
/// Queries and watch calls can potentially use outdated schema information after a schema update.
135135
Future<void> refreshSchema();
136136

137+
int getNumConnections();
138+
137139
/// Returns true if the connection is closed
138140
@override
139141
bool get closed;

packages/sqlite_async/lib/src/web/database.dart

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,16 @@ class WebDatabase
132132

133133
@override
134134
int get numConnections => 0;
135+
136+
@override
137+
int getNumConnections() {
138+
return -1;
139+
}
140+
141+
@override
142+
List<SqliteConnection> getAllConnections() {
143+
throw UnimplementedError();
144+
}
135145
}
136146

137147
class _SharedContext implements SqliteReadContext {

packages/sqlite_async/lib/src/web/database/web_sqlite_database.dart

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,4 +142,14 @@ class SqliteDatabaseImpl
142142

143143
@override
144144
int get numConnections => 0;
145+
146+
@override
147+
int getNumConnections() {
148+
return -1;
149+
}
150+
151+
@override
152+
List<SqliteConnection> getAllConnections() {
153+
throw UnimplementedError();
154+
}
145155
}

0 commit comments

Comments
 (0)