Skip to content

Commit b389605

Browse files
committed
review
1 parent 1fb22a6 commit b389605

9 files changed

Lines changed: 52 additions & 20 deletions

flutter/example/.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,3 +39,7 @@ app.*.map.json
3939

4040
# Exceptions to above rules.
4141
!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages
42+
43+
# sqflite
44+
web/sqflite_sw.js
45+
web/sqlite3.wasm

flutter/example/lib/main.dart

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,10 @@ import 'package:flutter/services.dart';
99
import 'package:logging/logging.dart';
1010
import 'package:sentry_flutter/sentry_flutter.dart';
1111
import 'package:sentry_sqflite/sentry_sqflite.dart';
12+
// import 'package:sentry_sqflite/sentry_sqflite.dart';
1213
import 'package:sqflite/sqflite.dart';
14+
// import 'package:sqflite_common_ffi/sqflite_ffi.dart';
15+
// import 'package:sqflite_common_ffi_web/sqflite_ffi_web.dart';
1316
import 'package:universal_platform/universal_platform.dart';
1417
import 'package:feedback/feedback.dart' as feedback;
1518
import 'package:provider/provider.dart';
@@ -37,7 +40,6 @@ Future<void> main() async {
3740
),
3841
),
3942
_exampleDsn);
40-
databaseFactory = SentrySqfliteDatabaseFactory();
4143
}
4244

4345
Future<void> setupSentry(AppRunner appRunner, String dsn) async {
@@ -409,7 +411,10 @@ class MainScaffold extends StatelessWidget {
409411
bindToScope: true,
410412
);
411413

412-
final db = await openDatabase(inMemoryDatabasePath);
414+
// databaseFactory = databaseFactoryFfiWeb; // or databaseFactoryFfi // or SentrySqfliteDatabaseFactory()
415+
416+
final sqfDb = await openDatabase(inMemoryDatabasePath);
417+
final db = SentryDatabase(sqfDb);
413418
// final batch = db.batch();
414419
await db.execute('''
415420
CREATE TABLE Product (
@@ -424,7 +429,7 @@ class MainScaffold extends StatelessWidget {
424429
await db.insert('Product', <String, Object?>{'title': title});
425430
}
426431

427-
// await db.query('Product');
432+
await db.query('Product');
428433

429434
await db.transaction((txn) async {
430435
await txn
@@ -433,7 +438,7 @@ class MainScaffold extends StatelessWidget {
433438
where: 'title = ?', whereArgs: ['Product Another one']);
434439
});
435440

436-
// await db.delete('Product', where: 'title = ?', whereArgs: ['Product 1']);
441+
await db.delete('Product', where: 'title = ?', whereArgs: ['Product 1']);
437442

438443
// final batch = db.batch();
439444
// batch.delete('Product', where: 'title = ?', whereArgs: dbTitles);

flutter/example/pubspec.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ dependencies:
2424
logging: any # This gets constrained by `sentry_logging`
2525
package_info_plus: ^3.0.0
2626
path_provider: ^2.0.0
27+
#sqflite_common_ffi: ^2.0.0
28+
#sqflite_common_ffi_web: ^0.3.0
2729

2830
dev_dependencies:
2931
flutter_lints: ^2.0.0

sqflite/lib/src/sentry_batch.dart

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ import 'package:sqflite/sqflite.dart';
55
// ignore: implementation_imports
66
import 'package:sqflite_common/src/sql_builder.dart';
77

8+
import 'sentry_database.dart';
9+
810
/// A [Batch] wrapper that adds Sentry support.
911
///
1012
/// ```dart
@@ -15,6 +17,7 @@ import 'package:sqflite_common/src/sql_builder.dart';
1517
/// final sentryDatabase = SentryDatabase(database);
1618
/// final batch = sentryDatabase.batch();
1719
/// ```
20+
@experimental
1821
class SentryBatch implements Batch {
1922
final Batch _batch;
2023
final Hub _hub;
@@ -41,7 +44,7 @@ class SentryBatch implements Batch {
4144
final currentSpan = _hub.getSpan();
4245

4346
final span = currentSpan?.startChild(
44-
'db.sql.execute',
47+
SentryDatabase.dbSqlExecuteOp,
4548
description: _buffer.toString(),
4649
);
4750

@@ -77,7 +80,7 @@ class SentryBatch implements Batch {
7780
final currentSpan = _hub.getSpan();
7881

7982
final span = currentSpan?.startChild(
80-
'db.sql.execute',
83+
SentryDatabase.dbSqlExecuteOp,
8184
description: _buffer.toString(),
8285
);
8386

sqflite/lib/src/sentry_database.dart

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,23 @@ import 'version.dart';
1515
/// final database = await openDatabase('path/to/db');
1616
/// final sentryDatabase = SentryDatabase(database);
1717
/// ```
18+
@experimental
1819
class SentryDatabase extends SentryDatabaseExecutor implements Database {
1920
final Database _database;
2021
final Hub _hub;
2122

23+
@internal
24+
// ignore: public_member_api_docs
25+
static const dbOp = 'db';
26+
@internal
27+
// ignore: public_member_api_docs
28+
static const dbSqlExecuteOp = 'db.sql.execute';
29+
@internal
30+
// ignore: public_member_api_docs
31+
static const dbSqlQueryOp = 'db.sql.query';
32+
33+
static const _dbSqlOp = 'db.sql.transaction';
34+
2235
/// ```dart
2336
/// import 'package:sqflite/sqflite.dart';
2437
/// import 'package:sentry_sqflite/sentry_sqflite.dart';
@@ -42,7 +55,7 @@ class SentryDatabase extends SentryDatabaseExecutor implements Database {
4255
Future<void> future() async {
4356
final currentSpan = _hub.getSpan();
4457
final span = currentSpan?.startChild(
45-
'db',
58+
dbOp,
4659
description: 'CLOSE',
4760
);
4861

@@ -93,7 +106,7 @@ class SentryDatabase extends SentryDatabaseExecutor implements Database {
93106
Future<T> future() async {
94107
final currentSpan = _hub.getSpan();
95108
final span = currentSpan?.startChild(
96-
'db',
109+
_dbSqlOp,
97110
description: 'TRANSACTION',
98111
);
99112

sqflite/lib/src/sentry_database_executor.dart

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import 'package:sqflite/sqflite.dart';
66
import 'package:sqflite_common/src/sql_builder.dart';
77

88
import 'sentry_batch.dart';
9+
import 'sentry_database.dart';
910

1011
@internal
1112
// ignore: public_member_api_docs
@@ -35,7 +36,7 @@ class SentryDatabaseExecutor implements DatabaseExecutor {
3536
final builder =
3637
SqlBuilder.delete(table, where: where, whereArgs: whereArgs);
3738
final span = currentSpan?.startChild(
38-
'db.sql.execute',
39+
SentryDatabase.dbSqlExecuteOp,
3940
description: builder.sql,
4041
);
4142

@@ -64,7 +65,7 @@ class SentryDatabaseExecutor implements DatabaseExecutor {
6465
Future<void> future() async {
6566
final currentSpan = _parentSpan ?? _hub.getSpan();
6667
final span = currentSpan?.startChild(
67-
'db.sql.execute',
68+
SentryDatabase.dbSqlExecuteOp,
6869
description: sql,
6970
);
7071

@@ -101,7 +102,7 @@ class SentryDatabaseExecutor implements DatabaseExecutor {
101102
conflictAlgorithm: conflictAlgorithm,
102103
);
103104
final span = currentSpan?.startChild(
104-
'db.sql.execute',
105+
SentryDatabase.dbSqlExecuteOp,
105106
description: builder.sql,
106107
);
107108

@@ -157,7 +158,7 @@ class SentryDatabaseExecutor implements DatabaseExecutor {
157158
whereArgs: whereArgs,
158159
);
159160
final span = currentSpan?.startChild(
160-
'db.sql.query',
161+
SentryDatabase.dbSqlQueryOp,
161162
description: builder.sql,
162163
);
163164

@@ -220,7 +221,7 @@ class SentryDatabaseExecutor implements DatabaseExecutor {
220221
whereArgs: whereArgs,
221222
);
222223
final span = currentSpan?.startChild(
223-
'db.sql.query',
224+
SentryDatabase.dbSqlQueryOp,
224225
description: builder.sql,
225226
);
226227

@@ -260,7 +261,7 @@ class SentryDatabaseExecutor implements DatabaseExecutor {
260261
Future<int> future() async {
261262
final currentSpan = _parentSpan ?? _hub.getSpan();
262263
final span = currentSpan?.startChild(
263-
'db.sql.execute',
264+
SentryDatabase.dbSqlExecuteOp,
264265
description: sql,
265266
);
266267

@@ -288,7 +289,7 @@ class SentryDatabaseExecutor implements DatabaseExecutor {
288289
Future<int> future() async {
289290
final currentSpan = _parentSpan ?? _hub.getSpan();
290291
final span = currentSpan?.startChild(
291-
'db.sql.execute',
292+
SentryDatabase.dbSqlExecuteOp,
292293
description: sql,
293294
);
294295

@@ -319,7 +320,7 @@ class SentryDatabaseExecutor implements DatabaseExecutor {
319320
Future<List<Map<String, Object?>>> future() async {
320321
final currentSpan = _parentSpan ?? _hub.getSpan();
321322
final span = currentSpan?.startChild(
322-
'db.sql.query',
323+
SentryDatabase.dbSqlQueryOp,
323324
description: sql,
324325
);
325326

@@ -351,7 +352,7 @@ class SentryDatabaseExecutor implements DatabaseExecutor {
351352
Future<QueryCursor> future() async {
352353
final currentSpan = _parentSpan ?? _hub.getSpan();
353354
final span = currentSpan?.startChild(
354-
'db.sql.query',
355+
SentryDatabase.dbSqlQueryOp,
355356
description: sql,
356357
);
357358

@@ -383,7 +384,7 @@ class SentryDatabaseExecutor implements DatabaseExecutor {
383384
Future<int> future() async {
384385
final currentSpan = _parentSpan ?? _hub.getSpan();
385386
final span = currentSpan?.startChild(
386-
'db.sql.execute',
387+
SentryDatabase.dbSqlExecuteOp,
387388
description: sql,
388389
);
389390

@@ -424,7 +425,7 @@ class SentryDatabaseExecutor implements DatabaseExecutor {
424425
conflictAlgorithm: conflictAlgorithm,
425426
);
426427
final span = currentSpan?.startChild(
427-
'db.sql.execute',
428+
SentryDatabase.dbSqlExecuteOp,
428429
description: builder.sql,
429430
);
430431

sqflite/lib/src/sentry_sqflite.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import 'sentry_database.dart';
1212
///
1313
/// final database = await openDatabaseWithSentry('path/to/db');
1414
/// ```
15+
@experimental
1516
Future<Database> openDatabaseWithSentry(
1617
String path, {
1718
int? version,
@@ -60,6 +61,7 @@ Future<Database> openDatabaseWithSentry(
6061
///
6162
/// final database = await openReadOnlyDatabaseWithSentry('path/to/db');
6263
/// ```
64+
@experimental
6365
Future<Database> openReadOnlyDatabaseWithSentry(
6466
String path, {
6567
@internal Hub? hub,

sqflite/lib/src/sentry_sqflite_database_factory.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import 'sentry_database.dart';
1717
///
1818
/// final database = await openDatabase('path/to/db');
1919
/// ```
20+
@experimental
2021
class SentrySqfliteDatabaseFactory with SqfliteDatabaseFactoryMixin {
2122
/// ```dart
2223
/// import 'package:sqflite/sqflite.dart';
@@ -47,7 +48,7 @@ class SentrySqfliteDatabaseFactory with SqfliteDatabaseFactoryMixin {
4748
Future<Database> openDatabase() async {
4849
final currentSpan = _hub.getSpan();
4950
final span = currentSpan?.startChild(
50-
'db',
51+
SentryDatabase.dbOp,
5152
description: 'OPEN',
5253
);
5354

sqflite/lib/src/sentry_sqflite_transaction.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import 'sentry_batch.dart';
1717
/// ...
1818
/// });
1919
/// ```
20+
@experimental
2021
class SentrySqfliteTransaction extends Transaction implements DatabaseExecutor {
2122
final DatabaseExecutor _executor;
2223
final Hub _hub;

0 commit comments

Comments
 (0)