Currently the SqlFloorFunction sometimes modifies the operands in a SqlCall (i.e. replaceTimeUnitOperand). This is fine if the floor is only used in a project, but when used again in an aggregate this modification will change the aggregate, which will break the unparsing of it there.
This can be reproduced by adding a "group by" to the RelToSqlConverterTest#testFloor.
SqlBasicCall#clone is a shallow clone so cannot be used to fix the problem (since the underlying operands are not cloned).