@@ -7,24 +7,28 @@ import 'package:sqflite_common/src/sql_builder.dart';
7
7
8
8
import 'sentry_batch.dart' ;
9
9
import 'sentry_database.dart' ;
10
+ import 'utils/sentry_database_span_attributes.dart' ;
10
11
11
12
@internal
12
13
// ignore: public_member_api_docs
13
14
class SentryDatabaseExecutor implements DatabaseExecutor {
14
15
final DatabaseExecutor _executor;
15
16
final ISentrySpan ? _parentSpan;
17
+ final String ? _dbName;
16
18
17
19
// ignore: public_member_api_docs
18
20
SentryDatabaseExecutor (
19
21
this ._executor, {
20
22
ISentrySpan ? parentSpan,
21
23
@internal Hub ? hub,
24
+ @internal String ? dbName,
22
25
}) : _parentSpan = parentSpan,
23
- _hub = hub ?? HubAdapter ();
26
+ _hub = hub ?? HubAdapter (),
27
+ _dbName = dbName;
24
28
final Hub _hub;
25
29
26
30
@override
27
- Batch batch () => SentryBatch (_executor.batch (), hub: _hub);
31
+ Batch batch () => SentryBatch (_executor.batch (), hub: _hub, dbName : _dbName );
28
32
29
33
@override
30
34
Database get database => _executor.database;
@@ -41,6 +45,7 @@ class SentryDatabaseExecutor implements DatabaseExecutor {
41
45
);
42
46
// ignore: invalid_use_of_internal_member
43
47
span? .origin = SentryTraceOrigins .autoDbSqfliteDatabaseExecutor;
48
+ setDatabaseAttributeData (span, _dbName);
44
49
45
50
try {
46
51
final result =
@@ -68,8 +73,10 @@ class SentryDatabaseExecutor implements DatabaseExecutor {
68
73
SentryDatabase .dbSqlExecuteOp,
69
74
description: sql,
70
75
);
76
+ span? .setData (SentryDatabase .dbSystemKey, SentryDatabase .dbSystem);
71
77
// ignore: invalid_use_of_internal_member
72
78
span? .origin = SentryTraceOrigins .autoDbSqfliteDatabaseExecutor;
79
+ setDatabaseAttributeData (span, _dbName);
73
80
74
81
try {
75
82
await _executor.execute (sql, arguments);
@@ -107,6 +114,7 @@ class SentryDatabaseExecutor implements DatabaseExecutor {
107
114
);
108
115
// ignore: invalid_use_of_internal_member
109
116
span? .origin = SentryTraceOrigins .autoDbSqfliteDatabaseExecutor;
117
+ setDatabaseAttributeData (span, _dbName);
110
118
111
119
try {
112
120
final result = await _executor.insert (
@@ -163,6 +171,7 @@ class SentryDatabaseExecutor implements DatabaseExecutor {
163
171
);
164
172
// ignore: invalid_use_of_internal_member
165
173
span? .origin = SentryTraceOrigins .autoDbSqfliteDatabaseExecutor;
174
+ setDatabaseAttributeData (span, _dbName);
166
175
167
176
try {
168
177
final result = await _executor.query (
@@ -226,6 +235,7 @@ class SentryDatabaseExecutor implements DatabaseExecutor {
226
235
);
227
236
// ignore: invalid_use_of_internal_member
228
237
span? .origin = SentryTraceOrigins .autoDbSqfliteDatabaseExecutor;
238
+ setDatabaseAttributeData (span, _dbName);
229
239
230
240
try {
231
241
final result = await _executor.queryCursor (
@@ -266,6 +276,7 @@ class SentryDatabaseExecutor implements DatabaseExecutor {
266
276
);
267
277
// ignore: invalid_use_of_internal_member
268
278
span? .origin = SentryTraceOrigins .autoDbSqfliteDatabaseExecutor;
279
+ setDatabaseAttributeData (span, _dbName);
269
280
270
281
try {
271
282
final result = await _executor.rawDelete (sql, arguments);
@@ -294,6 +305,7 @@ class SentryDatabaseExecutor implements DatabaseExecutor {
294
305
);
295
306
// ignore: invalid_use_of_internal_member
296
307
span? .origin = SentryTraceOrigins .autoDbSqfliteDatabaseExecutor;
308
+ setDatabaseAttributeData (span, _dbName);
297
309
298
310
try {
299
311
final result = await _executor.rawInsert (sql, arguments);
@@ -325,6 +337,7 @@ class SentryDatabaseExecutor implements DatabaseExecutor {
325
337
);
326
338
// ignore: invalid_use_of_internal_member
327
339
span? .origin = SentryTraceOrigins .autoDbSqfliteDatabaseExecutor;
340
+ setDatabaseAttributeData (span, _dbName);
328
341
329
342
try {
330
343
final result = await _executor.rawQuery (sql, arguments);
@@ -357,6 +370,7 @@ class SentryDatabaseExecutor implements DatabaseExecutor {
357
370
);
358
371
// ignore: invalid_use_of_internal_member
359
372
span? .origin = SentryTraceOrigins .autoDbSqfliteDatabaseExecutor;
373
+ setDatabaseAttributeData (span, _dbName);
360
374
361
375
try {
362
376
final result = await _executor.rawQueryCursor (
@@ -389,6 +403,7 @@ class SentryDatabaseExecutor implements DatabaseExecutor {
389
403
);
390
404
// ignore: invalid_use_of_internal_member
391
405
span? .origin = SentryTraceOrigins .autoDbSqfliteDatabaseExecutor;
406
+ setDatabaseAttributeData (span, _dbName);
392
407
393
408
try {
394
409
final result = await _executor.rawUpdate (sql, arguments);
@@ -430,6 +445,7 @@ class SentryDatabaseExecutor implements DatabaseExecutor {
430
445
);
431
446
// ignore: invalid_use_of_internal_member
432
447
span? .origin = SentryTraceOrigins .autoDbSqfliteDatabaseExecutor;
448
+ setDatabaseAttributeData (span, _dbName);
433
449
434
450
try {
435
451
final result = await _executor.update (
0 commit comments