Details
-
Improvement
-
Status: Resolved
-
Low
-
Resolution: Won't Fix
-
None
-
None
Description
FunctionName keyspace field can be null because it can be omitted by the user (in which case we search both the system keyspace and the one of the statement). The handling of that is imo a tad fragile: the equals method should typically probably complain if one of its operand has no keyspace since in that case, we can't really properly answer. The code currently work around that in Functions by avoiding equals when this matter but it would still be pretty easy to get that wrong, especially since FunctionName is used in maps. For instance, you could argue that Functions#find is broken if its argument has no keyspace (it happens to be only use when that's not the case, but again, pretty easy to get wrong in the future).