SB - compile of body does not change icon for body

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:

  1. create any table with a few columns.

  2. rt-click and choose “create DML procedures” to create a corresponding package.

  3. to invalidate the package, drop a column from the table and then add it back in.

  4. 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.