Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Ora 9i bug in data dictionary tables?

Ora 9i bug in data dictionary tables?

From: <johnt_at_tman.dnsalias.com>
Date: Sat, 15 Sep 2001 13:10:34 GMT
Message-ID: <erIo7.685$g13.704883@typhoon.snet.net>


Hi, I have a problem with 9i... does not exist in 8i. I wonder if it is a bug, or if I am interpreting these results somehow incorrectly.

Summary: data dictionary tables seem inconsistent, which causes the Oracle OLEDB/ADO driver to fail when doing a Command.Parameters.Refresh() when the Command object is pointed to a stored procedure.

I will explain from the ground-up (reverse order as discovered in troubleshooting).

Suppose I have a procedure defined in my schema named 'PROC'. There is no package, just a procedure.

ON 8.1.6:
SQL> select o.name, a.procedure$ from
  2 argument$ a, obj$ o
  3 where o.obj# = a.obj# and
  4 o.name = 'PROC' ;

NAME                           PROCEDURE$
------------------------------ ------------------------------
PROC
<<notice the blank in PROCEDURE$ >>

ON 9.0.1:
SQL> select o.name, a.procedure$ from
  2 argument$ a, obj$ o
  3 where o.obj# = a.obj# and
  4 o.name = 'PROC' ;

NAME                           PROCEDURE$
------------------------------ ------------------------------
PROC                           PROC

<<exact same query, exact same schema, different results>>

Now, this would be purely academic, except for the ALL_ARGUMENTS view, which is defined the same in 8i and 9i. The relevant code in this view is...

VIEW ALL_ARGUMENTS:
select
<<snip>>

nvl(a.procedure$,o.name), /* OBJECT_NAME */ decode(a.procedure$,null,null, o.name), /* PACKAGE_NAME */
<<snip>>

from obj$ o,argument$ a,user$ u
where o.obj# = a.obj#
<<snip>>

Now, reading between the lines here one can infer that in the ALL_ARGUMENTS view, my procedure PROC appears to be:
8i: PACKAGE_NAME: null, OBJECT_NAME: PROC 9i: PACKAGE_NAME: PROC, OBJECT_NAME: PROC

where the 9i view is clearly erroneous. It is causing the ADO driver to break since that uses ALL_ARGUMENTS.

Is this a known 9i bug, or a problem with my thinking :)

Thanks,
JT. Received on Sat Sep 15 2001 - 08:10:34 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US