> Dropping and recreating a user-defined cast with a different cast function
> does not invalidate a statement prepared while the original cast existed.
> After the replacement, direct execution uses the new function and returns
> v2, while the prepared statement silently continues to use the old function
> and returns v1.
There are gaps in invalidating prepared statements, like this one, but I
wouldn't consider it a bug. Patches are welcome to improve it though.
- Heikki