I am reading the Oracle concepts doc and have a doubt [about general cache mechanism ] :
PL/SQL function code can include a request to cache its results. Upon invocation of this function, the system checks the cache. If the cache contains the result from a previous function call with the same parameter values, then the system returns the cached result to the invoker and does not reexecute the function body. If the cache does not contain the result, then the system executes the function body and adds the result (for these parameter values) to the cache before returning control to the invoker
My doubt:
After a PL/SQL function is executed, its result set is stored in cache. Then a DDL statement changes the table/index/anything that the function uses...
If I run the same PL/SQL function now, will I get the same result or updated result?