getIndexForFields method
Implementation
TIndexDef? getIndexForFields(String fields, bool caseInsensitive) {
TIndexDef? last;
final fieldsLen = fields.length;
for (var i = 0; i < count; i++) {
final result = this[i];
final descOrExpr = result.options.contains(TIndexOption.ixDescending) ||
result.options.contains(TIndexOption.ixExpression);
if (!descOrExpr &&
(!caseInsensitive ||
result.options.contains(TIndexOption.ixCaseInsensitive)) &&
fields.toUpperCase() == result.fields.toUpperCase()) {
return result;
} else if (fieldsLen <= result.fields.length &&
fields.toUpperCase() ==
result.fields.substring(0, fieldsLen).toUpperCase() &&
(result.fields.length == fieldsLen ||
result.fields[fieldsLen] == ';')) {
if (last == null || last.fields.length > result.fields.length) {
last = result;
}
}
}
return last;
}