-
Notifications
You must be signed in to change notification settings - Fork 262
Description
Description
When initializing and using amplify_analytics_pinpoint_dart in my Flutter app, I receive the following error, even though my app does not directly use Drift or SQLite:
SqliteException(1032): while executing statement, attempt to write a readonly database, attempt to write a readonly database (code 1032)
Stack trace:
package:drift/src/remote/communication.dart 165:20 DriftCommunication.setRequestHandler.<fn> package:drift/src/remote/communication.dart 113:66 DriftCommunication.request package:drift/src/remote/client_impl.dart 101:28 _BaseExecutor._runRequest package:drift/src/remote/client_impl.dart 110:15 _BaseExecutor._intRequest package:drift/src/remote/client_impl.dart 135:12 _BaseExecutor.runInsert package:drift/src/utils/lazy_database.dart 91:17 LazyDatabase.runInsert package:drift/src/runtime/query_builder/statements/insert.dart 74:26 InsertStatement.insert.<fn> package:drift/src/runtime/api/connection_user.dart 171:16 DatabaseConnectionUser.doWhenOpened.<fn> package:drift/src/runtime/query_builder/statements/insert.dart 73:12 InsertStatement.insert package:amplify_analytics_pinpoint_dart/src/impl/analytics_client/event_client/queued_item_store/drift/drift_queued_item_store.dart 57:5 DriftQueuedItemStore.addItem package:amplify_analytics_pinpoint_dart/src/impl/analytics_client/event_client/event_storage_adapter.dart 51:5 EventStorageAdapter.saveEvent package:amplify_analytics_pinpoint_dart/src/impl/analytics_client/event_client/event_client.dart 86:5 EventClient.recordEvent package:amplify_analytics_pinpoint_dart/src/analytics_plugin_impl.dart 145:9 AmplifyAnalyticsPinpointDart.configure.<fn>
Categories
- Analytics
- API (REST)
- API (GraphQL)
- Auth
- Authenticator
- DataStore
- Notifications (Push)
- Storage
Steps to Reproduce
Record event with this class:
class PinpointTagger implements TaggingDelegate {
PinpointTagger._();
factory PinpointTagger() {
return _instance;
}
static final PinpointTagger instance = PinpointTagger.();
@OverRide
Future recordEvent(
TagParams params,
) async {
try {
await Amplify.Analytics.identifyUser(
userId: params.uid ?? '',
userProfile: UserProfile(
name: params.name ?? '',
),
);
final AnalyticsEvent event = AnalyticsEvent(params.eventName);
event.customProperties
.addStringProperty('screen_name', params.screenName);
event.customProperties
.addStringProperty('object_type', params.objectType.value);
if (params.objectValue != null) {
event.customProperties
.addStringProperty('object_value', params.objectValue ?? '');
}
if (params.uid != null) {
event.customProperties.addStringProperty('uid', params.uid ?? '');
}
if (params.optionalParams != null) {
(params.optionalParams ?? <String, dynamic>{})
.forEach((String key, dynamic value) {
event.customProperties.addStringProperty(key, value);
});
}
await Amplify.Analytics.recordEvent(event: event);
} on Exception catch (e, st) {
Sentry.captureException(
e,
stackTrace: st,
);
}
}
}
Screenshots
No response
Platforms
- iOS
- Android
- Web
- macOS
- Windows
- Linux
Flutter Version
3.29.0
Amplify Flutter Version
2.4.1
Deployment Method
Amplify Gen 2