[CP] [to #2024071200103692093]fix bugs, all/user/dba_procedures add trigger results

This commit is contained in:
obdev
2024-08-19 18:59:16 +00:00
committed by ob-robot
parent ef59375e8a
commit 2f7388913b
2 changed files with 84 additions and 7 deletions

File diff suppressed because one or more lines are too long

View File

@ -42647,7 +42647,7 @@ def_table_schema(
WHEN 2 THEN 'FUNCTION'
WHEN 3 THEN 'PACKAGE'
WHEN 4 THEN 'TYPE' END AS OBJECT_TYPE,
CAST(DECODE(BITAND(RS.FLAG, 16384), 16484, 'YES', 'NO') AS VARCHAR(3)) AS AGGREGATE,
CAST(DECODE(BITAND(RS.FLAG, 16384), 16384, 'YES', 'NO') AS VARCHAR(3)) AS AGGREGATE,
CAST(DECODE(BITAND(RS.FLAG, 128), 128, 'YES', 'NO') AS VARCHAR2(3)) AS PIPELINED,
CAST(CASE WHEN TS1.TYPE_NAME IS NULL THEN NULL ELSE 'SYS' END AS VARCHAR2(30)) AS IMPLTYPEOWNER,
TS1.TYPE_NAME AS IMPLTYPENAME,
@ -42661,7 +42661,32 @@ def_table_schema(
LEFT JOIN SYS.ALL_VIRTUAL_PACKAGE_SYS_AGENT PS ON RS.PACKAGE_ID = PS.PACKAGE_ID
LEFT JOIN SYS.ALL_VIRTUAL_TYPE_SYS_AGENT TS ON RS.PACKAGE_ID = TS.TYPE_ID
LEFT JOIN SYS.ALL_VIRTUAL_TYPE_SYS_AGENT TS1 ON RS.TYPE_ID = TS1.TYPE_ID
WHERE RS.ROUTINE_TYPE != 1 AND RS.ROUTINE_TYPE != 2 -- sys tenant only have sys package and type.
WHERE RS.ROUTINE_TYPE != 1 AND RS.ROUTINE_TYPE != 2
UNION ALL
SELECT
DB.DATABASE_NAME AS OWNER,
TRG.TRIGGER_NAME AS OBJECT_NAME,
CAST(NULL AS VARCHAR2(128)) AS PROCEDURE_NAME,
TRG.TRIGGER_ID AS OBJECT_ID,
CAST(1 AS NUMBER) AS SUBPROGRAM_ID,
CAST(NULL AS NUMBER) AS OVERLOAD,
'TRIGGER' AS OBJECT_TYPE,
CAST('NO' AS VARCHAR2(3)) AS AGGREGATE,
CAST('NO' AS VARCHAR2(3)) AS PIPELINED,
CAST(NULL AS VARCHAR2(128)) AS IMPLTYPEOWNER,
CAST(NULL AS VARCHAR2(64)) AS IMPLTYPENAME,
CAST('NO' AS VARCHAR2(3)) AS PARALLEL,
CAST('NO' AS VARCHAR2(3)) AS INTERFACE,
CAST('NO' AS VARCHAR2(3)) AS DETERMINISTIC,
CAST('DEFINER' AS VARCHAR2(12)) AS AUTHID,
TRG.TENANT_ID AS ORIGIN_CON_ID
FROM SYS.ALL_VIRTUAL_TENANT_TRIGGER_REAL_AGENT TRG
INNER JOIN
SYS.ALL_VIRTUAL_DATABASE_REAL_AGENT DB
ON TRG.DATABASE_ID = DB.DATABASE_ID
AND TRG.TENANT_ID = EFFECTIVE_TENANT_ID()
AND DB.TENANT_ID = EFFECTIVE_TENANT_ID()
AND DB.IN_RECYCLEBIN = 0
""".replace("\n", " ")
)
@ -42958,7 +42983,7 @@ def_table_schema(
WHEN 2 THEN 'FUNCTION'
WHEN 3 THEN 'PACKAGE'
WHEN 4 THEN 'TYPE' END AS OBJECT_TYPE,
CAST(DECODE(BITAND(RS.FLAG, 16384), 16484, 'YES', 'NO') AS VARCHAR(3)) AS AGGREGATE,
CAST(DECODE(BITAND(RS.FLAG, 16384), 16384, 'YES', 'NO') AS VARCHAR(3)) AS AGGREGATE,
CAST(DECODE(BITAND(RS.FLAG, 128), 128, 'YES', 'NO') AS VARCHAR2(3)) AS PIPELINED,
CAST(CASE WHEN TS1.TYPE_NAME IS NULL THEN NULL ELSE 'SYS' END AS VARCHAR2(30)) AS IMPLTYPEOWNER,
TS1.TYPE_NAME AS IMPLTYPENAME,
@ -42972,7 +42997,34 @@ def_table_schema(
LEFT JOIN SYS.ALL_VIRTUAL_PACKAGE_SYS_AGENT PS ON RS.PACKAGE_ID = PS.PACKAGE_ID
LEFT JOIN SYS.ALL_VIRTUAL_TYPE_SYS_AGENT TS ON RS.PACKAGE_ID = TS.TYPE_ID
LEFT JOIN SYS.ALL_VIRTUAL_TYPE_SYS_AGENT TS1 ON RS.TYPE_ID = TS1.TYPE_ID
WHERE RS.ROUTINE_TYPE != 1 AND RS.ROUTINE_TYPE != 2 -- sys tenant only have sys package and type.
WHERE RS.ROUTINE_TYPE != 1 AND RS.ROUTINE_TYPE != 2
UNION ALL
SELECT
DB.DATABASE_NAME AS OWNER,
TRG.TRIGGER_NAME AS OBJECT_NAME,
CAST(NULL AS VARCHAR2(128)) AS PROCEDURE_NAME,
TRG.TRIGGER_ID AS OBJECT_ID,
CAST(1 AS NUMBER) AS SUBPROGRAM_ID,
CAST(NULL AS NUMBER) AS OVERLOAD,
'TRIGGER' AS OBJECT_TYPE,
CAST('NO' AS VARCHAR2(3)) AS AGGREGATE,
CAST('NO' AS VARCHAR2(3)) AS PIPELINED,
CAST(NULL AS VARCHAR2(128)) AS IMPLTYPEOWNER,
CAST(NULL AS VARCHAR2(64)) AS IMPLTYPENAME,
CAST('NO' AS VARCHAR2(3)) AS PARALLEL,
CAST('NO' AS VARCHAR2(3)) AS INTERFACE,
CAST('NO' AS VARCHAR2(3)) AS DETERMINISTIC,
CAST('DEFINER' AS VARCHAR2(12)) AS AUTHID,
TRG.TENANT_ID AS ORIGIN_CON_ID
FROM SYS.ALL_VIRTUAL_TENANT_TRIGGER_REAL_AGENT TRG
INNER JOIN
SYS.ALL_VIRTUAL_DATABASE_REAL_AGENT DB
ON TRG.DATABASE_ID = DB.DATABASE_ID
AND TRG.TENANT_ID = EFFECTIVE_TENANT_ID()
AND DB.TENANT_ID = EFFECTIVE_TENANT_ID()
AND (TRG.DATABASE_ID = USERENV('SCHEMAID')
OR USER_CAN_ACCESS_OBJ(1, abs(nvl(TRG.BASE_OBJECT_ID,0)), TRG.DATABASE_ID) = 1)
AND DB.IN_RECYCLEBIN = 0
""".replace("\n", " ")
)
@ -43253,6 +43305,31 @@ def_table_schema(
WHERE
D.IN_RECYCLEBIN = 0
AND R.DATABASE_ID = USERENV('SCHEMAID')
UNION ALL
SELECT
TRG.TRIGGER_NAME AS OBJECT_NAME,
CAST(NULL AS VARCHAR2(128)) AS PROCEDURE_NAME,
TRG.TRIGGER_ID AS OBJECT_ID,
CAST(1 AS NUMBER) AS SUBPROGRAM_ID,
CAST(NULL AS NUMBER) AS OVERLOAD,
'TRIGGER' AS OBJECT_TYPE,
CAST('NO' AS VARCHAR2(3)) AS AGGREGATE,
CAST('NO' AS VARCHAR2(3)) AS PIPELINED,
CAST(NULL AS VARCHAR2(128)) AS IMPLTYPEOWNER,
CAST(NULL AS VARCHAR2(64)) AS IMPLTYPENAME,
CAST('NO' AS VARCHAR2(3)) AS PARALLEL,
CAST('NO' AS VARCHAR2(3)) AS INTERFACE,
CAST('NO' AS VARCHAR2(3)) AS DETERMINISTIC,
CAST('DEFINER' AS VARCHAR2(12)) AS AUTHID,
TRG.TENANT_ID AS ORIGIN_CON_ID
FROM SYS.ALL_VIRTUAL_TENANT_TRIGGER_REAL_AGENT TRG
INNER JOIN
SYS.ALL_VIRTUAL_DATABASE_REAL_AGENT DB
ON TRG.DATABASE_ID = DB.DATABASE_ID
AND TRG.TENANT_ID = EFFECTIVE_TENANT_ID()
AND DB.TENANT_ID = EFFECTIVE_TENANT_ID()
AND TRG.DATABASE_ID = USERENV('SCHEMAID')
AND DB.IN_RECYCLEBIN = 0
""".replace("\n", " ")
)