[to #50589858] add type/type body info to all_source table
This commit is contained in:
@ -310,7 +310,7 @@ int ObInnerTableSchema::dba_source_schema(ObTableSchema &table_schema)
|
|||||||
table_schema.set_collation_type(ObCharset::get_default_collation(ObCharset::get_default_charset()));
|
table_schema.set_collation_type(ObCharset::get_default_collation(ObCharset::get_default_charset()));
|
||||||
|
|
||||||
if (OB_SUCC(ret)) {
|
if (OB_SUCC(ret)) {
|
||||||
if (OB_FAIL(table_schema.set_view_definition(R"__( SELECT CAST(D.DATABASE_NAME AS VARCHAR2(128)) AS OWNER, CAST(P.PACKAGE_NAME AS VARCHAR2(128)) AS NAME, CAST(CASE P.TYPE WHEN 1 THEN 'PACKAGE' WHEN 2 THEN 'PACKAGE BODY' END AS VARCHAR2(12)) AS TYPE, CAST(1 AS NUMBER) AS LINE, TO_CLOB(P.SOURCE) AS TEXT, P.TENANT_ID AS ORIGIN_CON_ID FROM (SELECT * FROM SYS.ALL_VIRTUAL_PACKAGE_REAL_AGENT WHERE TENANT_ID = EFFECTIVE_TENANT_ID()) P LEFT JOIN SYS.ALL_VIRTUAL_DATABASE_REAL_AGENT D ON P.DATABASE_ID = D.DATABASE_ID AND D.TENANT_ID = EFFECTIVE_TENANT_ID() WHERE D.IN_RECYCLEBIN = 0 UNION ALL SELECT CAST(D.DATABASE_NAME AS VARCHAR2(128)) AS OWNER, CAST(R.ROUTINE_NAME AS VARCHAR2(128)) AS NAME, CAST(CASE R.ROUTINE_TYPE WHEN 1 THEN 'PROCEDURE' WHEN 2 THEN 'FUNCTION' END AS VARCHAR2(12)) AS TYPE, CAST(1 AS NUMBER) AS LINE, TO_CLOB(R.ROUTINE_BODY) AS TEXT, R.TENANT_ID AS ORIGIN_CON_ID FROM (SELECT * FROM SYS.ALL_VIRTUAL_ROUTINE_REAL_AGENT WHERE TENANT_ID = EFFECTIVE_TENANT_ID()) R LEFT JOIN SYS.ALL_VIRTUAL_DATABASE_REAL_AGENT D ON R.DATABASE_ID = D.DATABASE_ID AND D.TENANT_ID = EFFECTIVE_TENANT_ID() WHERE D.IN_RECYCLEBIN = 0 AND R.PACKAGE_ID = -1 UNION ALL SELECT CAST(D.DATABASE_NAME AS VARCHAR2(128)) AS OWNER, CAST(T.TRIGGER_NAME AS VARCHAR2(128)) AS NAME, CAST('TRIGGER' AS VARCHAR2(12)) AS TYPE, CAST(1 AS NUMBER) AS LINE, TO_CLOB(T.TRIGGER_BODY) AS TEXT, T.TENANT_ID AS ORIGIN_CON_ID FROM (SELECT * FROM SYS.ALL_VIRTUAL_TENANT_TRIGGER_REAL_AGENT WHERE TENANT_ID = EFFECTIVE_TENANT_ID()) T LEFT JOIN SYS.ALL_VIRTUAL_DATABASE_REAL_AGENT D ON T.DATABASE_ID = D.DATABASE_ID AND D.TENANT_ID = EFFECTIVE_TENANT_ID() WHERE D.IN_RECYCLEBIN = 0 UNION ALL SELECT CAST('SYS' AS VARCHAR2(128)) AS OWNER, CAST(PS.PACKAGE_NAME AS VARCHAR2(128)) AS NAME, CAST(CASE PS.TYPE WHEN 1 THEN 'PACKAGE' WHEN 2 THEN 'PACKAGE BODY' END AS VARCHAR2(12)) AS TYPE, CAST(1 AS NUMBER) AS LINE, TO_CLOB(PS.SOURCE) AS TEXT, PS.TENANT_ID AS ORIGIN_CON_ID FROM SYS.ALL_VIRTUAL_PACKAGE_SYS_AGENT PS UNION ALL SELECT CAST('SYS' AS VARCHAR2(128)) AS OWNER, CAST(RS.ROUTINE_NAME AS VARCHAR2(128)) AS NAME, CAST(CASE RS.ROUTINE_TYPE WHEN 1 THEN 'PROCEDURE' WHEN 2 THEN 'FUNCTION' WHEN 3 THEN 'PACKAGE' END AS VARCHAR2(12)) AS TYPE, CAST(1 AS NUMBER) AS LINE, TO_CLOB(RS.ROUTINE_BODY) AS TEXT, RS.TENANT_ID AS ORIGIN_CON_ID FROM SYS.ALL_VIRTUAL_ROUTINE_SYS_AGENT RS WHERE RS.ROUTINE_TYPE = 1 OR RS.ROUTINE_TYPE = 2 UNION ALL SELECT CAST('SYS' AS VARCHAR2(128)) AS OWNER, CAST(TS.TRIGGER_NAME AS VARCHAR2(128)) AS NAME, CAST('TRIGGER' AS VARCHAR2(12)) AS TYPE, CAST(1 AS NUMBER) AS LINE, TO_CLOB(TS.TRIGGER_BODY) AS TEXT, TS.TENANT_ID AS ORIGIN_CON_ID FROM SYS.ALL_VIRTUAL_TENANT_TRIGGER_SYS_AGENT TS )__"))) {
|
if (OB_FAIL(table_schema.set_view_definition(R"__( SELECT CAST(D.DATABASE_NAME AS VARCHAR2(128)) AS OWNER, CAST(P.PACKAGE_NAME AS VARCHAR2(128)) AS NAME, CAST(CASE P.TYPE WHEN 1 THEN 'PACKAGE' WHEN 2 THEN 'PACKAGE BODY' END AS VARCHAR2(12)) AS TYPE, CAST(1 AS NUMBER) AS LINE, TO_CLOB(P.SOURCE) AS TEXT, P.TENANT_ID AS ORIGIN_CON_ID FROM (SELECT * FROM SYS.ALL_VIRTUAL_PACKAGE_REAL_AGENT WHERE TENANT_ID = EFFECTIVE_TENANT_ID()) P LEFT JOIN SYS.ALL_VIRTUAL_DATABASE_REAL_AGENT D ON P.DATABASE_ID = D.DATABASE_ID AND D.TENANT_ID = EFFECTIVE_TENANT_ID() WHERE D.IN_RECYCLEBIN = 0 UNION ALL SELECT CAST(D.DATABASE_NAME AS VARCHAR2(128)) AS OWNER, CAST(R.ROUTINE_NAME AS VARCHAR2(128)) AS NAME, CAST(CASE R.ROUTINE_TYPE WHEN 1 THEN 'PROCEDURE' WHEN 2 THEN 'FUNCTION' END AS VARCHAR2(12)) AS TYPE, CAST(1 AS NUMBER) AS LINE, TO_CLOB(R.ROUTINE_BODY) AS TEXT, R.TENANT_ID AS ORIGIN_CON_ID FROM (SELECT * FROM SYS.ALL_VIRTUAL_ROUTINE_REAL_AGENT WHERE TENANT_ID = EFFECTIVE_TENANT_ID()) R LEFT JOIN SYS.ALL_VIRTUAL_DATABASE_REAL_AGENT D ON R.DATABASE_ID = D.DATABASE_ID AND D.TENANT_ID = EFFECTIVE_TENANT_ID() WHERE D.IN_RECYCLEBIN = 0 AND R.PACKAGE_ID = -1 UNION ALL SELECT CAST(D.DATABASE_NAME AS VARCHAR2(128)) AS OWNER, CAST(T.TRIGGER_NAME AS VARCHAR2(128)) AS NAME, CAST('TRIGGER' AS VARCHAR2(12)) AS TYPE, CAST(1 AS NUMBER) AS LINE, TO_CLOB(T.TRIGGER_BODY) AS TEXT, T.TENANT_ID AS ORIGIN_CON_ID FROM (SELECT * FROM SYS.ALL_VIRTUAL_TENANT_TRIGGER_REAL_AGENT WHERE TENANT_ID = EFFECTIVE_TENANT_ID()) T LEFT JOIN SYS.ALL_VIRTUAL_DATABASE_REAL_AGENT D ON T.DATABASE_ID = D.DATABASE_ID AND D.TENANT_ID = EFFECTIVE_TENANT_ID() WHERE D.IN_RECYCLEBIN = 0 UNION ALL SELECT CAST('SYS' AS VARCHAR2(128)) AS OWNER, CAST(PS.PACKAGE_NAME AS VARCHAR2(128)) AS NAME, CAST(CASE PS.TYPE WHEN 1 THEN 'PACKAGE' WHEN 2 THEN 'PACKAGE BODY' END AS VARCHAR2(12)) AS TYPE, CAST(1 AS NUMBER) AS LINE, TO_CLOB(PS.SOURCE) AS TEXT, PS.TENANT_ID AS ORIGIN_CON_ID FROM SYS.ALL_VIRTUAL_PACKAGE_SYS_AGENT PS UNION ALL SELECT CAST('SYS' AS VARCHAR2(128)) AS OWNER, CAST(RS.ROUTINE_NAME AS VARCHAR2(128)) AS NAME, CAST(CASE RS.ROUTINE_TYPE WHEN 1 THEN 'PROCEDURE' WHEN 2 THEN 'FUNCTION' WHEN 3 THEN 'PACKAGE' END AS VARCHAR2(12)) AS TYPE, CAST(1 AS NUMBER) AS LINE, TO_CLOB(RS.ROUTINE_BODY) AS TEXT, RS.TENANT_ID AS ORIGIN_CON_ID FROM SYS.ALL_VIRTUAL_ROUTINE_SYS_AGENT RS WHERE RS.ROUTINE_TYPE = 1 OR RS.ROUTINE_TYPE = 2 UNION ALL SELECT CAST('SYS' AS VARCHAR2(128)) AS OWNER, CAST(TS.TRIGGER_NAME AS VARCHAR2(128)) AS NAME, CAST('TRIGGER' AS VARCHAR2(12)) AS TYPE, CAST(1 AS NUMBER) AS LINE, TO_CLOB(TS.TRIGGER_BODY) AS TEXT, TS.TENANT_ID AS ORIGIN_CON_ID FROM SYS.ALL_VIRTUAL_TENANT_TRIGGER_SYS_AGENT TS UNION ALL SELECT CAST(D.DATABASE_NAME AS VARCHAR2(128)) AS OWNER, CAST(TY.object_name AS VARCHAR2(128)) AS NAME, CAST(CASE TY.TYPE WHEN 1 THEN 'TYPE' WHEN 2 THEN 'TYPE BODY' END AS VARCHAR2(12)) AS TYPE, CAST(1 AS NUMBER) AS LINE, TO_CLOB(TY.SOURCE) AS TEXT, TY.TENANT_ID AS ORIGIN_CON_ID FROM (SELECT * FROM SYS.ALL_VIRTUAL_TENANT_OBJECT_TYPE_REAL_AGENT WHERE TENANT_ID = EFFECTIVE_TENANT_ID()) TY LEFT JOIN SYS.ALL_VIRTUAL_DATABASE_REAL_AGENT D ON TY.DATABASE_ID = D.DATABASE_ID AND D.TENANT_ID = EFFECTIVE_TENANT_ID() WHERE D.IN_RECYCLEBIN = 0 )__"))) {
|
||||||
LOG_ERROR("fail to set view_definition", K(ret));
|
LOG_ERROR("fail to set view_definition", K(ret));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -460,7 +460,7 @@ int ObInnerTableSchema::all_source_schema(ObTableSchema &table_schema)
|
|||||||
table_schema.set_collation_type(ObCharset::get_default_collation(ObCharset::get_default_charset()));
|
table_schema.set_collation_type(ObCharset::get_default_collation(ObCharset::get_default_charset()));
|
||||||
|
|
||||||
if (OB_SUCC(ret)) {
|
if (OB_SUCC(ret)) {
|
||||||
if (OB_FAIL(table_schema.set_view_definition(R"__( SELECT CAST(D.DATABASE_NAME AS VARCHAR2(128)) AS OWNER, CAST(P.PACKAGE_NAME AS VARCHAR2(128)) AS NAME, CAST(CASE P.TYPE WHEN 1 THEN 'PACKAGE' WHEN 2 THEN 'PACKAGE BODY' END AS VARCHAR2(12)) AS TYPE, CAST(1 AS NUMBER) AS LINE, TO_CLOB(P.SOURCE) AS TEXT, P.TENANT_ID AS ORIGIN_CON_ID FROM (SELECT * FROM SYS.ALL_VIRTUAL_PACKAGE_REAL_AGENT WHERE TENANT_ID = EFFECTIVE_TENANT_ID()) P LEFT JOIN SYS.ALL_VIRTUAL_DATABASE_REAL_AGENT D ON P.DATABASE_ID = D.DATABASE_ID AND D.TENANT_ID = EFFECTIVE_TENANT_ID() WHERE D.IN_RECYCLEBIN = 0 AND (P.DATABASE_ID = USERENV('SCHEMAID') OR USER_CAN_ACCESS_OBJ(12, P.PACKAGE_ID, P.DATABASE_ID) = 1) UNION ALL SELECT CAST(D.DATABASE_NAME AS VARCHAR2(128)) AS OWNER, CAST(R.ROUTINE_NAME AS VARCHAR2(128)) AS NAME, CAST(CASE R.ROUTINE_TYPE WHEN 1 THEN 'PROCEDURE' WHEN 2 THEN 'FUNCTION' END AS VARCHAR2(12)) AS TYPE, CAST(1 AS NUMBER) AS LINE, TO_CLOB(R.ROUTINE_BODY) AS TEXT, R.TENANT_ID AS ORIGIN_CON_ID FROM (SELECT * FROM SYS.ALL_VIRTUAL_ROUTINE_REAL_AGENT WHERE TENANT_ID = EFFECTIVE_TENANT_ID()) R LEFT JOIN SYS.ALL_VIRTUAL_DATABASE_REAL_AGENT D ON R.DATABASE_ID = D.DATABASE_ID AND D.TENANT_ID = EFFECTIVE_TENANT_ID() WHERE D.IN_RECYCLEBIN = 0 AND R.PACKAGE_ID = -1 AND (R.DATABASE_ID = USERENV('SCHEMAID') OR USER_CAN_ACCESS_OBJ(12, R.ROUTINE_ID, R.DATABASE_ID) = 1) UNION ALL SELECT CAST(D.DATABASE_NAME AS VARCHAR2(128)) AS OWNER, CAST(T.TRIGGER_NAME AS VARCHAR2(128)) AS NAME, CAST('TRIGGER' AS VARCHAR2(12)) AS TYPE, CAST(1 AS NUMBER) AS LINE, TO_CLOB(T.TRIGGER_BODY) AS TEXT, T.TENANT_ID AS ORIGIN_CON_ID FROM (SELECT * FROM SYS.ALL_VIRTUAL_TENANT_TRIGGER_REAL_AGENT WHERE TENANT_ID = EFFECTIVE_TENANT_ID())T LEFT JOIN SYS.ALL_VIRTUAL_DATABASE_REAL_AGENT D ON T.DATABASE_ID = D.DATABASE_ID AND D.TENANT_ID = EFFECTIVE_TENANT_ID() WHERE D.IN_RECYCLEBIN = 0 AND (T.DATABASE_ID = USERENV('SCHEMAID') OR USER_CAN_ACCESS_OBJ(12, T.TRIGGER_ID, T.DATABASE_ID) = 1) UNION ALL SELECT CAST('SYS' AS VARCHAR2(128)) AS OWNER, CAST(PS.PACKAGE_NAME AS VARCHAR2(128)) AS NAME, CAST(CASE PS.TYPE WHEN 1 THEN 'PACKAGE' WHEN 2 THEN 'PACKAGE BODY' END AS VARCHAR2(12)) AS TYPE, CAST(1 AS NUMBER) AS LINE, TO_CLOB(PS.SOURCE) AS TEXT, PS.TENANT_ID AS ORIGIN_CON_ID FROM SYS.ALL_VIRTUAL_PACKAGE_SYS_AGENT PS UNION ALL SELECT CAST('SYS' AS VARCHAR2(128)) AS OWNER, CAST(RS.ROUTINE_NAME AS VARCHAR2(128)) AS NAME, CAST(CASE RS.ROUTINE_TYPE WHEN 1 THEN 'PROCEDURE' WHEN 2 THEN 'FUNCTION' WHEN 3 THEN 'PACKAGE' END AS VARCHAR2(12)) AS TYPE, CAST(1 AS NUMBER) AS LINE, TO_CLOB(RS.ROUTINE_BODY) AS TEXT, RS.TENANT_ID AS ORIGIN_CON_ID FROM SYS.ALL_VIRTUAL_ROUTINE_SYS_AGENT RS WHERE RS.ROUTINE_TYPE = 1 OR RS.ROUTINE_TYPE = 2 UNION ALL SELECT CAST('SYS' AS VARCHAR2(128)) AS OWNER, CAST(TS.TRIGGER_NAME AS VARCHAR2(128)) AS NAME, CAST('TRIGGER' AS VARCHAR2(12)) AS TYPE, CAST(1 AS NUMBER) AS LINE, TO_CLOB(TS.TRIGGER_BODY) AS TEXT, TS.TENANT_ID AS ORIGIN_CON_ID FROM SYS.ALL_VIRTUAL_TENANT_TRIGGER_SYS_AGENT TS )__"))) {
|
if (OB_FAIL(table_schema.set_view_definition(R"__( SELECT CAST(D.DATABASE_NAME AS VARCHAR2(128)) AS OWNER, CAST(P.PACKAGE_NAME AS VARCHAR2(128)) AS NAME, CAST(CASE P.TYPE WHEN 1 THEN 'PACKAGE' WHEN 2 THEN 'PACKAGE BODY' END AS VARCHAR2(12)) AS TYPE, CAST(1 AS NUMBER) AS LINE, TO_CLOB(P.SOURCE) AS TEXT, P.TENANT_ID AS ORIGIN_CON_ID FROM (SELECT * FROM SYS.ALL_VIRTUAL_PACKAGE_REAL_AGENT WHERE TENANT_ID = EFFECTIVE_TENANT_ID()) P LEFT JOIN SYS.ALL_VIRTUAL_DATABASE_REAL_AGENT D ON P.DATABASE_ID = D.DATABASE_ID AND D.TENANT_ID = EFFECTIVE_TENANT_ID() WHERE D.IN_RECYCLEBIN = 0 AND (P.DATABASE_ID = USERENV('SCHEMAID') OR USER_CAN_ACCESS_OBJ(12, P.PACKAGE_ID, P.DATABASE_ID) = 1) UNION ALL SELECT CAST(D.DATABASE_NAME AS VARCHAR2(128)) AS OWNER, CAST(R.ROUTINE_NAME AS VARCHAR2(128)) AS NAME, CAST(CASE R.ROUTINE_TYPE WHEN 1 THEN 'PROCEDURE' WHEN 2 THEN 'FUNCTION' END AS VARCHAR2(12)) AS TYPE, CAST(1 AS NUMBER) AS LINE, TO_CLOB(R.ROUTINE_BODY) AS TEXT, R.TENANT_ID AS ORIGIN_CON_ID FROM (SELECT * FROM SYS.ALL_VIRTUAL_ROUTINE_REAL_AGENT WHERE TENANT_ID = EFFECTIVE_TENANT_ID()) R LEFT JOIN SYS.ALL_VIRTUAL_DATABASE_REAL_AGENT D ON R.DATABASE_ID = D.DATABASE_ID AND D.TENANT_ID = EFFECTIVE_TENANT_ID() WHERE D.IN_RECYCLEBIN = 0 AND R.PACKAGE_ID = -1 AND (R.DATABASE_ID = USERENV('SCHEMAID') OR USER_CAN_ACCESS_OBJ(12, R.ROUTINE_ID, R.DATABASE_ID) = 1) UNION ALL SELECT CAST(D.DATABASE_NAME AS VARCHAR2(128)) AS OWNER, CAST(T.TRIGGER_NAME AS VARCHAR2(128)) AS NAME, CAST('TRIGGER' AS VARCHAR2(12)) AS TYPE, CAST(1 AS NUMBER) AS LINE, TO_CLOB(T.TRIGGER_BODY) AS TEXT, T.TENANT_ID AS ORIGIN_CON_ID FROM (SELECT * FROM SYS.ALL_VIRTUAL_TENANT_TRIGGER_REAL_AGENT WHERE TENANT_ID = EFFECTIVE_TENANT_ID())T LEFT JOIN SYS.ALL_VIRTUAL_DATABASE_REAL_AGENT D ON T.DATABASE_ID = D.DATABASE_ID AND D.TENANT_ID = EFFECTIVE_TENANT_ID() WHERE D.IN_RECYCLEBIN = 0 AND (T.DATABASE_ID = USERENV('SCHEMAID') OR USER_CAN_ACCESS_OBJ(12, T.TRIGGER_ID, T.DATABASE_ID) = 1) UNION ALL SELECT CAST('SYS' AS VARCHAR2(128)) AS OWNER, CAST(PS.PACKAGE_NAME AS VARCHAR2(128)) AS NAME, CAST(CASE PS.TYPE WHEN 1 THEN 'PACKAGE' WHEN 2 THEN 'PACKAGE BODY' END AS VARCHAR2(12)) AS TYPE, CAST(1 AS NUMBER) AS LINE, TO_CLOB(PS.SOURCE) AS TEXT, PS.TENANT_ID AS ORIGIN_CON_ID FROM SYS.ALL_VIRTUAL_PACKAGE_SYS_AGENT PS UNION ALL SELECT CAST('SYS' AS VARCHAR2(128)) AS OWNER, CAST(RS.ROUTINE_NAME AS VARCHAR2(128)) AS NAME, CAST(CASE RS.ROUTINE_TYPE WHEN 1 THEN 'PROCEDURE' WHEN 2 THEN 'FUNCTION' WHEN 3 THEN 'PACKAGE' END AS VARCHAR2(12)) AS TYPE, CAST(1 AS NUMBER) AS LINE, TO_CLOB(RS.ROUTINE_BODY) AS TEXT, RS.TENANT_ID AS ORIGIN_CON_ID FROM SYS.ALL_VIRTUAL_ROUTINE_SYS_AGENT RS WHERE RS.ROUTINE_TYPE = 1 OR RS.ROUTINE_TYPE = 2 UNION ALL SELECT CAST('SYS' AS VARCHAR2(128)) AS OWNER, CAST(TS.TRIGGER_NAME AS VARCHAR2(128)) AS NAME, CAST('TRIGGER' AS VARCHAR2(12)) AS TYPE, CAST(1 AS NUMBER) AS LINE, TO_CLOB(TS.TRIGGER_BODY) AS TEXT, TS.TENANT_ID AS ORIGIN_CON_ID FROM SYS.ALL_VIRTUAL_TENANT_TRIGGER_SYS_AGENT TS UNION ALL SELECT CAST(D.DATABASE_NAME AS VARCHAR2(128)) AS OWNER, CAST(TY.object_name AS VARCHAR2(128)) AS NAME, CAST(CASE TY.TYPE WHEN 1 THEN 'TYPE' WHEN 2 THEN 'TYPE BODY' END AS VARCHAR2(12)) AS TYPE, CAST(1 AS NUMBER) AS LINE, TO_CLOB(TY.SOURCE) AS TEXT, TY.TENANT_ID AS ORIGIN_CON_ID FROM (SELECT * FROM SYS.ALL_VIRTUAL_TENANT_OBJECT_TYPE_REAL_AGENT WHERE TENANT_ID = EFFECTIVE_TENANT_ID()) TY LEFT JOIN SYS.ALL_VIRTUAL_DATABASE_REAL_AGENT D ON TY.DATABASE_ID = D.DATABASE_ID AND D.TENANT_ID = EFFECTIVE_TENANT_ID() WHERE D.IN_RECYCLEBIN = 0 AND (TY.DATABASE_ID = USERENV('SCHEMAID') OR USER_CAN_ACCESS_OBJ(12, TY.OBJECT_TYPE_ID, TY.DATABASE_ID) = 1) )__"))) {
|
||||||
LOG_ERROR("fail to set view_definition", K(ret));
|
LOG_ERROR("fail to set view_definition", K(ret));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -610,7 +610,7 @@ int ObInnerTableSchema::user_source_schema(ObTableSchema &table_schema)
|
|||||||
table_schema.set_collation_type(ObCharset::get_default_collation(ObCharset::get_default_charset()));
|
table_schema.set_collation_type(ObCharset::get_default_collation(ObCharset::get_default_charset()));
|
||||||
|
|
||||||
if (OB_SUCC(ret)) {
|
if (OB_SUCC(ret)) {
|
||||||
if (OB_FAIL(table_schema.set_view_definition(R"__( SELECT CAST(P.PACKAGE_NAME AS VARCHAR2(128)) AS NAME, CAST(CASE P.TYPE WHEN 1 THEN 'PACKAGE' WHEN 2 THEN 'PACKAGE BODY' END AS VARCHAR2(12)) AS TYPE, CAST(1 AS NUMBER) AS LINE, TO_CLOB(P.SOURCE) AS TEXT, P.TENANT_ID AS ORIGIN_CON_ID FROM (SELECT * FROM SYS.ALL_VIRTUAL_PACKAGE_REAL_AGENT WHERE TENANT_ID = EFFECTIVE_TENANT_ID()) P LEFT JOIN SYS.ALL_VIRTUAL_DATABASE_REAL_AGENT D ON P.DATABASE_ID = D.DATABASE_ID AND D.TENANT_ID = EFFECTIVE_TENANT_ID() WHERE D.IN_RECYCLEBIN = 0 UNION ALL SELECT CAST(R.ROUTINE_NAME AS VARCHAR2(128)) AS NAME, CAST(CASE R.ROUTINE_TYPE WHEN 1 THEN 'PROCEDURE' WHEN 2 THEN 'FUNCTION' WHEN 3 THEN 'PACKAGE' END AS VARCHAR2(12)) AS TYPE, CAST(1 AS NUMBER) AS LINE, TO_CLOB(R.ROUTINE_BODY) AS TEXT, R.TENANT_ID AS ORIGIN_CON_ID FROM (SELECT * FROM SYS.ALL_VIRTUAL_ROUTINE_REAL_AGENT WHERE TENANT_ID = EFFECTIVE_TENANT_ID()) R LEFT JOIN SYS.ALL_VIRTUAL_DATABASE_REAL_AGENT D ON R.DATABASE_ID = D.DATABASE_ID AND D.TENANT_ID = EFFECTIVE_TENANT_ID() WHERE D.IN_RECYCLEBIN = 0 AND R.PACKAGE_ID = -1 AND R.DATABASE_ID = USERENV('SCHEMAID') UNION ALL SELECT CAST(T.TRIGGER_NAME AS VARCHAR2(128)) AS NAME, CAST('TRIGGER' AS VARCHAR2(12)) AS TYPE, CAST(1 AS NUMBER) AS LINE, TO_CLOB(T.TRIGGER_BODY) AS TEXT, T.TENANT_ID AS ORIGIN_CON_ID FROM (SELECT * FROM SYS.ALL_VIRTUAL_TENANT_TRIGGER_REAL_AGENT WHERE TENANT_ID = EFFECTIVE_TENANT_ID()) T LEFT JOIN SYS.ALL_VIRTUAL_DATABASE_REAL_AGENT D ON T.DATABASE_ID = D.DATABASE_ID AND D.TENANT_ID = EFFECTIVE_TENANT_ID() WHERE D.IN_RECYCLEBIN = 0 AND T.DATABASE_ID = USERENV('SCHEMAID') )__"))) {
|
if (OB_FAIL(table_schema.set_view_definition(R"__( SELECT CAST(P.PACKAGE_NAME AS VARCHAR2(128)) AS NAME, CAST(CASE P.TYPE WHEN 1 THEN 'PACKAGE' WHEN 2 THEN 'PACKAGE BODY' END AS VARCHAR2(12)) AS TYPE, CAST(1 AS NUMBER) AS LINE, TO_CLOB(P.SOURCE) AS TEXT, P.TENANT_ID AS ORIGIN_CON_ID FROM (SELECT * FROM SYS.ALL_VIRTUAL_PACKAGE_REAL_AGENT WHERE TENANT_ID = EFFECTIVE_TENANT_ID()) P LEFT JOIN SYS.ALL_VIRTUAL_DATABASE_REAL_AGENT D ON P.DATABASE_ID = D.DATABASE_ID AND D.TENANT_ID = EFFECTIVE_TENANT_ID() WHERE D.IN_RECYCLEBIN = 0 UNION ALL SELECT CAST(R.ROUTINE_NAME AS VARCHAR2(128)) AS NAME, CAST(CASE R.ROUTINE_TYPE WHEN 1 THEN 'PROCEDURE' WHEN 2 THEN 'FUNCTION' WHEN 3 THEN 'PACKAGE' END AS VARCHAR2(12)) AS TYPE, CAST(1 AS NUMBER) AS LINE, TO_CLOB(R.ROUTINE_BODY) AS TEXT, R.TENANT_ID AS ORIGIN_CON_ID FROM (SELECT * FROM SYS.ALL_VIRTUAL_ROUTINE_REAL_AGENT WHERE TENANT_ID = EFFECTIVE_TENANT_ID()) R LEFT JOIN SYS.ALL_VIRTUAL_DATABASE_REAL_AGENT D ON R.DATABASE_ID = D.DATABASE_ID AND D.TENANT_ID = EFFECTIVE_TENANT_ID() WHERE D.IN_RECYCLEBIN = 0 AND R.PACKAGE_ID = -1 AND R.DATABASE_ID = USERENV('SCHEMAID') UNION ALL SELECT CAST(T.TRIGGER_NAME AS VARCHAR2(128)) AS NAME, CAST('TRIGGER' AS VARCHAR2(12)) AS TYPE, CAST(1 AS NUMBER) AS LINE, TO_CLOB(T.TRIGGER_BODY) AS TEXT, T.TENANT_ID AS ORIGIN_CON_ID FROM (SELECT * FROM SYS.ALL_VIRTUAL_TENANT_TRIGGER_REAL_AGENT WHERE TENANT_ID = EFFECTIVE_TENANT_ID()) T LEFT JOIN SYS.ALL_VIRTUAL_DATABASE_REAL_AGENT D ON T.DATABASE_ID = D.DATABASE_ID AND D.TENANT_ID = EFFECTIVE_TENANT_ID() WHERE D.IN_RECYCLEBIN = 0 AND T.DATABASE_ID = USERENV('SCHEMAID') UNION ALL SELECT CAST(TY.object_name AS VARCHAR2(128)) AS NAME, CAST(CASE TY.TYPE WHEN 1 THEN 'TYPE' WHEN 2 THEN 'TYPE BODY' END AS VARCHAR2(12)) AS TYPE, CAST(1 AS NUMBER) AS LINE, TO_CLOB(TY.SOURCE) AS TEXT, TY.TENANT_ID AS ORIGIN_CON_ID FROM (SELECT * FROM SYS.ALL_VIRTUAL_TENANT_OBJECT_TYPE_REAL_AGENT WHERE TENANT_ID = EFFECTIVE_TENANT_ID()) TY LEFT JOIN SYS.ALL_VIRTUAL_DATABASE_REAL_AGENT D ON TY.DATABASE_ID = D.DATABASE_ID AND D.TENANT_ID = EFFECTIVE_TENANT_ID() WHERE D.IN_RECYCLEBIN = 0 AND TY.DATABASE_ID = USERENV('SCHEMAID') )__"))) {
|
||||||
LOG_ERROR("fail to set view_definition", K(ret));
|
LOG_ERROR("fail to set view_definition", K(ret));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -34761,6 +34761,21 @@ def_table_schema(
|
|||||||
TS.TENANT_ID AS ORIGIN_CON_ID
|
TS.TENANT_ID AS ORIGIN_CON_ID
|
||||||
FROM
|
FROM
|
||||||
SYS.ALL_VIRTUAL_TENANT_TRIGGER_SYS_AGENT TS
|
SYS.ALL_VIRTUAL_TENANT_TRIGGER_SYS_AGENT TS
|
||||||
|
UNION ALL
|
||||||
|
SELECT
|
||||||
|
CAST(D.DATABASE_NAME AS VARCHAR2(128)) AS OWNER,
|
||||||
|
CAST(TY.object_name AS VARCHAR2(128)) AS NAME,
|
||||||
|
CAST(CASE TY.TYPE WHEN 1 THEN 'TYPE' WHEN 2 THEN 'TYPE BODY' END AS VARCHAR2(12)) AS TYPE,
|
||||||
|
CAST(1 AS NUMBER) AS LINE,
|
||||||
|
TO_CLOB(TY.SOURCE) AS TEXT,
|
||||||
|
TY.TENANT_ID AS ORIGIN_CON_ID
|
||||||
|
FROM
|
||||||
|
(SELECT * FROM SYS.ALL_VIRTUAL_TENANT_OBJECT_TYPE_REAL_AGENT
|
||||||
|
WHERE TENANT_ID = EFFECTIVE_TENANT_ID()) TY
|
||||||
|
LEFT JOIN SYS.ALL_VIRTUAL_DATABASE_REAL_AGENT D ON TY.DATABASE_ID = D.DATABASE_ID
|
||||||
|
AND D.TENANT_ID = EFFECTIVE_TENANT_ID()
|
||||||
|
WHERE
|
||||||
|
D.IN_RECYCLEBIN = 0
|
||||||
""".replace("\n", " ")
|
""".replace("\n", " ")
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -35066,6 +35081,23 @@ def_table_schema(
|
|||||||
TS.TENANT_ID AS ORIGIN_CON_ID
|
TS.TENANT_ID AS ORIGIN_CON_ID
|
||||||
FROM
|
FROM
|
||||||
SYS.ALL_VIRTUAL_TENANT_TRIGGER_SYS_AGENT TS
|
SYS.ALL_VIRTUAL_TENANT_TRIGGER_SYS_AGENT TS
|
||||||
|
UNION ALL
|
||||||
|
SELECT
|
||||||
|
CAST(D.DATABASE_NAME AS VARCHAR2(128)) AS OWNER,
|
||||||
|
CAST(TY.object_name AS VARCHAR2(128)) AS NAME,
|
||||||
|
CAST(CASE TY.TYPE WHEN 1 THEN 'TYPE' WHEN 2 THEN 'TYPE BODY' END AS VARCHAR2(12)) AS TYPE,
|
||||||
|
CAST(1 AS NUMBER) AS LINE,
|
||||||
|
TO_CLOB(TY.SOURCE) AS TEXT,
|
||||||
|
TY.TENANT_ID AS ORIGIN_CON_ID
|
||||||
|
FROM
|
||||||
|
(SELECT * FROM SYS.ALL_VIRTUAL_TENANT_OBJECT_TYPE_REAL_AGENT
|
||||||
|
WHERE TENANT_ID = EFFECTIVE_TENANT_ID()) TY
|
||||||
|
LEFT JOIN SYS.ALL_VIRTUAL_DATABASE_REAL_AGENT D ON TY.DATABASE_ID = D.DATABASE_ID
|
||||||
|
AND D.TENANT_ID = EFFECTIVE_TENANT_ID()
|
||||||
|
WHERE
|
||||||
|
D.IN_RECYCLEBIN = 0
|
||||||
|
AND (TY.DATABASE_ID = USERENV('SCHEMAID')
|
||||||
|
OR USER_CAN_ACCESS_OBJ(12, TY.OBJECT_TYPE_ID, TY.DATABASE_ID) = 1)
|
||||||
""".replace("\n", " ")
|
""".replace("\n", " ")
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -35247,6 +35279,21 @@ def_table_schema(
|
|||||||
WHERE
|
WHERE
|
||||||
D.IN_RECYCLEBIN = 0
|
D.IN_RECYCLEBIN = 0
|
||||||
AND T.DATABASE_ID = USERENV('SCHEMAID')
|
AND T.DATABASE_ID = USERENV('SCHEMAID')
|
||||||
|
UNION ALL
|
||||||
|
SELECT
|
||||||
|
CAST(TY.object_name AS VARCHAR2(128)) AS NAME,
|
||||||
|
CAST(CASE TY.TYPE WHEN 1 THEN 'TYPE' WHEN 2 THEN 'TYPE BODY' END AS VARCHAR2(12)) AS TYPE,
|
||||||
|
CAST(1 AS NUMBER) AS LINE,
|
||||||
|
TO_CLOB(TY.SOURCE) AS TEXT,
|
||||||
|
TY.TENANT_ID AS ORIGIN_CON_ID
|
||||||
|
FROM
|
||||||
|
(SELECT * FROM SYS.ALL_VIRTUAL_TENANT_OBJECT_TYPE_REAL_AGENT
|
||||||
|
WHERE TENANT_ID = EFFECTIVE_TENANT_ID()) TY
|
||||||
|
LEFT JOIN SYS.ALL_VIRTUAL_DATABASE_REAL_AGENT D ON TY.DATABASE_ID = D.DATABASE_ID
|
||||||
|
AND D.TENANT_ID = EFFECTIVE_TENANT_ID()
|
||||||
|
WHERE
|
||||||
|
D.IN_RECYCLEBIN = 0
|
||||||
|
AND TY.DATABASE_ID = USERENV('SCHEMAID')
|
||||||
""".replace("\n", " ")
|
""".replace("\n", " ")
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user