containsCase method
Version of contains that allows controlling case sensitivity better.
The default contains method uses sqlite's LIKE, which is case-
insensitive for the English alphabet only. containsCase is implemented
in Dart with better support for casing.
When caseSensitive is false (the default), this is equivalent to the
Dart expression this.contains(substring), where this is the string
value this expression evaluates to.
When caseSensitive is true, the equivalent Dart expression would be
this.toLowerCase().contains(substring.toLowerCase()).
Note that, while Dart has better support for an international alphabet, it can still yield unexpected results like the Turkish İ Problem
Implementation
Expression<bool> containsCase(String substring,
{bool caseSensitive = false}) {
return FunctionCallExpression('moor_contains', [
this,
Variable<String>(substring),
if (caseSensitive) const Constant<int>(1) else const Constant<int>(0),
]);
}