Given table T(c1 int) and function F(arg int) create an index on T using
F(c1). It appears that if you execute "create or replace function F" and
provide a different implementation that the index still contains the results
from the original implementation, thus if you execute something like "select
* from T where F(c1)" after replacing the function that it now misses rows
that should be returned. In other words, the index isn't aware the function
is now returning different values. That's not the correct/expected behavior
is it? I would have expected that replacing the function would have caused
any indexes that depend on that function to be reindexed/recreated with the
new function implementation.