eval method
Evaluate this expression in the context of row (column name -> value).
Implementation
@override
Object? eval(Map<String, Object?> row) {
if (table != null) {
final qualified = '$table.$name';
if (row.containsKey(qualified)) return row[qualified];
// Case-insensitive fallback for keyword-derived names like NEW.col.
final upper = qualified.toUpperCase();
final lower = qualified.toLowerCase();
if (row.containsKey(upper)) return row[upper];
if (row.containsKey(lower)) return row[lower];
}
if (row.containsKey(name)) return row[name];
final upper = name.toUpperCase();
final lower = name.toLowerCase();
if (row.containsKey(upper)) return row[upper];
if (row.containsKey(lower)) return row[lower];
throw StateError(
'Unknown column: ${table == null ? name : '$table.$name'}',
);
}