Package icon X is changed, but body remains an X
fixed for next beta.
John, if I expand an invalid package, rt-click on body -> Compile body, the red-ish X disappears from Body node but remains on Package node. Sort of the reverse of what was happening before.
ok, try it again next beta. I think I have it all straight now.
John, I still have a problem where I select a package Body and click on Compile Body Only, the package icon changes but the red X remains for the body. I also get these strange “insufficient priv” messages but only when I select the body node and do a compile body only. A subsequent Compile Body Only I get a “successfully compile” message but red X remains on Body.
If I select the package name and do a compile body, I get the “success” message and red X disappears.
17:06:34 Info: 1 package had errors on compile. Of those with errors, 1 were ORA-01031: insufficient privileges.,
17:07:01 Info: 1 package successfully compiled.,
17:07:14 Info: 1 package successfully compiled.,
I can’t repeat this problem anymore, so maybe we are doing something different. Can you show me a before and after screenshot? I must be missing something.
Here is what I’ve been doing to test it:
-
create any table with a few columns.
-
rt-click and choose “create DML procedures” to create a corresponding package.
-
to invalidate the package, drop a column from the table and then add it back in.
-
go to SB-Packages, expand the package, rt-click on Body node (actually I have tried this with package, spec, and body nodes) and then compile body (and I have actually tried all of the compile options)
Nevermind, I can reproduce it in 64 bit. It will be fixed in the next beta.
Thanks. I don’t recall seeing the “insufficient priv” message before but hopefully that goes away as well.
I wasn’t able to reproduce the Insufficient Privs message, just the icon problem. I’m not sure how that could be related unless Toad is firing off a wrong SQL Statement. You might want to turn on Spool SQL to see if you can discover anything with that.
I always get this for the initial Compile Body Only:
11:03:51 Info: 1 package had errors on compile. Of those with errors, 1 were ORA-01031: insufficient privileges.
Any subsequent compile will return a successful message:
11:10:38 Info: 1 package successfully compiled.
This is the Spooled SQL:
Session: DBAUSER1@DEVTOSS2
Timestamp: 11:03:50.033
ALTER PACKAGE “QA3”.“MROL_EMAIL_QRY” COMPILE BODY
Session: DBAUSER1@DEVTOSS2
Timestamp: 11:03:51.413
SELECT * FROM (
SELECT u.name owner,
o.name object_name,
‘PACKAGE’ object_type,
DECODE(o.status, 1, ‘V’, ‘I’) status,
o.mtime last_ddl_time,
o.obj# object_id,
o.ctime created
,NVL(pi.AUTHID, ‘DEFINER’) AUTHID
,NVL(i.debuginfo, ‘F’) debuginfo
FROM SYS."_CURRENT_EDITION_OBJ" o, sys.USER$ u
,(SELECT obj#, DECODE(bitand(properties,1024),1024,‘CURRENT_USER’,‘DEFINER’) AUTHID
FROM sys.procedureinfo$
WHERE PROCEDURE# = 1
AND overload# = 0) pi
,(SELECT distinct obj#, ‘T’ debuginfo
FROM sys.idl_char$
WHERE part = 1) i
WHERE o.Type# = 9
AND o.owner# = u.USER#
AND o.linkname IS NULL
AND o.obj# = pi.obj# (+)
AND i.obj# (+) = o.obj#
AND u.name = :own
AND o.name = :obj
UNION ALL
SELECT u.name owner,
o.name object_name,
‘PACKAGE BODY’ object_type,
DECODE(o.status, 1, ‘V’, ‘I’) status,
o.mtime last_ddl_time,
o.obj# object_id,
o.ctime created
,‘DEFINER’ AUTHID
,NVL(i.debuginfo, ‘F’) debuginfo
FROM SYS."_CURRENT_EDITION_OBJ" o, sys.USER$ u
,(SELECT distinct obj#, ‘T’ debuginfo
FROM sys.idl_char$
WHERE part = 1) i
WHERE o.Type# = 11
AND o.owner# = u.USER#
AND o.linkname IS NULL
AND i.obj# (+) = o.obj#
AND u.name = :own
AND o.name = :obj) p
order by 3
:own(VARCHAR[3],IN/OUT)=‘QA3’
:obj(VARCHAR[14],IN/OUT)=‘MROL_EMAIL_QRY’
Session: DBAUSER1@DEVTOSS2
Timestamp: 11:03:51.579
Select TEXT
from SYS.DBA_SOURCE
where OWNER=:owner
and NAME=:name
and TYPE=:type
order by LINE
:owner(VARCHAR[3],IN/OUT)=‘QA3’
:name(VARCHAR[14],IN/OUT)=‘MROL_EMAIL_QRY’
:TYPE(VARCHAR[12],IN/OUT)=‘PACKAGE BODY’
Session: DBAUSER1@DEVTOSS2
Timestamp: 11:03:51.593
Select last_ddl_time
FROM sys.DBA_OBJECTS
WHERE object_type = :type AND owner = :owner AND object_name = :name
:TYPE(VARCHAR[12])=‘PACKAGE BODY’
:owner(VARCHAR[3])=‘QA3’
:name(VARCHAR[14])=‘MROL_EMAIL_QRY’
Session: DBAUSER1@DEVTOSS2
Timestamp: 11:03:51.689
Select Line, Position, text, type
From sys.DBA_ERRORS
where owner=:own
and name=:nm
and type in (‘PACKAGE’, ‘PACKAGE BODY’)
order by type, sequence
:own(VARCHAR[3],IN/OUT)=‘QA3’
:nm(VARCHAR[14],IN/OUT)=‘MROL_EMAIL_QRY’
Thanks. I think that’s a bogus error message and will go away next beta.