Trying to understand the Appwrite SDK Generator for Flutter with a bug reported with #742 on GitHub
- 0
- Flutter
I was trying to learn how the sdk process is working with the following issue number. https://github.com/appwrite/sdk-generator/issues/742
According to this issue this problem is related to search query. It says When I search “new soya” for the attribute “name”. e.g: Query.search(“name”, “new soya bean”)
The data should return the value that starts or contains with the words “new soya bean” in that specific order.
👎 Actual Behavior The data returned is all the data that starts or contain with the words “new”, then the data that starts or contains with the words “soya”, and lastly the data that starts or contains with the words “bean”.
So the problem is so far with the Query class. When I look into the repository with the Query.dart.twig file it have the following code in this class.
static String _addQuery(String attribute, String method, dynamic value) => (value
is List)
? '$method("$attribute", [${value.map((item) => _parseValues(item)).join(",")}])'
: '$method("$attribute", [${_parseValues(value)}])';
static String _parseValues(dynamic value) =>
(value is String) ? '"$value"' : '$value';
and the search function is like this
static String search(String attribute, String value) =>
_addQuery(attribute, 'search', value);
As far as I understand it generates a simple string. Where is the actual dart implementation of the search function? Will someone please help me in the right direction?
That search behaviour is actually the intended behaviour. The search Query is effectively the MySQL FULLTEXT search - you can look that up to see how it behaves.
The Issue linked seems to be a frontend regex bug. The issue is that an invalid input is caught on the backend, but not in the SDK.
My bad, I think I added the wrong issue link in the post. The correct issue I was refereing to is following https://github.com/appwrite/sdk-generator/issues/742
But I guess your answers seems valid for this issue as well?
Yep
Recommended threads
- Impossible to get USER after createEmail...
Am using provider to deal with functions linked to appwrite. Here is my login. Future<String?> login(String email, String password) async { try { aw...
- Weird permission failure
when creating an account I use following methods: ``` Future<void> register(String email, String password, String username) async { final user = await accoun...
- Flutter Android oAuth is no more working
I currently don't get the oAuth login to work in flutter android. it works on ios and on web. but when try to use it on Android, i get to the point where the ca...