Toad World® Forums

Retrieve packages in grid error


Do not know since when is this code (saw in and x64), but just found out that it is not working on database version:


Oracle Database 11g Enterprise Edition Release - 64bit Production
PL/SQL Release - Production
CORE Production
TNS for HPUX: Version - Production
NLSRTL Version - Production

Problem is in generated code that display packages:

with PACKAGES as
(Select :own owner, object_name, object_type, decode(status, ‘VALID’, ‘V’, ‘I’) status, last_ddl_time, object_id, created
from sys.user_objects
where 1=1
and object_type in (‘PACKAGE’, ‘PACKAGE BODY’))
SELECT PACKAGES.owner, PACKAGES.object_name, PACKAGES.object_type, PACKAGES.status,
PACKAGES.last_ddl_time, PACKAGES.object_id, PACKAGES.created
,NVL(d.debuginfo, ‘F’) DEBUGINFO
,(SELECT object_id, authid
FROM sys.user_procedures
WHERE subprogram_id = 0
AND object_type = ‘PACKAGE’
GROUP BY object_id, authid) pi
, sys.all_probe_objects d
WHERE PACKAGES.object_id = pi.object_id (+)
AND d.object_id (+) = PACKAGES.object_id
AND d.owner (+) = PACKAGES.object_name
AND d.object_name (+) = PACKAGES.object_name
AND d.object_type (+) in (‘PACKAGE’, ‘PACKAGE BODY’)
order by 3, 2

which is causing error:

ORA-01719: outer join operator (+) not allowed in operand of OR or IN

Same code is working on database.

It’s been fixed for the next beta.