From df5cf4e6cc5920c4ae9b799b7a86841076468689 Mon Sep 17 00:00:00 2001 From: Timm Preetz Date: Tue, 2 Apr 2024 14:50:49 +0200 Subject: [PATCH] Throw error when encountering `InvalidStatement` Fixes #820 --- floor/lib/src/adapter/query_adapter.dart | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/floor/lib/src/adapter/query_adapter.dart b/floor/lib/src/adapter/query_adapter.dart index 8169c3a7..dede1af6 100644 --- a/floor/lib/src/adapter/query_adapter.dart +++ b/floor/lib/src/adapter/query_adapter.dart @@ -149,6 +149,11 @@ class QueryAdapter { } else if (rootNode is DeleteStatement) { result = await _database.rawDelete(sql, arguments).then(_mapResult); tableName = rootNode.table.tableName; + } else if (rootNode is InvalidStatement) { + // The underlying error is not contained in the node, so in order to find the root cause one needs to run with the debugger stopping on "all exceptions" + throw Exception('Failed to parse "$sql"'); + } else { + throw Exception('Unknown statement type: $rootNode'); } _notifyIfChanged(tableName, result);