.. change::
   :tags: bug, sql
   :tickets: 4649, 4569

   Registered function names based on :class:`.GenericFunction` are now
   retrieved in a case-insensitive fashion in all cases, removing the
   deprecation logic from 1.3 which temporarily allowed multiple
   :class:`.GenericFunction` objects to exist with differing cases.   A
   :class:`.GenericFunction` that replaces another on the same name whether or
   not it's case sensitive emits a warning before replacing the object.
