Skip to content

SqliteException(1032): attempt to write a readonly database when using amplify_analytics_pinpoint_dart #6175

@DanBeltranuwu

Description

@DanBeltranuwu

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

Schema

Metadata

Metadata

Assignees

No one assigned

    Labels

    analyticsIssues related to the Amplify Analytics Categorypending-community-responsePending response from the issue opener or other community membersquestionA question about the Amplify Flutter libraries

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions