The Javadoc for Record.getValue(Field<T>) states:Throws: IllegalArgumentException - If the argument field is not contained in fieldsRow()This is not quite true. If the method is called with a Field that is not contained but has the same name as a field that is contained, the contained field's value will be returned instead of throwing an exception.Example:* record contains the Field FOO.ID only* clients calls record.getValue(BAR.ID)* record returns the value associated with FOO.IDI would argue that this is unwanted behavior for TableFields, in that it hides a likely client bug. I would prefer to see the client bug exposed through an exception versus continued behavior with a possibly bogus value. Does anyone prefer the existing behavior?
SELECT f.ID FROM FOO f