Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> Function calls, queries, and trace files
I gather that the SQL within functions that are called in top-level SQL
statement are not considered recursive, and therefore do not conform to
Cary's rule
"A database call with dep=n+1 is the recursive child of the first
subsequent dep=n database call listed in the SQL trace data stream."
But the "dep" value for such SQL is indeed 1 more than the "dep" value of the caller, as in this excerpt:
PARSING IN CURSOR #1 len=124 dep=0 uid=149 oct=3 lid=149 tim=2988575045
hv=440952914 ad='3775ee70'select
hv=3990937121 ad='344ddb98'SELECT GrantType.Behavior from
The first SQL is what I entered in SQL*Plus (immediately after turning on 10046 tracing). The second is contained in the outstanding_vested_for_100k function.
Why is the motivating SQL shown in the trace first?
Is the rule for determining "recursive" relationships in a case like
this simply to follow the increasing "dep" values (with detours for
"true" recursive SQL, such as data dictionary access, that follows
Cary's rule)?
TIA
-- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: Paul Baumgartel INET: treegarden_at_yahoo.com Fat City Network Services -- 858-538-5051 http://www.fatcity.com San Diego, California -- Mailing list and web hosting services --------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).Received on Tue Nov 04 2003 - 13:14:33 CST
![]() |
![]() |