| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> c.d.o.server -> Re: deterministic function
Your key point, of course, being that just because I see the same number of recursive calls, it isn't necessarily the same TYPE of recursive call in both cases. Point taken.
I have, however, also tried the 'loading'
concept - e.g. calling dbms_random,
calling selects from v$timer, using
sysdate. I have yet to see any case
where Oracle appears to behave properly.
But in all my examples, it is possible to
say: "special case - e.g. the runtime
code recognises that a query is not
deterministic, and therefore executes
the full path etc." (Even though the manuals
state that the function is not called.)
-- Regards Jonathan Lewis http://www.jlcomp.demon.co.uk Next Seminar dates: (see http://www.jlcomp.demon.co.uk/seminar.html ) ____Denver_______December 2/4 ____England______January 21/23 The Co-operative Oracle Users' FAQ http://www.jlcomp.demon.co.uk/faq/ind_faq.html FC wrote in message ...Received on Thu Nov 28 2002 - 06:42:16 CST
>
>Hmm, I don't know anything about Oracle internals, I have a feeling
that
>this kind of test isn't actually proving what you intended to prove.
>I mean, I don't know if and how they managed to cache deterministic
function
>values, may be the function is called anyway and just at a later
stage it
>gets its cached value, it depends on the implementation.
>My coding suggestion was meant to get rid of any doubt by forcing
some
>unnecessary load during function execution, just to see if this code
gets
>executed at all times or not. If the function contains arguments, at
some
>stage it must be decided that this call is going to return a known
value,
>the point is to understand when this happens.
>
>On the other hand you could also try with a completely different
approach:
>declare your function as deterministic and then return a random
number or a
>value based on the current time and see what you get... :-)
>
>Bye,
>Flavio
>
>
![]() |
![]() |