Skupiny Google už nepodporují nová předplatná ani příspěvky Usenet. Historický obsah lze zobrazit stále.

Ora 9i bug in data dictionary tables?

1 zobrazení
Přeskočit na první nepřečtenou zprávu

jo...@tman.dnsalias.com

nepřečteno,
15. 9. 2001 9:10:3415.09.01
komu:
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.

0 nových zpráv