{"id":4838,"date":"2020-10-28T10:31:05","date_gmt":"2020-10-28T13:31:05","guid":{"rendered":"https:\/\/www.dbarj.com.br\/2020\/10\/oracle-october-2020-critical-patch-advisory-pl-sql-detailed-changes\/"},"modified":"2020-10-28T10:31:05","modified_gmt":"2020-10-28T13:31:05","slug":"oracle-october-2020-critical-patch-advisory-pl-sql-detailed-changes","status":"publish","type":"post","link":"https:\/\/www.dbarj.com.br\/pt-br\/2020\/10\/oracle-october-2020-critical-patch-advisory-pl-sql-detailed-changes\/","title":{"rendered":"Oracle October 2020 Critical Patch Advisory &#8211; PL\/SQL detailed changes"},"content":{"rendered":"<p><strong>Oracle October 2020 Critical Patch Advisory changed objects performed by each database patch.<\/strong><\/p>\n<p>For more details and the catalog, check the main post: <a href=\"https:\/\/www.dbarj.com.br\/pt-br\/2020\/10\/dissecting-201020-bp-psu-ru-and-rur\/\" target=\"_blank\" rel=\"noopener noreferrer\">Dissecting 201020 BP, PSU, RU and RUR<\/a><\/p>\n<h2><strong>What exactly changed for each?<br \/>\n<span style=\"font-size: 18pt; color: #800000;\">(click to see detailed line changes)<\/span><\/strong><\/h2>\n<ul>\n<li>11.2.0.4\n<ul>\n<li><a href=\"#SYS.DBMS_PDB.PACKAGE BODY.11.2.0.4_BP\">SYS.DBMS_PDB &#8211; PACKAGE BODY 11g (BP)<\/a><\/li>\n<\/ul>\n<\/li>\n<li>12.1.0.2\n<ul>\n<li><a href=\"#DVSYS.DBMS_MACADM.PACKAGE BODY.12.1.0.2_PSU\">DVSYS.DBMS_MACADM &#8211; PACKAGE BODY 12cR1 (PSU)<\/a><\/li>\n<li><a href=\"#DVSYS.DBMS_MACADM.PACKAGE BODY.12.1.0.2_BP\">DVSYS.DBMS_MACADM &#8211; PACKAGE BODY 12cR1 (BP)<\/a><\/li>\n<li><a href=\"#DVSYS.DBMS_MACOLS.PACKAGE BODY.12.1.0.2_PSU\">DVSYS.DBMS_MACOLS &#8211; PACKAGE BODY 12cR1 (PSU)<\/a><\/li>\n<li><a href=\"#DVSYS.DBMS_MACOLS.PACKAGE BODY.12.1.0.2_BP\">DVSYS.DBMS_MACOLS &#8211; PACKAGE BODY 12cR1 (BP)<\/a><\/li>\n<li><a href=\"#DVSYS.DBMS_MACSEC.PACKAGE BODY.12.1.0.2_BP\">DVSYS.DBMS_MACSEC &#8211; PACKAGE BODY 12cR1 (BP)<\/a><\/li>\n<li><a href=\"#DVSYS.DBMS_MACSEC.PACKAGE BODY.12.1.0.2_PSU\">DVSYS.DBMS_MACSEC &#8211; PACKAGE BODY 12cR1 (PSU)<\/a><\/li>\n<li><a href=\"#DVSYS.DBMS_MACSEC_ROLES.PACKAGE BODY.12.1.0.2_BP\">DVSYS.DBMS_MACSEC_ROLES &#8211; PACKAGE BODY 12cR1 (BP)<\/a><\/li>\n<li><a href=\"#DVSYS.DBMS_MACUTL.PACKAGE BODY.12.1.0.2_PSU\">DVSYS.DBMS_MACUTL &#8211; PACKAGE BODY 12cR1 (PSU)<\/a><\/li>\n<li><a href=\"#DVSYS.DBMS_MACUTL.PACKAGE BODY.12.1.0.2_BP\">DVSYS.DBMS_MACUTL &#8211; PACKAGE BODY 12cR1 (BP)<\/a><\/li>\n<li><a href=\"#DVSYS.FACTOR_TYPE$_PRIV.PACKAGE BODY.12.1.0.2_PSU\">DVSYS.FACTOR_TYPE$_PRIV &#8211; PACKAGE BODY 12cR1 (PSU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_RCVMAN.PACKAGE.12.1.0.2_BP\">SYS.DBMS_RCVMAN &#8211; PACKAGE 12cR1 (BP)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_RCVMAN.PACKAGE.12.1.0.2_PSU\">SYS.DBMS_RCVMAN &#8211; PACKAGE 12cR1 (PSU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_RCVMAN.PACKAGE BODY.12.1.0.2_PSU\">SYS.DBMS_RCVMAN &#8211; PACKAGE BODY 12cR1 (PSU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_RCVMAN.PACKAGE BODY.12.1.0.2_BP\">SYS.DBMS_RCVMAN &#8211; PACKAGE BODY 12cR1 (BP)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_SQLPATCH.PACKAGE BODY.12.1.0.2_BP\">SYS.DBMS_SQLPATCH &#8211; PACKAGE BODY 12cR1 (BP)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_STATS.PACKAGE BODY.12.1.0.2_BP\">SYS.DBMS_STATS &#8211; PACKAGE BODY 12cR1 (BP)<\/a><\/li>\n<\/ul>\n<\/li>\n<li>12.2.0.1\n<ul>\n<li><a href=\"#CTXSYS.DRVDML.PACKAGE.12.2.0.1_RU\">CTXSYS.DRVDML &#8211; PACKAGE 12cR2 (RU)<\/a><\/li>\n<li><a href=\"#CTXSYS.DRVDML.PACKAGE BODY.12.2.0.1_RU\">CTXSYS.DRVDML &#8211; PACKAGE BODY 12cR2 (RU)<\/a><\/li>\n<li><a href=\"#DVSYS.DVLANG.FUNCTION.12.2.0.1_APR2020RUR\">DVSYS.DVLANG &#8211; FUNCTION 12cR2 (RU &#038; JUL2020RUR &#038; APR2020RUR)<\/a><\/li>\n<li><a href=\"#DVSYS.DBMS_MACADM.PACKAGE BODY.12.2.0.1_JUL2020RUR\">DVSYS.DBMS_MACADM &#8211; PACKAGE BODY 12cR2 (RU &#038; JUL2020RUR)<\/a><\/li>\n<li><a href=\"#DVSYS.DBMS_MACADM.PACKAGE BODY.12.2.0.1_APR2020RUR\">DVSYS.DBMS_MACADM &#8211; PACKAGE BODY 12cR2 (APR2020RUR)<\/a><\/li>\n<li><a href=\"#DVSYS.DBMS_MACOLS.PACKAGE BODY.12.2.0.1_APR2020RUR\">DVSYS.DBMS_MACOLS &#8211; PACKAGE BODY 12cR2 (RU &#038; JUL2020RUR &#038; APR2020RUR)<\/a><\/li>\n<li><a href=\"#DVSYS.DBMS_MACOLS_SESSION.PACKAGE BODY.12.2.0.1_APR2020RUR\">DVSYS.DBMS_MACOLS_SESSION &#8211; PACKAGE BODY 12cR2 (RU &#038; JUL2020RUR &#038; APR2020RUR)<\/a><\/li>\n<li><a href=\"#DVSYS.DBMS_MACSEC.PACKAGE BODY.12.2.0.1_APR2020RUR\">DVSYS.DBMS_MACSEC &#8211; PACKAGE BODY 12cR2 (RU &#038; JUL2020RUR &#038; APR2020RUR)<\/a><\/li>\n<li><a href=\"#DVSYS.DBMS_MACSEC_RULES.PACKAGE BODY.12.2.0.1_APR2020RUR\">DVSYS.DBMS_MACSEC_RULES &#8211; PACKAGE BODY 12cR2 (RU &#038; JUL2020RUR &#038; APR2020RUR)<\/a><\/li>\n<li><a href=\"#DVSYS.DBMS_MACUTL.PACKAGE BODY.12.2.0.1_APR2020RUR\">DVSYS.DBMS_MACUTL &#8211; PACKAGE BODY 12cR2 (RU &#038; JUL2020RUR &#038; APR2020RUR)<\/a><\/li>\n<li><a href=\"#DVSYS.EVENT.PACKAGE BODY.12.2.0.1_APR2020RUR\">DVSYS.EVENT &#8211; PACKAGE BODY 12cR2 (RU &#038; JUL2020RUR &#038; APR2020RUR)<\/a><\/li>\n<li><a href=\"#DVSYS.DBA_DV_STATUS.VIEW.12.2.0.1_APR2020RUR\">DVSYS.DBA_DV_STATUS &#8211; VIEW 12cR2 (RU &#038; JUL2020RUR &#038; APR2020RUR)<\/a><\/li>\n<li><a href=\"#DVSYS.DBA_DV_USER_PRIVS_ALL.VIEW.12.2.0.1_APR2020RUR\">DVSYS.DBA_DV_USER_PRIVS_ALL &#8211; VIEW 12cR2 (RU &#038; JUL2020RUR &#038; APR2020RUR)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_SNAPSHOT_KKXRCA.PACKAGE BODY.12.2.0.1_RU\">SYS.DBMS_SNAPSHOT_KKXRCA &#8211; PACKAGE BODY 12cR2 (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_SQLPATCH.PACKAGE BODY.12.2.0.1_RU\">SYS.DBMS_SQLPATCH &#8211; PACKAGE BODY 12cR2 (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_STATS.PACKAGE BODY.12.2.0.1_RU\">SYS.DBMS_STATS &#8211; PACKAGE BODY 12cR2 (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_FEATURE_ACTIVE_DATA_GUARD.PROCEDURE.12.2.0.1_RU\">SYS.DBMS_FEATURE_ACTIVE_DATA_GUARD &#8211; PROCEDURE 12cR2 (RU)<\/a><\/li>\n<\/ul>\n<\/li>\n<li>18.0.0.0\n<ul>\n<li><a href=\"#SYS.DBMS_BACKUP_RESTORE.PACKAGE.18.0.0.0_18.10RUR\">SYS.DBMS_BACKUP_RESTORE &#8211; PACKAGE 18c (18.10RUR)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_BACKUP_RESTORE.PACKAGE.18.0.0.0_RU\">SYS.DBMS_BACKUP_RESTORE &#8211; PACKAGE 18c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_BACKUP_RESTORE.PACKAGE.18.0.0.0_18.11RUR\">SYS.DBMS_BACKUP_RESTORE &#8211; PACKAGE 18c (18.11RUR)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_REGISTRY.PACKAGE.18.0.0.0_18.11RUR\">SYS.DBMS_REGISTRY &#8211; PACKAGE 18c (18.11RUR)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_REGISTRY.PACKAGE.18.0.0.0_RU\">SYS.DBMS_REGISTRY &#8211; PACKAGE 18c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_REGISTRY.PACKAGE.18.0.0.0_18.10RUR\">SYS.DBMS_REGISTRY &#8211; PACKAGE 18c (18.10RUR)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_RCVMAN.PACKAGE BODY.18.0.0.0_RU\">SYS.DBMS_RCVMAN &#8211; PACKAGE BODY 18c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_RCVMAN.PACKAGE BODY.18.0.0.0_18.10RUR\">SYS.DBMS_RCVMAN &#8211; PACKAGE BODY 18c (18.10RUR)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_RCVMAN.PACKAGE BODY.18.0.0.0_18.11RUR\">SYS.DBMS_RCVMAN &#8211; PACKAGE BODY 18c (18.11RUR)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_SNAPSHOT_KKXRCA.PACKAGE BODY.18.0.0.0_RU\">SYS.DBMS_SNAPSHOT_KKXRCA &#8211; PACKAGE BODY 18c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_STATS.PACKAGE BODY.18.0.0.0_RU\">SYS.DBMS_STATS &#8211; PACKAGE BODY 18c (RU)<\/a><\/li>\n<\/ul>\n<\/li>\n<li>19.0.0.0\n<ul>\n<li><a href=\"#DBSFWUSER.DBMS_SFW_ACL_ADMIN.PACKAGE BODY.19.0.0.0_RU\">DBSFWUSER.DBMS_SFW_ACL_ADMIN &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#MDSYS.SDO_RDF_INTERNAL.PACKAGE BODY.19.0.0.0_RU\">MDSYS.SDO_RDF_INTERNAL &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_BACKUP_RESTORE.PACKAGE.19.0.0.0_19.7RUR\">SYS.DBMS_BACKUP_RESTORE &#8211; PACKAGE 19c (19.7RUR)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_BACKUP_RESTORE.PACKAGE.19.0.0.0_19.8RUR\">SYS.DBMS_BACKUP_RESTORE &#8211; PACKAGE 19c (19.8RUR)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_BACKUP_RESTORE.PACKAGE.19.0.0.0_RU\">SYS.DBMS_BACKUP_RESTORE &#8211; PACKAGE 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_CRYPTO.PACKAGE.19.0.0.0_RU\">SYS.DBMS_CRYPTO &#8211; PACKAGE 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_CRYPTO_FFI.PACKAGE.19.0.0.0_RU\">SYS.DBMS_CRYPTO_FFI &#8211; PACKAGE 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_JSON0.PACKAGE.19.0.0.0_RU\">SYS.DBMS_JSON0 &#8211; PACKAGE 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_PARALLEL_EXECUTE_INTERNAL.PACKAGE.19.0.0.0_RU\">SYS.DBMS_PARALLEL_EXECUTE_INTERNAL &#8211; PACKAGE 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_REGISTRY.PACKAGE.19.0.0.0_19.8RUR\">SYS.DBMS_REGISTRY &#8211; PACKAGE 19c (19.8RUR)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_REGISTRY.PACKAGE.19.0.0.0_19.7RUR\">SYS.DBMS_REGISTRY &#8211; PACKAGE 19c (19.7RUR)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_REGISTRY.PACKAGE.19.0.0.0_RU\">SYS.DBMS_REGISTRY &#8211; PACKAGE 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_RULE_IMP_OBJ.PACKAGE.19.0.0.0_RU\">SYS.DBMS_RULE_IMP_OBJ &#8211; PACKAGE 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_SODA.PACKAGE.19.0.0.0_RU\">SYS.DBMS_SODA &#8211; PACKAGE 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_SODA_UTIL.PACKAGE.19.0.0.0_RU\">SYS.DBMS_SODA_UTIL &#8211; PACKAGE 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_SPM_INTERNAL.PACKAGE.19.0.0.0_19.8RUR\">SYS.DBMS_SPM_INTERNAL &#8211; PACKAGE 19c (RU &#038; 19.8RUR)<\/a><\/li>\n<li><a href=\"#SYS.PRVTEMX_PERF.PACKAGE.19.0.0.0_RU\">SYS.PRVTEMX_PERF &#8211; PACKAGE 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_AUTO_INDEX_INTERNAL.PACKAGE BODY.19.0.0.0_19.8RUR\">SYS.DBMS_AUTO_INDEX_INTERNAL &#8211; PACKAGE BODY 19c (RU &#038; 19.8RUR)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_CRYPTO.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_CRYPTO &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_CRYPTO_FFI.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_CRYPTO_FFI &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_ISCHED.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_ISCHED &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_JSON0.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_JSON0 &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_PARALLEL_EXECUTE.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_PARALLEL_EXECUTE &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_PARALLEL_EXECUTE_INTERNAL.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_PARALLEL_EXECUTE_INTERNAL &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_RCVMAN.PACKAGE BODY.19.0.0.0_19.7RUR\">SYS.DBMS_RCVMAN &#8211; PACKAGE BODY 19c (19.7RUR)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_RCVMAN.PACKAGE BODY.19.0.0.0_19.8RUR\">SYS.DBMS_RCVMAN &#8211; PACKAGE BODY 19c (19.8RUR)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_RCVMAN.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_RCVMAN &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_RULE_IMP_OBJ.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_RULE_IMP_OBJ &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_SNAPSHOT_KKXRCA.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_SNAPSHOT_KKXRCA &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_SODA.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_SODA &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_SODA_UTIL.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_SODA_UTIL &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_SPM.PACKAGE BODY.19.0.0.0_19.8RUR\">SYS.DBMS_SPM &#8211; PACKAGE BODY 19c (RU &#038; 19.8RUR)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_SPM_INTERNAL.PACKAGE BODY.19.0.0.0_19.8RUR\">SYS.DBMS_SPM_INTERNAL &#8211; PACKAGE BODY 19c (RU &#038; 19.8RUR)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_STATS.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_STATS &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_XPLAN.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_XPLAN &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.PRVTEMX_ADMIN.PACKAGE BODY.19.0.0.0_RU\">SYS.PRVTEMX_ADMIN &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.PRVTEMX_PERF.PACKAGE BODY.19.0.0.0_RU\">SYS.PRVTEMX_PERF &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.STANDARD.PACKAGE BODY.19.0.0.0_RU\">SYS.STANDARD &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBMS_FEATURE_UNIFIED_AUDIT.PROCEDURE.19.0.0.0_RU\">SYS.DBMS_FEATURE_UNIFIED_AUDIT &#8211; PROCEDURE 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.SODA_COLLECTION_T.TYPE.19.0.0.0_RU\">SYS.SODA_COLLECTION_T &#8211; TYPE 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.SODA_OPERATION_T.TYPE.19.0.0.0_RU\">SYS.SODA_OPERATION_T &#8211; TYPE 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.SODA_COLLECTION_T.TYPE BODY.19.0.0.0_RU\">SYS.SODA_COLLECTION_T &#8211; TYPE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.SODA_OPERATION_T.TYPE BODY.19.0.0.0_RU\">SYS.SODA_OPERATION_T &#8211; TYPE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.WRI$_REPT_SESSION.TYPE BODY.19.0.0.0_RU\">SYS.WRI$_REPT_SESSION &#8211; TYPE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBA_PARALLEL_EXECUTE_CHUNKS.VIEW.19.0.0.0_RU\">SYS.DBA_PARALLEL_EXECUTE_CHUNKS &#8211; VIEW 19c (RU)<\/a><\/li>\n<li><a href=\"#SYS.DBA_PARALLEL_EXECUTE_TASKS.VIEW.19.0.0.0_RU\">SYS.DBA_PARALLEL_EXECUTE_TASKS &#8211; VIEW 19c (RU)<\/a><\/li>\n<li><a href=\"#XDB.DBMS_JSON.PACKAGE.19.0.0.0_RU\">XDB.DBMS_JSON &#8211; PACKAGE 19c (RU)<\/a><\/li>\n<li><a href=\"#XDB.DBMS_JSON_INT.PACKAGE.19.0.0.0_RU\">XDB.DBMS_JSON_INT &#8211; PACKAGE 19c (RU)<\/a><\/li>\n<li><a href=\"#XDB.DBMS_SODA_ADMIN.PACKAGE.19.0.0.0_RU\">XDB.DBMS_SODA_ADMIN &#8211; PACKAGE 19c (RU)<\/a><\/li>\n<li><a href=\"#XDB.DBMS_SODA_DML.PACKAGE.19.0.0.0_RU\">XDB.DBMS_SODA_DML &#8211; PACKAGE 19c (RU)<\/a><\/li>\n<li><a href=\"#XDB.DBMS_SODA_DOM.PACKAGE.19.0.0.0_RU\">XDB.DBMS_SODA_DOM &#8211; PACKAGE 19c (RU)<\/a><\/li>\n<li><a href=\"#XDB.DBMS_JSON.PACKAGE BODY.19.0.0.0_RU\">XDB.DBMS_JSON &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#XDB.DBMS_JSON_INT.PACKAGE BODY.19.0.0.0_RU\">XDB.DBMS_JSON_INT &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#XDB.DBMS_SODA_ADMIN.PACKAGE BODY.19.0.0.0_RU\">XDB.DBMS_SODA_ADMIN &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#XDB.DBMS_SODA_DML.PACKAGE BODY.19.0.0.0_RU\">XDB.DBMS_SODA_DML &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<li><a href=\"#XDB.DBMS_SODA_DOM.PACKAGE BODY.19.0.0.0_RU\">XDB.DBMS_SODA_DOM &#8211; PACKAGE BODY 19c (RU)<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2>Changed Objects<\/h2>\n<p><span style=\"font-size: 12pt;\"><strong>P.S:<br \/>\n<\/strong><\/span><span style=\"font-size: 12pt;\"><strong>&gt; = Added Lines<br \/>\n&lt; = Removed Lines<\/strong><\/span><\/p>\n<h3><strong>11.2.0.4<\/strong><\/h3>\n<div id=\"SYS.DBMS_PDB.PACKAGE BODY.11.2.0.4_BP\">SYS.DBMS_PDB &#8211; PACKAGE BODY (BP):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n272c272,274\r\n&lt;            ROWNUM-1  as tbspNum,        -- + tsn_kpdbts\r\n---\r\n&gt;            ROWNUM-1  as newTbspNum,        -- + tsn_kpdbts\r\n&gt;            -- bug 31506720: but to fetch datafile info, we need to use real ts#\r\n&gt;            ts# as tbspNum,\r\n1045c1047\r\n&lt;       appendDataNode(doc, tbsNode, 'tsn', tablespaces(ts).tbspInfo.tbspNum);\r\n---\r\n&gt;       appendDataNode(doc, tbsNode, 'tsn', tablespaces(ts).tbspInfo.newTbspNum);\r\n<\/pre>\n<h3><strong>12.1.0.2<\/strong><\/h3>\n<div id=\"DVSYS.DBMS_MACADM.PACKAGE BODY.12.1.0.2_PSU\">DVSYS.DBMS_MACADM &#8211; PACKAGE BODY (PSU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n27c27\r\n&lt;     V_XSL_XMLTYPE   XMLTYPE;\r\n---\r\n&gt;     V_XSL_XMLTYPE   SYS.XMLTYPE;\r\n37c37\r\n&lt;                        P_XSL         IN XMLTYPE) IS\r\n---\r\n&gt;                        P_XSL         IN SYS.XMLTYPE) IS\r\n42,43c42,43\r\n&lt;       V_DLF_XMLTYPE XMLTYPE;\r\n&lt;       V_CONTEXT     DBMS_XMLSTORE.CTXTYPE;\r\n---\r\n&gt;       V_DLF_XMLTYPE SYS.XMLTYPE;\r\n&gt;       V_CONTEXT     SYS.DBMS_XMLSTORE.CTXTYPE;\r\n59c59\r\n&lt;       V_DLF_XMLTYPE := XMLTYPE.CREATEXML(XMLDATA=&gt;V_DLF_BLOB, CSID=&gt;NULL, SCHEMA=&gt;NULL);\r\n---\r\n&gt;       V_DLF_XMLTYPE := SYS.XMLTYPE.CREATEXML(XMLDATA=&gt;V_DLF_BLOB, CSID=&gt;NULL, SCHEMA=&gt;NULL);\r\n61,63c61,63\r\n&lt;       V_CONTEXT := DBMS_XMLSTORE.NEWCONTEXT(P_TABLE_OWNER||'.'||V_TABLE_NAME);\r\n&lt;       DBMS_XMLSTORE.SETROWTAG(V_CONTEXT, 'ROW');\r\n&lt;       V_ROWS := DBMS_XMLSTORE.INSERTXML(V_CONTEXT,\r\n---\r\n&gt;       V_CONTEXT := SYS.DBMS_XMLSTORE.NEWCONTEXT(P_TABLE_OWNER||'.'||V_TABLE_NAME);\r\n&gt;       SYS.DBMS_XMLSTORE.SETROWTAG(V_CONTEXT, 'ROW');\r\n&gt;       V_ROWS := SYS.DBMS_XMLSTORE.INSERTXML(V_CONTEXT,\r\n65c65\r\n&lt;       DBMS_XMLSTORE.CLOSECONTEXT(V_CONTEXT);\r\n---\r\n&gt;       SYS.DBMS_XMLSTORE.CLOSECONTEXT(V_CONTEXT);\r\n120c120\r\n&lt;       SELECT PLATFORM_ID INTO V_PFID FROM V$DATABASE;\r\n---\r\n&gt;       SELECT PLATFORM_ID INTO V_PFID FROM SYS.V_$DATABASE;\r\n138c138\r\n&lt;     V_XSL_XMLTYPE := XMLTYPE.CREATEXML(XMLDATA=&gt;V_XSL_BLOB, CSID=&gt;NULL, SCHEMA=&gt;NULL);\r\n---\r\n&gt;     V_XSL_XMLTYPE := SYS.XMLTYPE.CREATEXML(XMLDATA=&gt;V_XSL_BLOB, CSID=&gt;NULL, SCHEMA=&gt;NULL);\r\n1994,1995d1993\r\n&lt;\r\n&lt;\r\n2299c2297\r\n&lt;     ADD_RULE_TO_RULE_SET ( RULE_SET_NAME,RULE_NAME,RULE_ORDER,DVSYS.DBMS_MACUTL.G_YES);\r\n---\r\n&gt;     ADD_RULE_TO_RULE_SET (RULE_SET_NAME,RULE_NAME,RULE_ORDER,DVSYS.DBMS_MACUTL.G_YES);\r\n<\/pre>\n<div id=\"DVSYS.DBMS_MACADM.PACKAGE BODY.12.1.0.2_BP\">DVSYS.DBMS_MACADM &#8211; PACKAGE BODY (BP):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n27c27\r\n&lt;     V_XSL_XMLTYPE   XMLTYPE;\r\n---\r\n&gt;     V_XSL_XMLTYPE   SYS.XMLTYPE;\r\n37c37\r\n&lt;                        P_XSL         IN XMLTYPE) IS\r\n---\r\n&gt;                        P_XSL         IN SYS.XMLTYPE) IS\r\n42,43c42,43\r\n&lt;       V_DLF_XMLTYPE XMLTYPE;\r\n&lt;       V_CONTEXT     DBMS_XMLSTORE.CTXTYPE;\r\n---\r\n&gt;       V_DLF_XMLTYPE SYS.XMLTYPE;\r\n&gt;       V_CONTEXT     SYS.DBMS_XMLSTORE.CTXTYPE;\r\n59c59\r\n&lt;       V_DLF_XMLTYPE := XMLTYPE.CREATEXML(XMLDATA=&gt;V_DLF_BLOB, CSID=&gt;NULL, SCHEMA=&gt;NULL);\r\n---\r\n&gt;       V_DLF_XMLTYPE := SYS.XMLTYPE.CREATEXML(XMLDATA=&gt;V_DLF_BLOB, CSID=&gt;NULL, SCHEMA=&gt;NULL);\r\n61,63c61,63\r\n&lt;       V_CONTEXT := DBMS_XMLSTORE.NEWCONTEXT(P_TABLE_OWNER||'.'||V_TABLE_NAME);\r\n&lt;       DBMS_XMLSTORE.SETROWTAG(V_CONTEXT, 'ROW');\r\n&lt;       V_ROWS := DBMS_XMLSTORE.INSERTXML(V_CONTEXT,\r\n---\r\n&gt;       V_CONTEXT := SYS.DBMS_XMLSTORE.NEWCONTEXT(P_TABLE_OWNER||'.'||V_TABLE_NAME);\r\n&gt;       SYS.DBMS_XMLSTORE.SETROWTAG(V_CONTEXT, 'ROW');\r\n&gt;       V_ROWS := SYS.DBMS_XMLSTORE.INSERTXML(V_CONTEXT,\r\n65c65\r\n&lt;       DBMS_XMLSTORE.CLOSECONTEXT(V_CONTEXT);\r\n---\r\n&gt;       SYS.DBMS_XMLSTORE.CLOSECONTEXT(V_CONTEXT);\r\n120c120\r\n&lt;       SELECT PLATFORM_ID INTO V_PFID FROM V$DATABASE;\r\n---\r\n&gt;       SELECT PLATFORM_ID INTO V_PFID FROM SYS.V_$DATABASE;\r\n138c138\r\n&lt;     V_XSL_XMLTYPE := XMLTYPE.CREATEXML(XMLDATA=&gt;V_XSL_BLOB, CSID=&gt;NULL, SCHEMA=&gt;NULL);\r\n---\r\n&gt;     V_XSL_XMLTYPE := SYS.XMLTYPE.CREATEXML(XMLDATA=&gt;V_XSL_BLOB, CSID=&gt;NULL, SCHEMA=&gt;NULL);\r\n1994,1995d1993\r\n&lt;\r\n&lt;\r\n2299,2300c2297,2298\r\n&lt;     ADD_RULE_TO_RULE_SET ( RULE_SET_NAME,RULE_NAME,RULE_ORDER,DVSYS.DBMS_MACUTL.G_YES);\r\n&lt;   END;\r\n---\r\n&gt;     ADD_RULE_TO_RULE_SET (RULE_SET_NAME,RULE_NAME,RULE_ORDER,DVSYS.DBMS_MACUTL.G_YES);\r\n&gt;     END;\r\n<\/pre>\n<div id=\"DVSYS.DBMS_MACOLS.PACKAGE BODY.12.1.0.2_PSU\">DVSYS.DBMS_MACOLS &#8211; PACKAGE BODY (PSU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n85c85\r\n&lt;                           LABEL_IND = DBMS_MACUTL.G_YES)\r\n---\r\n&gt;                           LABEL_IND = DVSYS.DBMS_MACUTL.G_YES)\r\n107,109c107,109\r\n&lt;         L_LABEL := NUMERIC_LABEL_TO_CHAR\r\n&lt;             (SA_UTL.MERGE_LABEL\r\n&lt;                 (LABEL1 =&gt; CHAR_TO_LABEL(POLICY_NAME  =&gt; L_POLICY,\r\n---\r\n&gt;         L_LABEL := LBACSYS.NUMERIC_LABEL_TO_CHAR\r\n&gt;             (LBACSYS.SA_UTL.MERGE_LABEL\r\n&gt;                 (LABEL1 =&gt; LBACSYS.TO_NUMERIC_LABEL(POLICY_NAME  =&gt; L_POLICY,\r\n111c111\r\n&lt;                  LABEL2 =&gt; CHAR_TO_LABEL(POLICY_NAME  =&gt; L_POLICY,\r\n---\r\n&gt;                  LABEL2 =&gt; LBACSYS.TO_NUMERIC_LABEL(POLICY_NAME  =&gt; L_POLICY,\r\n238c238\r\n&lt;       L_SESSION_LABEL := SA_SESSION.LABEL(POLICY_NAME =&gt; POLICY.POL_NAME);\r\n---\r\n&gt;       L_SESSION_LABEL := LBACSYS.SA_SESSION.LABEL(POLICY_NAME =&gt; POLICY.POL_NAME);\r\n275,277c275,277\r\n&lt;           L_MAC_LABEL := NUMERIC_LABEL_TO_CHAR\r\n&lt;                       (SA_UTL.MERGE_LABEL\r\n&lt;                            (LABEL1 =&gt; CHAR_TO_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n---\r\n&gt;           L_MAC_LABEL := LBACSYS.NUMERIC_LABEL_TO_CHAR\r\n&gt;                       (LBACSYS.SA_UTL.MERGE_LABEL\r\n&gt;                            (LABEL1 =&gt; LBACSYS.TO_NUMERIC_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n279c279\r\n&lt;                             LABEL2 =&gt; CHAR_TO_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n---\r\n&gt;                             LABEL2 =&gt; LBACSYS.TO_NUMERIC_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n290c290\r\n&lt;         SA_UTL.DOMINATES(LABEL1 =&gt; CHAR_TO_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n---\r\n&gt;         LBACSYS.SA_UTL.DOMINATES(LABEL1 =&gt; LBACSYS.TO_NUMERIC_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n292c292\r\n&lt;                          LABEL2 =&gt; CHAR_TO_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n---\r\n&gt;                          LABEL2 =&gt; LBACSYS.TO_NUMERIC_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n296,298c296,298\r\n&lt;         L_SESSION_LABEL := NUMERIC_LABEL_TO_CHAR\r\n&lt;                     (SA_UTL.MERGE_LABEL\r\n&lt;                          (LABEL1 =&gt; CHAR_TO_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n---\r\n&gt;         L_SESSION_LABEL := LBACSYS.NUMERIC_LABEL_TO_CHAR\r\n&gt;                     (LBACSYS.SA_UTL.MERGE_LABEL\r\n&gt;                          (LABEL1 =&gt; LBACSYS.TO_NUMERIC_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n300c300\r\n&lt;                           LABEL2 =&gt; CHAR_TO_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n---\r\n&gt;                           LABEL2 =&gt; LBACSYS.TO_NUMERIC_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n391c391\r\n&lt;       DBMS_SESSION.SET_CONTEXT(NAMESPACE =&gt; DBMS_MACUTL.G_CONTEXT_SESSION_LABEL ||\r\n---\r\n&gt;       SYS.DBMS_SESSION.SET_CONTEXT(NAMESPACE =&gt; DBMS_MACUTL.G_CONTEXT_SESSION_LABEL ||\r\n<\/pre>\n<div id=\"DVSYS.DBMS_MACOLS.PACKAGE BODY.12.1.0.2_BP\">DVSYS.DBMS_MACOLS &#8211; PACKAGE BODY (BP):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n85c85\r\n&lt;                           LABEL_IND = DBMS_MACUTL.G_YES)\r\n---\r\n&gt;                           LABEL_IND = DVSYS.DBMS_MACUTL.G_YES)\r\n107,109c107,109\r\n&lt;         L_LABEL := NUMERIC_LABEL_TO_CHAR\r\n&lt;             (SA_UTL.MERGE_LABEL\r\n&lt;                 (LABEL1 =&gt; CHAR_TO_LABEL(POLICY_NAME  =&gt; L_POLICY,\r\n---\r\n&gt;         L_LABEL := LBACSYS.NUMERIC_LABEL_TO_CHAR\r\n&gt;             (LBACSYS.SA_UTL.MERGE_LABEL\r\n&gt;                 (LABEL1 =&gt; LBACSYS.TO_NUMERIC_LABEL(POLICY_NAME  =&gt; L_POLICY,\r\n111c111\r\n&lt;                  LABEL2 =&gt; CHAR_TO_LABEL(POLICY_NAME  =&gt; L_POLICY,\r\n---\r\n&gt;                  LABEL2 =&gt; LBACSYS.TO_NUMERIC_LABEL(POLICY_NAME  =&gt; L_POLICY,\r\n238c238\r\n&lt;       L_SESSION_LABEL := SA_SESSION.LABEL(POLICY_NAME =&gt; POLICY.POL_NAME);\r\n---\r\n&gt;       L_SESSION_LABEL := LBACSYS.SA_SESSION.LABEL(POLICY_NAME =&gt; POLICY.POL_NAME);\r\n275,277c275,277\r\n&lt;           L_MAC_LABEL := NUMERIC_LABEL_TO_CHAR\r\n&lt;                       (SA_UTL.MERGE_LABEL\r\n&lt;                            (LABEL1 =&gt; CHAR_TO_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n---\r\n&gt;           L_MAC_LABEL := LBACSYS.NUMERIC_LABEL_TO_CHAR\r\n&gt;                       (LBACSYS.SA_UTL.MERGE_LABEL\r\n&gt;                            (LABEL1 =&gt; LBACSYS.TO_NUMERIC_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n279c279\r\n&lt;                             LABEL2 =&gt; CHAR_TO_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n---\r\n&gt;                             LABEL2 =&gt; LBACSYS.TO_NUMERIC_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n290c290\r\n&lt;         SA_UTL.DOMINATES(LABEL1 =&gt; CHAR_TO_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n---\r\n&gt;         LBACSYS.SA_UTL.DOMINATES(LABEL1 =&gt; LBACSYS.TO_NUMERIC_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n292c292\r\n&lt;                          LABEL2 =&gt; CHAR_TO_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n---\r\n&gt;                          LABEL2 =&gt; LBACSYS.TO_NUMERIC_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n296,298c296,298\r\n&lt;         L_SESSION_LABEL := NUMERIC_LABEL_TO_CHAR\r\n&lt;                     (SA_UTL.MERGE_LABEL\r\n&lt;                          (LABEL1 =&gt; CHAR_TO_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n---\r\n&gt;         L_SESSION_LABEL := LBACSYS.NUMERIC_LABEL_TO_CHAR\r\n&gt;                     (LBACSYS.SA_UTL.MERGE_LABEL\r\n&gt;                          (LABEL1 =&gt; LBACSYS.TO_NUMERIC_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n300c300\r\n&lt;                           LABEL2 =&gt; CHAR_TO_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n---\r\n&gt;                           LABEL2 =&gt; LBACSYS.TO_NUMERIC_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n<\/pre>\n<div id=\"DVSYS.DBMS_MACSEC.PACKAGE BODY.12.1.0.2_BP\">DVSYS.DBMS_MACSEC &#8211; PACKAGE BODY (BP):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n315,317c315,317\r\n&lt;     L_NAMESPACE SESSION_CONTEXT.NAMESPACE%TYPE;\r\n&lt;     L_ATTRIBUTE SESSION_CONTEXT.ATTRIBUTE%TYPE;\r\n&lt;     L_VALUE     SESSION_CONTEXT.VALUE%TYPE;\r\n---\r\n&gt;     L_NAMESPACE SYS.SESSION_CONTEXT.NAMESPACE%TYPE;\r\n&gt;     L_ATTRIBUTE SYS.SESSION_CONTEXT.ATTRIBUTE%TYPE;\r\n&gt;     L_VALUE     SYS.SESSION_CONTEXT.VALUE%TYPE;\r\n319c319\r\n&lt;     L_NAME FACTOR$.NAME%TYPE;\r\n---\r\n&gt;     L_NAME DVSYS.FACTOR$.NAME%TYPE;\r\n323c323\r\n&lt;     L_FACTOR_NAME FACTOR$.NAME%TYPE;\r\n---\r\n&gt;     L_FACTOR_NAME DVSYS.FACTOR$.NAME%TYPE;\r\n<\/pre>\n<div id=\"DVSYS.DBMS_MACSEC.PACKAGE BODY.12.1.0.2_PSU\">DVSYS.DBMS_MACSEC &#8211; PACKAGE BODY (PSU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n315,317c315,317\r\n&lt;     L_NAMESPACE SESSION_CONTEXT.NAMESPACE%TYPE;\r\n&lt;     L_ATTRIBUTE SESSION_CONTEXT.ATTRIBUTE%TYPE;\r\n&lt;     L_VALUE     SESSION_CONTEXT.VALUE%TYPE;\r\n---\r\n&gt;     L_NAMESPACE SYS.SESSION_CONTEXT.NAMESPACE%TYPE;\r\n&gt;     L_ATTRIBUTE SYS.SESSION_CONTEXT.ATTRIBUTE%TYPE;\r\n&gt;     L_VALUE     SYS.SESSION_CONTEXT.VALUE%TYPE;\r\n319c319\r\n&lt;     L_NAME FACTOR$.NAME%TYPE;\r\n---\r\n&gt;     L_NAME DVSYS.FACTOR$.NAME%TYPE;\r\n323c323\r\n&lt;     L_FACTOR_NAME FACTOR$.NAME%TYPE;\r\n---\r\n&gt;     L_FACTOR_NAME DVSYS.FACTOR$.NAME%TYPE;\r\n<\/pre>\n<div id=\"DVSYS.DBMS_MACSEC_ROLES.PACKAGE BODY.12.1.0.2_BP\">DVSYS.DBMS_MACSEC_ROLES &#8211; PACKAGE BODY (BP):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n67c67\r\n&lt;     DBMS_SESSION.SET_ROLE(L_TO_BE_SET);\r\n---\r\n&gt;     SYS.DBMS_SESSION.SET_ROLE(L_TO_BE_SET);\r\n<\/pre>\n<div id=\"DVSYS.DBMS_MACUTL.PACKAGE BODY.12.1.0.2_PSU\">DVSYS.DBMS_MACUTL &#8211; PACKAGE BODY (PSU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n217c217\r\n&lt;         FROM V$OPTION\r\n---\r\n&gt;         FROM SYS.V_$OPTION\r\n551,552c551,552\r\n&lt;     DOMAIN     IN ROLE_ARRAY DEFAULT NULL,\r\n&lt;     DOMAIN_STR IN ROLENAME_ARRAY DEFAULT NULL)\r\n---\r\n&gt;     DOMAIN     IN SYS.ROLE_ARRAY DEFAULT NULL,\r\n&gt;     DOMAIN_STR IN SYS.ROLENAME_ARRAY DEFAULT NULL)\r\n616d615\r\n&lt;\r\n904,905c903,904\r\n&lt;       C IN (SELECT ATTRIBUTE, VALUE FROM SESSION_CONTEXT\r\n&lt;              WHERE NAMESPACE = DBMS_MACUTL.G_CONTEXT_FACTOR)\r\n---\r\n&gt;       C IN (SELECT ATTRIBUTE, VALUE FROM SYS.SESSION_CONTEXT\r\n&gt;              WHERE NAMESPACE = DVSYS.DBMS_MACUTL.G_CONTEXT_FACTOR)\r\n988c987\r\n&lt;     FROM V$OPTION\r\n---\r\n&gt;     FROM SYS.V_$OPTION\r\n<\/pre>\n<div id=\"DVSYS.DBMS_MACUTL.PACKAGE BODY.12.1.0.2_BP\">DVSYS.DBMS_MACUTL &#8211; PACKAGE BODY (BP):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n217c217\r\n&lt;         FROM V$OPTION\r\n---\r\n&gt;         FROM SYS.V_$OPTION\r\n551,552c551,552\r\n&lt;     DOMAIN     IN ROLE_ARRAY DEFAULT NULL,\r\n&lt;     DOMAIN_STR IN ROLENAME_ARRAY DEFAULT NULL)\r\n---\r\n&gt;     DOMAIN     IN SYS.ROLE_ARRAY DEFAULT NULL,\r\n&gt;     DOMAIN_STR IN SYS.ROLENAME_ARRAY DEFAULT NULL)\r\n905c905\r\n&lt;              WHERE NAMESPACE = DBMS_MACUTL.G_CONTEXT_FACTOR)\r\n---\r\n&gt;              WHERE NAMESPACE = DVSYS.DBMS_MACUTL.G_CONTEXT_FACTOR)\r\n988c988\r\n&lt;     FROM V$OPTION\r\n---\r\n&gt;     FROM SYS.V_$OPTION\r\n<\/pre>\n<div id=\"DVSYS.FACTOR_TYPE$_PRIV.PACKAGE BODY.12.1.0.2_PSU\">DVSYS.FACTOR_TYPE$_PRIV &#8211; PACKAGE BODY (PSU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n85c85\r\n&lt;        DBMS_MACADM.GET_ORA_LANG LANG FROM DUAL) B\r\n---\r\n&gt;        DBMS_MACADM.GET_ORA_LANG LANG FROM SYS.DUAL) B\r\n<\/pre>\n<div id=\"SYS.DBMS_RCVMAN.PACKAGE.12.1.0.2_BP\">SYS.DBMS_RCVMAN &#8211; PACKAGE (BP):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n3503a3504,3505\r\n&gt; PROCEDURE setSkipOfflineRangeAboveSCN(maxCheckpointSCN IN NUMBER);\r\n&gt;\r\n<\/pre>\n<div id=\"SYS.DBMS_RCVMAN.PACKAGE.12.1.0.2_PSU\">SYS.DBMS_RCVMAN &#8211; PACKAGE (PSU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n3494a3495,3496\r\n&gt; PROCEDURE setSkipOfflineRangeAboveSCN(maxCheckpointSCN IN NUMBER);\r\n&gt;\r\n<\/pre>\n<div id=\"SYS.DBMS_RCVMAN.PACKAGE BODY.12.1.0.2_BP\">SYS.DBMS_RCVMAN &#8211; PACKAGE BODY (BP):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n187a188,200\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt; SKIPOFFLINERANGEABOVESCN NUMBER := NULL;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n11457a11471,11476\r\n&gt;            END IF;\r\n&gt;\r\n&gt;            IF (ACTION.TYPE_CON = OFFLINERANGEREC_CON_T AND\r\n&gt;                     (FROMSCN &gt; SKIPOFFLINERANGEABOVESCN OR\r\n&gt;                      TOSCN &gt; SKIPOFFLINERANGEABOVESCN)) THEN\r\n&gt;                RETURN ACTION_SKIP;\r\n29364a29384,29392\r\n&gt;\r\n&gt;\r\n&gt; PROCEDURE SETSKIPOFFLINERANGEABOVESCN(MAXCHECKPOINTSCN IN NUMBER)\r\n&gt; IS\r\n&gt; BEGIN\r\n&gt;    DEB(DEB_ENTER, 'setSkipOfflineRangeAboveSCN');\r\n&gt;    SKIPOFFLINERANGEABOVESCN := MAXCHECKPOINTSCN;\r\n&gt;    DEB(DEB_EXIT);\r\n&gt; END SETSKIPOFFLINERANGEABOVESCN;\r\n<\/pre>\n<div id=\"SYS.DBMS_RCVMAN.PACKAGE BODY.12.1.0.2_PSU\">SYS.DBMS_RCVMAN &#8211; PACKAGE BODY (PSU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n176a177,189\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt; SKIPOFFLINERANGEABOVESCN NUMBER := NULL;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n11408a11422,11427\r\n&gt;            END IF;\r\n&gt;\r\n&gt;            IF (ACTION.TYPE_CON = OFFLINERANGEREC_CON_T AND\r\n&gt;                     (FROMSCN &gt; SKIPOFFLINERANGEABOVESCN OR\r\n&gt;                      TOSCN &gt; SKIPOFFLINERANGEABOVESCN)) THEN\r\n&gt;                RETURN ACTION_SKIP;\r\n29157a29177,29185\r\n&gt;\r\n&gt;\r\n&gt; PROCEDURE SETSKIPOFFLINERANGEABOVESCN(MAXCHECKPOINTSCN IN NUMBER)\r\n&gt; IS\r\n&gt; BEGIN\r\n&gt;    DEB(DEB_ENTER, 'setSkipOfflineRangeAboveSCN');\r\n&gt;    SKIPOFFLINERANGEABOVESCN := MAXCHECKPOINTSCN;\r\n&gt;    DEB(DEB_EXIT);\r\n&gt; END SETSKIPOFFLINERANGEABOVESCN;\r\n<\/pre>\n<div id=\"SYS.DBMS_SQLPATCH.PACKAGE BODY.12.1.0.2_BP\">SYS.DBMS_SQLPATCH &#8211; PACKAGE BODY (BP):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n33a34,36\r\n&gt;   USE_ROLLBACK_FILES BOOLEAN := FALSE;\r\n&gt;\r\n&gt;\r\n786,790c789,841\r\n&lt;       IF CURRENT_PATCH.ACTION = 'APPLY' THEN\r\n&lt;         RETURN OH_SQL_FILE;\r\n&lt;       ELSE\r\n&lt;         RETURN ROLLBACK_SQL_FILE;\r\n&lt;       END IF;\r\n---\r\n&gt;       IF CURRENT_PATCH_DESCRIPTOR IS NULL THEN\r\n&gt;\r\n&gt;         IF CURRENT_PATCH.ACTION = 'APPLY' THEN\r\n&gt;           DEBUG_PUT_LINE('  NO descriptor available; action APPLY, pick from OH');\r\n&gt;           RETURN OH_SQL_FILE;\r\n&gt;         ELSE\r\n&gt;           DEBUG_PUT_LINE('  NO descriptor available; action ROLLBACK, pick from rollback_files');\r\n&gt;           RETURN ROLLBACK_SQL_FILE;\r\n&gt;         END IF;\r\n&gt;       ELSE\r\n&gt;\r\n&gt;         BEGIN\r\n&gt;           SELECT F_NEW INTO FILE_NEW\r\n&gt;           FROM XMLTABLE(\r\n&gt;             '\/sqlPatch\/sqlFiles\/file'\r\n&gt;             PASSING CURRENT_PATCH_DESCRIPTOR\r\n&gt;             COLUMNS F_NAME VARCHAR2(256) PATH 'normalize-space(.)',\r\n&gt;                     F_ACTION VARCHAR2(20) PATH '@mode',\r\n&gt;                     F_NEW VARCHAR2(3) PATH '@new')\r\n&gt;           WHERE F_NAME = SQL_FILE\r\n&gt;             AND UPPER(F_ACTION) LIKE '%' || CURRENT_PATCH.ACTION || '%';\r\n&gt;         EXCEPTION\r\n&gt;           WHEN NO_DATA_FOUND THEN\r\n&gt;\r\n&gt;\r\n&gt;             RAISE_APPLICATION_ERROR(-20000, 'File ' || SQL_FILE ||\r\n&gt;               ' does not exist in descriptor ');\r\n&gt;         END;\r\n&gt;\r\n&gt;           DEBUG_PUT_LINE('file new? : ' || FILE_NEW);\r\n&gt;\r\n&gt;         IF CURRENT_PATCH.ACTION = 'APPLY' THEN\r\n&gt;           DEBUG_PUT_LINE('  descriptor available; action APPLY, pick from OH');\r\n&gt;           RETURN OH_SQL_FILE;\r\n&gt;         ELSE\r\n&gt;           IF FILE_NEW = 'yes' THEN\r\n&gt;\r\n&gt;             DEBUG_PUT_LINE('  descriptor available; action ROLLBACK, new file, pick from rollback_files');\r\n&gt;             RETURN ROLLBACK_SQL_FILE;\r\n&gt;           ELSE\r\n&gt;             IF USE_ROLLBACK_FILES THEN\r\n&gt;\r\n&gt;               DEBUG_PUT_LINE('  descriptor available; action ROLLBACK, existing file, use_rollback_files is true; pick from rollback_files');\r\n&gt;               RETURN ROLLBACK_SQL_FILE;\r\n&gt;             ELSE\r\n&gt;\r\n&gt;               DEBUG_PUT_LINE('  descriptor available; action ROLLBACK, existing file, pick from OH');\r\n&gt;               RETURN OH_SQL_FILE;\r\n&gt;             END IF;\r\n&gt;           END IF;\r\n&gt;         END IF;\r\n&gt;       END IF;\r\n&gt;\r\n1043c1094,1095\r\n&lt;                                P_DEBUG IN BOOLEAN := FALSE) IS\r\n---\r\n&gt;                                P_DEBUG IN BOOLEAN := FALSE,\r\n&gt;                                P_USE_ROLLBACK_FILES IN BOOLEAN := FALSE) IS\r\n1048a1101\r\n&gt;     USE_ROLLBACK_FILES := P_USE_ROLLBACK_FILES;\r\n<\/pre>\n<div id=\"SYS.DBMS_STATS.PACKAGE BODY.12.1.0.2_BP\">SYS.DBMS_STATS &#8211; PACKAGE BODY (BP):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n33725a33726,33727\r\n&gt;\r\n&gt;         STSFLAGS := 0;\r\n34752c34754\r\n&lt;         (PREPARESTATJOBS OR SEQSTATJOBS) AND\r\n---\r\n&gt;         (PREPARESTATJOBS OR SEQSTATJOBS OR EXECUTESTATJOBS) AND\r\n34760a34763,34770\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n<\/pre>\n<h3><strong>12.2.0.1<\/strong><\/h3>\n<div id=\"CTXSYS.DRVDML.PACKAGE.12.2.0.1_RU\">CTXSYS.DRVDML &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n113c113,115\r\n&lt;   p_rids   in varchar2\r\n---\r\n&gt;   p_rids   in varchar2,\r\n&gt;   p_utab   in varchar2,\r\n&gt;   p_pname  in varchar2\r\n<\/pre>\n<div id=\"CTXSYS.DRVDML.PACKAGE BODY.12.2.0.1_RU\">CTXSYS.DRVDML &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n352c352,354\r\n&lt;   P_RIDS   IN VARCHAR2\r\n---\r\n&gt;   P_RIDS   IN VARCHAR2,\r\n&gt;   P_UTAB   IN VARCHAR2,\r\n&gt;   P_PNAME  IN VARCHAR2\r\n366a369,385\r\n&gt;\r\n&gt;   IF P_UTAB IS NOT NULL THEN\r\n&gt;     IF P_PNAME IS NOT NULL THEN\r\n&gt;       FORALL I IN 1..RIDCOUNT\r\n&gt;         EXECUTE IMMEDIATE\r\n&gt;           'delete from '||DBMS_ASSERT.QUALIFIED_SQL_NAME(P_UTAB)||\r\n&gt;           ' partition ('||DBMS_ASSERT.SIMPLE_SQL_NAME(P_PNAME)||')'||\r\n&gt;           ' where rid = :1'\r\n&gt;         USING RIDS(I);\r\n&gt;     ELSE\r\n&gt;       FORALL I IN 1..RIDCOUNT\r\n&gt;         EXECUTE IMMEDIATE\r\n&gt;           'delete from '||DBMS_ASSERT.QUALIFIED_SQL_NAME(P_UTAB)||\r\n&gt;           ' where rid = :1'\r\n&gt;         USING RIDS(I);\r\n&gt;     END IF;\r\n&gt;   END IF;\r\n385a405,410\r\n&gt;   FOUND   BOOLEAN := TRUE;\r\n&gt;   IDX     DR_DEF.IDX_REC;\r\n&gt;   IXP     DR_DEF.IXP_REC;\r\n&gt;   UTAB    DRVUTL.DR_QLID2 := NULL;\r\n&gt;   PNAME   DRVUTL.DR_QLID := NULL;\r\n&gt;   L_IXPID NUMBER := P_IXPID;\r\n391a417,433\r\n&gt;   IF DRIXMD.CHKINDEXOPTION(P_IDXID, 'u') = 1 THEN\r\n&gt;     IDX := DRIXMD.GETINDEXRECBYID(P_IDXID);\r\n&gt;     IF (P_IXPID != 0) THEN\r\n&gt;       IXP := DRIXMD.GETPARTITIONRECBYID(P_IXPID, P_IDXID);\r\n&gt;     END IF;\r\n&gt;\r\n&gt;     IF (P_IXPID != 0 AND IDX.IDX_TYPE = DRIXMD.IDX_TYPE_CONTEXT2) THEN\r\n&gt;       L_IXPID := NULL;\r\n&gt;       PNAME := DBMS_ASSERT.SIMPLE_SQL_NAME(IXP.IXP_NAME);\r\n&gt;     END IF;\r\n&gt;\r\n&gt;     UTAB := DBMS_ASSERT.QUALIFIED_SQL_NAME(\r\n&gt;               DRVXTAB.GET_OBJECT_NAME(IDX.IDX_OWNER, IDX.IDX_NAME,\r\n&gt;                                       IDX.IDX_ID, L_IXPID, 'U'));\r\n&gt;   END IF;\r\n&gt;\r\n&gt;\r\n411a454\r\n&gt;       FOUND := TRUE;\r\n414,415c457\r\n&lt;         DRIDML.DELETEPENDING(P_IDXID, P_IXPID, C1.PND_ROWID);\r\n&lt;         COMMIT;\r\n---\r\n&gt;         FOUND := FALSE;\r\n419,420c461\r\n&lt;         DRIDML.DELETEPENDING(P_IDXID, P_IXPID, C1.PND_ROWID);\r\n&lt;         COMMIT;\r\n---\r\n&gt;         FOUND := FALSE;\r\n424,425c465\r\n&lt;           DRIDML.DELETEPENDING(P_IDXID, P_IXPID, C1.PND_ROWID);\r\n&lt;           COMMIT;\r\n---\r\n&gt;           FOUND := FALSE;\r\n430a471,489\r\n&gt;\r\n&gt;\r\n&gt;     IF NOT FOUND THEN\r\n&gt;       DRIDML.DELETEPENDING(P_IDXID, P_IXPID, C1.PND_ROWID);\r\n&gt;\r\n&gt;       IF UTAB IS NOT NULL THEN\r\n&gt;         IF PNAME IS NOT NULL THEN\r\n&gt;           EXECUTE IMMEDIATE\r\n&gt;             'delete from '||UTAB||' partition ('||PNAME||') where rid = :1'\r\n&gt;           USING C1.PND_ROWID;\r\n&gt;         ELSE\r\n&gt;           EXECUTE IMMEDIATE\r\n&gt;             'delete from '||UTAB||' where rid = :1'\r\n&gt;           USING C1.PND_ROWID;\r\n&gt;         END IF;\r\n&gt;       END IF;\r\n&gt;\r\n&gt;       COMMIT;\r\n&gt;     END IF;\r\n<\/pre>\n<div id=\"DVSYS.DVLANG.FUNCTION.12.2.0.1_APR2020RUR\">DVSYS.DVLANG &#8211; FUNCTION (APR2020RUR):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n25c25\r\n&lt;   sys.dbms_sql.parse( l_cursor, l_stmt, dbms_sql.native );\r\n---\r\n&gt;   sys.dbms_sql.parse( l_cursor, l_stmt, sys.dbms_sql.native );\r\n<\/pre>\n<div id=\"DVSYS.DBMS_MACADM.PACKAGE BODY.12.2.0.1_JUL2020RUR\">DVSYS.DBMS_MACADM &#8211; PACKAGE BODY (JUL2020RUR):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n1031,1032c1031,1032\r\n&lt;     ADD_AUTH_TO_REALM(REALM_NAME, GRANTEE, NULL, DBMS_MACUTL.G_REALM_AUTH_PARTICIPANT,\r\n&lt;                       DBMS_MACUTL.G_SCOPE_LOCAL);\r\n---\r\n&gt;     ADD_AUTH_TO_REALM(REALM_NAME, GRANTEE, NULL, DVSYS.DBMS_MACUTL.G_REALM_AUTH_PARTICIPANT,\r\n&gt;                       DVSYS.DBMS_MACUTL.G_SCOPE_LOCAL);\r\n1041c1041\r\n&lt;                       DBMS_MACUTL.G_SCOPE_LOCAL);\r\n---\r\n&gt;                       DVSYS.DBMS_MACUTL.G_SCOPE_LOCAL);\r\n1049,1050c1049,1050\r\n&lt;     ADD_AUTH_TO_REALM(REALM_NAME, GRANTEE, RULE_SET_NAME, DBMS_MACUTL.G_REALM_AUTH_PARTICIPANT,\r\n&lt;                       DBMS_MACUTL.G_SCOPE_LOCAL);\r\n---\r\n&gt;     ADD_AUTH_TO_REALM(REALM_NAME, GRANTEE, RULE_SET_NAME, DVSYS.DBMS_MACUTL.G_REALM_AUTH_PARTICIPANT,\r\n&gt;                       DVSYS.DBMS_MACUTL.G_SCOPE_LOCAL);\r\n1365c1365\r\n&lt;     ADD_RULE_TO_RULE_SET (RULE_SET_NAME,RULE_NAME,RULE_ORDER,DBMS_MACUTL.G_YES);\r\n---\r\n&gt;     ADD_RULE_TO_RULE_SET (RULE_SET_NAME,RULE_NAME,RULE_ORDER,DVSYS.DBMS_MACUTL.G_YES);\r\n1394c1394\r\n&lt;     ADD_RULE_TO_RULE_SET ( RULE_SET_NAME,RULE_NAME,L_RULE_ORDER,DBMS_MACUTL.G_YES);\r\n---\r\n&gt;     ADD_RULE_TO_RULE_SET ( RULE_SET_NAME,RULE_NAME,L_RULE_ORDER,DVSYS.DBMS_MACUTL.G_YES);\r\n<\/pre>\n<div id=\"DVSYS.DBMS_MACADM.PACKAGE BODY.12.2.0.1_APR2020RUR\">DVSYS.DBMS_MACADM &#8211; PACKAGE BODY (APR2020RUR):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n1031,1032c1031,1032\r\n&lt;     ADD_AUTH_TO_REALM(REALM_NAME, GRANTEE, NULL, DBMS_MACUTL.G_REALM_AUTH_PARTICIPANT,\r\n&lt;                       DBMS_MACUTL.G_SCOPE_LOCAL);\r\n---\r\n&gt;     ADD_AUTH_TO_REALM(REALM_NAME, GRANTEE, NULL, DVSYS.DBMS_MACUTL.G_REALM_AUTH_PARTICIPANT,\r\n&gt;                       DVSYS.DBMS_MACUTL.G_SCOPE_LOCAL);\r\n1041c1041\r\n&lt;                       DBMS_MACUTL.G_SCOPE_LOCAL);\r\n---\r\n&gt;                       DVSYS.DBMS_MACUTL.G_SCOPE_LOCAL);\r\n1049,1050c1049,1050\r\n&lt;     ADD_AUTH_TO_REALM(REALM_NAME, GRANTEE, RULE_SET_NAME, DBMS_MACUTL.G_REALM_AUTH_PARTICIPANT,\r\n&lt;                       DBMS_MACUTL.G_SCOPE_LOCAL);\r\n---\r\n&gt;     ADD_AUTH_TO_REALM(REALM_NAME, GRANTEE, RULE_SET_NAME, DVSYS.DBMS_MACUTL.G_REALM_AUTH_PARTICIPANT,\r\n&gt;                       DVSYS.DBMS_MACUTL.G_SCOPE_LOCAL);\r\n1365c1365\r\n&lt;     ADD_RULE_TO_RULE_SET (RULE_SET_NAME,RULE_NAME,RULE_ORDER,DBMS_MACUTL.G_YES);\r\n---\r\n&gt;     ADD_RULE_TO_RULE_SET (RULE_SET_NAME,RULE_NAME,RULE_ORDER,DVSYS.DBMS_MACUTL.G_YES);\r\n1394c1394\r\n&lt;     ADD_RULE_TO_RULE_SET ( RULE_SET_NAME,RULE_NAME,L_RULE_ORDER,DBMS_MACUTL.G_YES);\r\n---\r\n&gt;     ADD_RULE_TO_RULE_SET ( RULE_SET_NAME,RULE_NAME,L_RULE_ORDER,DVSYS.DBMS_MACUTL.G_YES);\r\n<\/pre>\n<div id=\"DVSYS.DBMS_MACOLS.PACKAGE BODY.12.2.0.1_APR2020RUR\">DVSYS.DBMS_MACOLS &#8211; PACKAGE BODY (APR2020RUR):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n85c85\r\n&lt;                           LABEL_IND = DBMS_MACUTL.G_YES)\r\n---\r\n&gt;                           LABEL_IND = DVSYS.DBMS_MACUTL.G_YES)\r\n107,109c107,109\r\n&lt;         L_LABEL := NUMERIC_LABEL_TO_CHAR\r\n&lt;             (SA_UTL.MERGE_LABEL\r\n&lt;                 (LABEL1 =&gt; CHAR_TO_LABEL(POLICY_NAME  =&gt; L_POLICY,\r\n---\r\n&gt;         L_LABEL := LBACSYS.NUMERIC_LABEL_TO_CHAR\r\n&gt;             (LBACSYS.SA_UTL.MERGE_LABEL\r\n&gt;                 (LABEL1 =&gt; LBACSYS.TO_NUMERIC_LABEL(POLICY_NAME  =&gt; L_POLICY,\r\n111c111\r\n&lt;                  LABEL2 =&gt; CHAR_TO_LABEL(POLICY_NAME  =&gt; L_POLICY,\r\n---\r\n&gt;                  LABEL2 =&gt; LBACSYS.TO_NUMERIC_LABEL(POLICY_NAME  =&gt; L_POLICY,\r\n238c238\r\n&lt;       L_SESSION_LABEL := SA_SESSION.LABEL(POLICY_NAME =&gt; POLICY.POL_NAME);\r\n---\r\n&gt;       L_SESSION_LABEL := LBACSYS.SA_SESSION.LABEL(POLICY_NAME =&gt; POLICY.POL_NAME);\r\n275,277c275,277\r\n&lt;           L_MAC_LABEL := NUMERIC_LABEL_TO_CHAR\r\n&lt;                       (SA_UTL.MERGE_LABEL\r\n&lt;                            (LABEL1 =&gt; CHAR_TO_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n---\r\n&gt;           L_MAC_LABEL := LBACSYS.NUMERIC_LABEL_TO_CHAR\r\n&gt;                       (LBACSYS.SA_UTL.MERGE_LABEL\r\n&gt;                            (LABEL1 =&gt; LBACSYS.TO_NUMERIC_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n279c279\r\n&lt;                             LABEL2 =&gt; CHAR_TO_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n---\r\n&gt;                             LABEL2 =&gt; LBACSYS.TO_NUMERIC_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n290c290\r\n&lt;         SA_UTL.DOMINATES(LABEL1 =&gt; CHAR_TO_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n---\r\n&gt;         LBACSYS.SA_UTL.DOMINATES(LABEL1 =&gt; LBACSYS.TO_NUMERIC_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n292c292\r\n&lt;                          LABEL2 =&gt; CHAR_TO_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n---\r\n&gt;                          LABEL2 =&gt; LBACSYS.TO_NUMERIC_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n296,298c296,298\r\n&lt;         L_SESSION_LABEL := NUMERIC_LABEL_TO_CHAR\r\n&lt;                     (SA_UTL.MERGE_LABEL\r\n&lt;                          (LABEL1 =&gt; CHAR_TO_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n---\r\n&gt;         L_SESSION_LABEL := LBACSYS.NUMERIC_LABEL_TO_CHAR\r\n&gt;                     (LBACSYS.SA_UTL.MERGE_LABEL\r\n&gt;                          (LABEL1 =&gt; LBACSYS.TO_NUMERIC_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n300c300\r\n&lt;                           LABEL2 =&gt; CHAR_TO_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n---\r\n&gt;                           LABEL2 =&gt; LBACSYS.TO_NUMERIC_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n312c312\r\n&lt;       SYS.DBMS_SESSION.SET_CONTEXT(NAMESPACE =&gt; DBMS_MACUTL.G_CONTEXT_SESSION_LABEL ||\r\n---\r\n&gt;       SYS.DBMS_SESSION.SET_CONTEXT(NAMESPACE =&gt; DVSYS.DBMS_MACUTL.G_CONTEXT_SESSION_LABEL ||\r\n314c314\r\n&lt;                                ATTRIBUTE =&gt; DBMS_MACUTL.G_USER_POLICY_LABEL,\r\n---\r\n&gt;                                ATTRIBUTE =&gt; DVSYS.DBMS_MACUTL.G_USER_POLICY_LABEL,\r\n318c318\r\n&lt;       SYS.DBMS_SESSION.SET_CONTEXT(NAMESPACE =&gt; DBMS_MACUTL.G_CONTEXT_SESSION_LABEL ||\r\n---\r\n&gt;       SYS.DBMS_SESSION.SET_CONTEXT(NAMESPACE =&gt; DVSYS.DBMS_MACUTL.G_CONTEXT_SESSION_LABEL ||\r\n320c320\r\n&lt;                                ATTRIBUTE =&gt; DBMS_MACUTL.G_MIN_POLICY_LABEL,\r\n---\r\n&gt;                                ATTRIBUTE =&gt; DVSYS.DBMS_MACUTL.G_MIN_POLICY_LABEL,\r\n323c323\r\n&lt;       SYS.DBMS_SESSION.SET_CONTEXT(NAMESPACE =&gt; DBMS_MACUTL.G_CONTEXT_SESSION_LABEL ||\r\n---\r\n&gt;       SYS.DBMS_SESSION.SET_CONTEXT(NAMESPACE =&gt; DVSYS.DBMS_MACUTL.G_CONTEXT_SESSION_LABEL ||\r\n325c325\r\n&lt;                                ATTRIBUTE =&gt; DBMS_MACUTL.G_MAX_SESSION_LABEL,\r\n---\r\n&gt;                                ATTRIBUTE =&gt; DVSYS.DBMS_MACUTL.G_MAX_SESSION_LABEL,\r\n329c329\r\n&lt;       SYS.DBMS_SESSION.SET_CONTEXT(NAMESPACE =&gt; DBMS_MACUTL.G_CONTEXT_SESSION_LABEL ||\r\n---\r\n&gt;       SYS.DBMS_SESSION.SET_CONTEXT(NAMESPACE =&gt; DVSYS.DBMS_MACUTL.G_CONTEXT_SESSION_LABEL ||\r\n331c331\r\n&lt;                                ATTRIBUTE =&gt; DBMS_MACUTL.G_OLS_SESSION_LABEL,\r\n---\r\n&gt;                                ATTRIBUTE =&gt; DVSYS.DBMS_MACUTL.G_OLS_SESSION_LABEL,\r\n<\/pre>\n<div id=\"DVSYS.DBMS_MACOLS_SESSION.PACKAGE BODY.12.2.0.1_APR2020RUR\">DVSYS.DBMS_MACOLS_SESSION &#8211; PACKAGE BODY (APR2020RUR):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n65c65\r\n&lt;         L_POLICY_LABEL  := CHAR_TO_LABEL(POLICY_NAME,LABEL);\r\n---\r\n&gt;         L_POLICY_LABEL  := LBACSYS.TO_NUMERIC_LABEL(POLICY_NAME,LABEL);\r\n81c81\r\n&lt;             L_RESULT := DOMINATES(LABEL1=&gt;CHAR_TO_LABEL(POLICY_NAME,L_MAX_SESSION_LABEL),\r\n---\r\n&gt;             L_RESULT := LBACSYS.NUMERIC_DOMINATES(LABEL1=&gt;LBACSYS.TO_NUMERIC_LABEL(POLICY_NAME,L_MAX_SESSION_LABEL),\r\n136c136\r\n&lt;                               DBMS_MACUTL.G_MAX_SESSION_LABEL || '=' ||\r\n---\r\n&gt;                               DVSYS.DBMS_MACUTL.G_MAX_SESSION_LABEL || '=' ||\r\n183c183\r\n&lt;                 SA_UTL.DOMINATES(LABEL1 =&gt; CHAR_TO_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n---\r\n&gt;                 LBACSYS.SA_UTL.DOMINATES(LABEL1 =&gt; LBACSYS.TO_NUMERIC_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n185c185\r\n&lt;                                 LABEL2 =&gt; CHAR_TO_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n---\r\n&gt;                                 LABEL2 =&gt; LBACSYS.TO_NUMERIC_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n189,191c189,191\r\n&lt;                 X_SESSION_LABEL := NUMERIC_LABEL_TO_CHAR\r\n&lt;                   (SA_UTL.MERGE_LABEL\r\n&lt;                       (LABEL1 =&gt; CHAR_TO_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n---\r\n&gt;                 X_SESSION_LABEL := LBACSYS.NUMERIC_LABEL_TO_CHAR\r\n&gt;                   (LBACSYS.SA_UTL.MERGE_LABEL\r\n&gt;                       (LABEL1 =&gt; LBACSYS.TO_NUMERIC_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n193c193\r\n&lt;                       LABEL2 =&gt; CHAR_TO_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n---\r\n&gt;                       LABEL2 =&gt; LBACSYS.TO_NUMERIC_LABEL(POLICY_NAME  =&gt; POLICY.POL_NAME,\r\n224c224\r\n&lt;         L_SESSION_LABEL := SA_SESSION.LABEL(POLICY_NAME);\r\n---\r\n&gt;         L_SESSION_LABEL := LBACSYS.SA_SESSION.LABEL(POLICY_NAME);\r\n234,235c234,235\r\n&lt;            (STRICTLY_DOMINATES(LABEL1=&gt;CHAR_TO_LABEL(POLICY_NAME,L_SESSION_LABEL),\r\n&lt;                 LABEL2=&gt;CHAR_TO_LABEL(POLICY_NAME,P_MAX_SESSION_LABEL)) = 1) THEN\r\n---\r\n&gt;            (LBACSYS.NUMERIC_STRICTLY_DOMINATES(LABEL1=&gt;LBACSYS.TO_NUMERIC_LABEL(POLICY_NAME,L_SESSION_LABEL),\r\n&gt;                 LABEL2=&gt;LBACSYS.TO_NUMERIC_LABEL(POLICY_NAME,P_MAX_SESSION_LABEL)) = 1) THEN\r\n243,245c243,245\r\n&lt;                 X_NEW_SESSION_LABEL := NUMERIC_LABEL_TO_CHAR\r\n&lt;                             (SA_UTL.MERGE_LABEL\r\n&lt;                                 (LABEL1 =&gt; CHAR_TO_LABEL(POLICY_NAME  =&gt; POLICY_NAME,\r\n---\r\n&gt;                 X_NEW_SESSION_LABEL := LBACSYS.NUMERIC_LABEL_TO_CHAR\r\n&gt;                             (LBACSYS.SA_UTL.MERGE_LABEL\r\n&gt;                                 (LABEL1 =&gt; LBACSYS.TO_NUMERIC_LABEL(POLICY_NAME  =&gt; POLICY_NAME,\r\n247c247\r\n&lt;                                 LABEL2 =&gt; CHAR_TO_LABEL(POLICY_NAME  =&gt; POLICY_NAME,\r\n---\r\n&gt;                                 LABEL2 =&gt; LBACSYS.TO_NUMERIC_LABEL(POLICY_NAME  =&gt; POLICY_NAME,\r\n<\/pre>\n<div id=\"DVSYS.DBMS_MACSEC.PACKAGE BODY.12.2.0.1_APR2020RUR\">DVSYS.DBMS_MACSEC &#8211; PACKAGE BODY (APR2020RUR):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n296c296\r\n&lt;       (NVL(L_RULE_SET.FAIL_OPTIONS, DBMS_MACUTL.G_RULESET_FAIL_SHOW) =\r\n---\r\n&gt;       (NVL(L_RULE_SET.FAIL_OPTIONS, DVSYS.DBMS_MACUTL.G_RULESET_FAIL_SHOW) =\r\n315,317c315,317\r\n&lt;     L_NAMESPACE SESSION_CONTEXT.NAMESPACE%TYPE;\r\n&lt;     L_ATTRIBUTE SESSION_CONTEXT.ATTRIBUTE%TYPE;\r\n&lt;     L_VALUE     SESSION_CONTEXT.VALUE%TYPE;\r\n---\r\n&gt;     L_NAMESPACE SYS.SESSION_CONTEXT.NAMESPACE%TYPE;\r\n&gt;     L_ATTRIBUTE SYS.SESSION_CONTEXT.ATTRIBUTE%TYPE;\r\n&gt;     L_VALUE     SYS.SESSION_CONTEXT.VALUE%TYPE;\r\n319c319\r\n&lt;     L_NAME FACTOR$.NAME%TYPE;\r\n---\r\n&gt;     L_NAME DVSYS.FACTOR$.NAME%TYPE;\r\n323c323\r\n&lt;     L_FACTOR_NAME FACTOR$.NAME%TYPE;\r\n---\r\n&gt;     L_FACTOR_NAME DVSYS.FACTOR$.NAME%TYPE;\r\n<\/pre>\n<div id=\"DVSYS.DBMS_MACSEC_RULES.PACKAGE BODY.12.2.0.1_APR2020RUR\">DVSYS.DBMS_MACSEC_RULES &#8211; PACKAGE BODY (APR2020RUR):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n50c50\r\n&lt;         L_SQL_COUNT := ORA_SQL_TXT(L_SQL_LIST);\r\n---\r\n&gt;         L_SQL_COUNT := SYS.SQL_TXT(L_SQL_LIST);\r\n56,62c56,62\r\n&lt;       DVSYS.EVENT.SET(P_SYSEVENT =&gt; ORA_SYSEVENT,\r\n&lt;                       P_LOGIN_USER =&gt; ORA_LOGIN_USER,\r\n&lt;                       P_INSTANCE_NUM =&gt; ORA_INSTANCE_NUM,\r\n&lt;                       P_DATABASE_NAME =&gt; ORA_DATABASE_NAME,\r\n&lt;                       P_DICT_OBJ_TYPE =&gt; ORA_DICT_OBJ_TYPE,\r\n&lt;                       P_DICT_OBJ_OWNER =&gt; ORA_DICT_OBJ_OWNER,\r\n&lt;                       P_DICT_OBJ_NAME =&gt; ORA_DICT_OBJ_NAME,\r\n---\r\n&gt;       DVSYS.EVENT.SET(P_SYSEVENT =&gt; SYS.SYSEVENT,\r\n&gt;                       P_LOGIN_USER =&gt; SYS.LOGIN_USER,\r\n&gt;                       P_INSTANCE_NUM =&gt; SYS.INSTANCE_NUM,\r\n&gt;                       P_DATABASE_NAME =&gt; SYS.DATABASE_NAME,\r\n&gt;                       P_DICT_OBJ_TYPE =&gt; SYS.DICTIONARY_OBJ_TYPE,\r\n&gt;                       P_DICT_OBJ_OWNER =&gt; SYS.DICTIONARY_OBJ_OWNER,\r\n&gt;                       P_DICT_OBJ_NAME =&gt; SYS.DICTIONARY_OBJ_NAME,\r\n107c107\r\n&lt;         OUT.PL(' Command=' || ORA_SYSEVENT ||  ' RuleSet_ID=' || P_RSET_ID#\r\n---\r\n&gt;         OUT.PL(' Command=' || SYS.SYSEVENT ||  ' RuleSet_ID=' || P_RSET_ID#\r\n109,111c109,111\r\n&lt;         OUT.PL(' Current_User=' || ORA_LOGIN_USER);\r\n&lt;         OUT.PL(' Object_Owner=' || ORA_DICT_OBJ_OWNER ||  ' Object_Name=' ||\r\n&lt;                 ORA_DICT_OBJ_NAME || ' Object_Type=' || ORA_DICT_OBJ_TYPE);\r\n---\r\n&gt;         OUT.PL(' Current_User=' || SYS.LOGIN_USER);\r\n&gt;         OUT.PL(' Object_Owner=' || SYS.DICTIONARY_OBJ_OWNER ||  ' Object_Name=' ||\r\n&gt;                 SYS.DICTIONARY_OBJ_NAME || ' Object_Type=' || SYS.DICTIONARY_OBJ_TYPE);\r\n<\/pre>\n<div id=\"DVSYS.DBMS_MACUTL.PACKAGE BODY.12.2.0.1_APR2020RUR\">DVSYS.DBMS_MACUTL &#8211; PACKAGE BODY (APR2020RUR):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n217c217\r\n&lt;         FROM V$OPTION\r\n---\r\n&gt;         FROM SYS.V_$OPTION\r\n551,552c551,552\r\n&lt;     DOMAIN     IN ROLE_ARRAY DEFAULT NULL,\r\n&lt;     DOMAIN_STR IN ROLENAME_ARRAY DEFAULT NULL)\r\n---\r\n&gt;     DOMAIN     IN SYS.ROLE_ARRAY DEFAULT NULL,\r\n&gt;     DOMAIN_STR IN SYS.ROLENAME_ARRAY DEFAULT NULL)\r\n626c626\r\n&lt;      L_OK := DBMS_MACUTL.ALTER_SYSTEM_DUMP_ALLOWED;\r\n---\r\n&gt;      L_OK := DVSYS.DBMS_MACUTL.ALTER_SYSTEM_DUMP_ALLOWED;\r\n970,971c970,971\r\n&lt;       C IN (SELECT ATTRIBUTE, VALUE FROM SESSION_CONTEXT\r\n&lt;              WHERE NAMESPACE = DBMS_MACUTL.G_CONTEXT_FACTOR)\r\n---\r\n&gt;       C IN (SELECT ATTRIBUTE, VALUE FROM SYS.SESSION_CONTEXT\r\n&gt;              WHERE NAMESPACE = DVSYS.DBMS_MACUTL.G_CONTEXT_FACTOR)\r\n1054c1054\r\n&lt;     FROM V$OPTION\r\n---\r\n&gt;     FROM SYS.V_$OPTION\r\n<\/pre>\n<div id=\"DVSYS.EVENT.PACKAGE BODY.12.2.0.1_APR2020RUR\">DVSYS.EVENT &#8211; PACKAGE BODY (APR2020RUR):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n57,58c57,58\r\n&lt;    dvsys.event.set(ORA_SYSEVENT, ORA_LOGIN_USER, ORA_INSTANCE_NUM, ORA_DATABASE_NAME,\r\n&lt;                    ORA_DICT_OBJ_TYPE, ORA_DICT_OBJ_OWNER, ORA_DICT_OBJ_NAME, '');\r\n---\r\n&gt;    dvsys.event.set(SYS.SYSEVENT, SYS.LOGIN_USER, SYS.INSTANCE_NUM, SYS.DATABASE_NAME,\r\n&gt;                    SYS.DICTIONARY_OBJ_TYPE, SYS.DICTIONARY_OBJ_OWNER, SYS.DICTIONARY_OBJ_NAME, '');\r\n<\/pre>\n<div id=\"DVSYS.DBA_DV_STATUS.VIEW.12.2.0.1_APR2020RUR\">DVSYS.DBA_DV_STATUS &#8211; VIEW (APR2020RUR):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n6c6\r\n&lt; from v$option\r\n---\r\n&gt; from sys.v_$option\r\n<\/pre>\n<div id=\"DVSYS.DBA_DV_USER_PRIVS_ALL.VIEW.12.2.0.1_APR2020RUR\">DVSYS.DBA_DV_USER_PRIVS_ALL &#8211; VIEW (APR2020RUR):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n12c12\r\n&lt;     table_privilege_map tpm\r\n---\r\n&gt;     sys.table_privilege_map tpm\r\n<\/pre>\n<div id=\"SYS.DBMS_SNAPSHOT_KKXRCA.PACKAGE BODY.12.2.0.1_RU\">SYS.DBMS_SNAPSHOT_KKXRCA &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n294a295\r\n&gt;     CVAL                  INTEGER;\r\n300a302\r\n&gt;\r\n329,331c331,338\r\n&lt;     INSERT INTO SYS.MVREF$_RUN_STATS(\r\n&lt;               RUN_OWNER_USER#, REFRESH_ID, NUM_MVS_TOTAL,\r\n&lt;               NUM_MVS_CURRENT, ROLLBACK_SEG, ATOMIC_REFRESH,\r\n---\r\n&gt;     SELECT COLLECTION_LEVEL  INTO CVAL\r\n&gt;     FROM SYS.MVREF$_STATS_SYS_DEFAULTS\r\n&gt;     FETCH FIRST ROW ONLY;\r\n&gt;\r\n&gt;     IF ( CVAL &lt;&gt; 0 ) THEN\r\n&gt;       INSERT INTO SYS.MVREF$_RUN_STATS(\r\n&gt;                 RUN_OWNER_USER#, REFRESH_ID, NUM_MVS_TOTAL,\r\n&gt;                 NUM_MVS_CURRENT, ROLLBACK_SEG, ATOMIC_REFRESH,\r\n336,343c343,351\r\n&lt;      VALUES (\r\n&lt;             RUN_OWNER1, REFRESH_ID1, SNAPCNT,\r\n&lt;             SNAPCNT, ROLLBACK_SEG1, ATOMIC_REFRESH2,\r\n&lt;             NULL, NULL, NULL, NULL, NULL,\r\n&lt;             'Y', 0, 0, 0,\r\n&lt;             MV_LIST_BUF, METHOD1, PUSH_DEFERRED_RPC2, OUT_OF_PLACE2, NESTED2,\r\n&lt;             REFRESH_AFTER_ERRORS2, PURGE_OPTION1, PARALLELISM1, HEAP_SIZE1);\r\n&lt;\r\n---\r\n&gt;       VALUES (\r\n&gt;               RUN_OWNER1, REFRESH_ID1, SNAPCNT,\r\n&gt;               SNAPCNT, ROLLBACK_SEG1, ATOMIC_REFRESH2,\r\n&gt;               NULL, NULL, NULL, NULL, NULL,\r\n&gt;               'Y', 0, 0, 0,\r\n&gt;               MV_LIST_BUF, METHOD1, PUSH_DEFERRED_RPC2, OUT_OF_PLACE2, NESTED2,\r\n&gt;               REFRESH_AFTER_ERRORS2, PURGE_OPTION1, PARALLELISM1, HEAP_SIZE1);\r\n&gt;     END IF;\r\n&gt;\r\n<\/pre>\n<div id=\"SYS.DBMS_SQLPATCH.PACKAGE BODY.12.2.0.1_RU\">SYS.DBMS_SQLPATCH &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n322c322\r\n&lt;     RETURN '$Header: rdbms\/src\/server\/dict\/plsicds\/prvtsqlpatch.sql \/st_rdbms_12.2.0.1.0dbbp\/5 2018\/12\/18 08:17:21 sanagara Exp $';\r\n---\r\n&gt;     RETURN '$Header: rdbms\/src\/server\/dict\/plsicds\/prvtsqlpatch.sql \/st_rdbms_12.2.0.1.0dbbp\/6 2020\/07\/08 07:45:37 apfwkr Exp $';\r\n764,765c764,766\r\n&lt;         SELECT F_COMPONENT\r\n&lt;           INTO FILE_COMPONENT\r\n---\r\n&gt;         BEGIN\r\n&gt;           SELECT F_COMPONENT, F_NEW\r\n&gt;           INTO FILE_COMPONENT, FILE_NEW\r\n768a770,771\r\n&gt;                                 F_ACTION VARCHAR2(20) PATH '@mode',\r\n&gt;                                 F_NEW VARCHAR2(3) PATH '@new',\r\n770c773,781\r\n&lt;           WHERE F_NAME = SQL_FILE;\r\n---\r\n&gt;           WHERE F_NAME = SQL_FILE\r\n&gt;             AND UPPER(F_ACTION) LIKE '%' || CURRENT_PATCH.ACTION || '%';\r\n&gt;         EXCEPTION\r\n&gt;           WHEN NO_DATA_FOUND THEN\r\n&gt;\r\n&gt;\r\n&gt;             RAISE_APPLICATION_ERROR(-20000, 'File ' || SQL_FILE ||\r\n&gt;               ' does not exist in descriptor ' || SQLERRM);\r\n&gt;         END;\r\n778c789,795\r\n&lt;             RETURN ROLLBACK_SQL_FILE;\r\n---\r\n&gt;             IF FILE_NEW = 'yes' THEN\r\n&gt;\r\n&gt;               RETURN ROLLBACK_SQL_FILE;\r\n&gt;             ELSE\r\n&gt;\r\n&gt;               RETURN OH_SQL_FILE;\r\n&gt;             END IF;\r\n<\/pre>\n<div id=\"SYS.DBMS_STATS.PACKAGE BODY.12.2.0.1_RU\">SYS.DBMS_STATS &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n35380a35381,35382\r\n&gt;\r\n&gt;         STSFLAGS := 0;\r\n36425,36426c36427,36428\r\n&lt;         (PREPARESTATJOBS OR SEQSTATJOBS) AND\r\n&lt;         NOT DBMS_STATS_INTERNAL.IS_TEMP_TAB(NULL, NULL, TOBJN, TRANS_GTT))\r\n---\r\n&gt;         (PREPARESTATJOBS OR SEQSTATJOBS OR EXECUTESTATJOBS) AND\r\n&gt;         NOT DBMS_STATS_INTERNAL.IS_TEMP_TAB(NULL, NULL, TOBJN, TRANS_GTT))\r\n36433d36434\r\n&lt;\r\n36436c36437,36444\r\n&lt;\r\n---\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n<\/pre>\n<div id=\"SYS.DBMS_FEATURE_ACTIVE_DATA_GUARD.PROCEDURE.12.2.0.1_RU\">SYS.DBMS_FEATURE_ACTIVE_DATA_GUARD &#8211; PROCEDURE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n64c64,65\r\n&lt;             'where (PARENT_DBUN not in ' ||\r\n---\r\n&gt;             'where (DEST_ROLE != ''LOGICAL STANDBY'') ' ||\r\n&gt;             'and (PARENT_DBUN not in ' ||\r\n<\/pre>\n<h3><strong>18.0.0.0<\/strong><\/h3>\n<div id=\"SYS.DBMS_BACKUP_RESTORE.PACKAGE.18.0.0.0_RU\">SYS.DBMS_BACKUP_RESTORE &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n12c12\r\n&lt;   bannerVersion CONSTANT VARCHAR2(15) := '18.11.00.00';\r\n---\r\n&gt;   bannerVersion CONSTANT VARCHAR2(15) := '18.12.00.00';\r\n24,26c24,26\r\n&lt;   fsn  CONSTANT NUMBER := instr('18.11.00.00', '.');\r\n&lt;   msn  CONSTANT NUMBER := instr('18.11.00.00', '.', fsn + 1);\r\n&lt;   psn  CONSTANT NUMBER := instr('18.11.00.00', '.', msn + 1);\r\n---\r\n&gt;   fsn  CONSTANT NUMBER := instr('18.12.00.00', '.');\r\n&gt;   msn  CONSTANT NUMBER := instr('18.12.00.00', '.', fsn + 1);\r\n&gt;   psn  CONSTANT NUMBER := instr('18.12.00.00', '.', msn + 1);\r\n29c29\r\n&lt;                            to_number(substr('18.11.00.00', 1, fsn - 1));\r\n---\r\n&gt;                            to_number(substr('18.12.00.00', 1, fsn - 1));\r\n31c31\r\n&lt;                to_number(substr('18.11.00.00', fsn + 1, msn - fsn - 1));\r\n---\r\n&gt;                to_number(substr('18.12.00.00', fsn + 1, msn - fsn - 1));\r\n33c33\r\n&lt;               to_number(substr('18.11.00.00',  msn + 1, psn - msn - 1));\r\n---\r\n&gt;               to_number(substr('18.12.00.00',  msn + 1, psn - msn - 1));\r\n35c35\r\n&lt;                              to_number(substr('18.11.00.00',  psn + 1));\r\n---\r\n&gt;                              to_number(substr('18.12.00.00',  psn + 1));\r\n<\/pre>\n<div id=\"SYS.DBMS_BACKUP_RESTORE.PACKAGE.18.0.0.0_18.10RUR\">SYS.DBMS_BACKUP_RESTORE &#8211; PACKAGE (18.10RUR):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n12c12\r\n&lt;   bannerVersion CONSTANT VARCHAR2(15) := '18.10.01.00';\r\n---\r\n&gt;   bannerVersion CONSTANT VARCHAR2(15) := '18.10.02.00';\r\n24,26c24,26\r\n&lt;   fsn  CONSTANT NUMBER := instr('18.10.01.00', '.');\r\n&lt;   msn  CONSTANT NUMBER := instr('18.10.01.00', '.', fsn + 1);\r\n&lt;   psn  CONSTANT NUMBER := instr('18.10.01.00', '.', msn + 1);\r\n---\r\n&gt;   fsn  CONSTANT NUMBER := instr('18.10.02.00', '.');\r\n&gt;   msn  CONSTANT NUMBER := instr('18.10.02.00', '.', fsn + 1);\r\n&gt;   psn  CONSTANT NUMBER := instr('18.10.02.00', '.', msn + 1);\r\n29c29\r\n&lt;                            to_number(substr('18.10.01.00', 1, fsn - 1));\r\n---\r\n&gt;                            to_number(substr('18.10.02.00', 1, fsn - 1));\r\n31c31\r\n&lt;                to_number(substr('18.10.01.00', fsn + 1, msn - fsn - 1));\r\n---\r\n&gt;                to_number(substr('18.10.02.00', fsn + 1, msn - fsn - 1));\r\n33c33\r\n&lt;               to_number(substr('18.10.01.00',  msn + 1, psn - msn - 1));\r\n---\r\n&gt;               to_number(substr('18.10.02.00',  msn + 1, psn - msn - 1));\r\n35c35\r\n&lt;                              to_number(substr('18.10.01.00',  psn + 1));\r\n---\r\n&gt;                              to_number(substr('18.10.02.00',  psn + 1));\r\n<\/pre>\n<div id=\"SYS.DBMS_BACKUP_RESTORE.PACKAGE.18.0.0.0_18.11RUR\">SYS.DBMS_BACKUP_RESTORE &#8211; PACKAGE (18.11RUR):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n12c12\r\n&lt;   bannerVersion CONSTANT VARCHAR2(15) := '18.11.00.00';\r\n---\r\n&gt;   bannerVersion CONSTANT VARCHAR2(15) := '18.11.01.00';\r\n24,26c24,26\r\n&lt;   fsn  CONSTANT NUMBER := instr('18.11.00.00', '.');\r\n&lt;   msn  CONSTANT NUMBER := instr('18.11.00.00', '.', fsn + 1);\r\n&lt;   psn  CONSTANT NUMBER := instr('18.11.00.00', '.', msn + 1);\r\n---\r\n&gt;   fsn  CONSTANT NUMBER := instr('18.11.01.00', '.');\r\n&gt;   msn  CONSTANT NUMBER := instr('18.11.01.00', '.', fsn + 1);\r\n&gt;   psn  CONSTANT NUMBER := instr('18.11.01.00', '.', msn + 1);\r\n29c29\r\n&lt;                            to_number(substr('18.11.00.00', 1, fsn - 1));\r\n---\r\n&gt;                            to_number(substr('18.11.01.00', 1, fsn - 1));\r\n31c31\r\n&lt;                to_number(substr('18.11.00.00', fsn + 1, msn - fsn - 1));\r\n---\r\n&gt;                to_number(substr('18.11.01.00', fsn + 1, msn - fsn - 1));\r\n33c33\r\n&lt;               to_number(substr('18.11.00.00',  msn + 1, psn - msn - 1));\r\n---\r\n&gt;               to_number(substr('18.11.01.00',  msn + 1, psn - msn - 1));\r\n35c35\r\n&lt;                              to_number(substr('18.11.00.00',  psn + 1));\r\n---\r\n&gt;                              to_number(substr('18.11.01.00',  psn + 1));\r\n<\/pre>\n<div id=\"SYS.DBMS_REGISTRY.PACKAGE.18.0.0.0_RU\">SYS.DBMS_REGISTRY &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n13c13\r\n&lt;                                '18.11.0.0.0';\r\n---\r\n&gt;                                '18.12.0.0.0';\r\n<\/pre>\n<div id=\"SYS.DBMS_REGISTRY.PACKAGE.18.0.0.0_18.11RUR\">SYS.DBMS_REGISTRY &#8211; PACKAGE (18.11RUR):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n13c13\r\n&lt;                                '18.11.0.0.0';\r\n---\r\n&gt;                                '18.11.1.0.0';\r\n<\/pre>\n<div id=\"SYS.DBMS_REGISTRY.PACKAGE.18.0.0.0_18.10RUR\">SYS.DBMS_REGISTRY &#8211; PACKAGE (18.10RUR):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n13c13\r\n&lt;                                '18.10.1.0.0';\r\n---\r\n&gt;                                '18.10.2.0.0';\r\n<\/pre>\n<div id=\"SYS.DBMS_RCVMAN.PACKAGE BODY.18.0.0.0_RU\">SYS.DBMS_RCVMAN &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n122c122\r\n&lt; CATALOGVERSION CONSTANT VARCHAR2(11) := '18.11.00.00';\r\n---\r\n&gt; CATALOGVERSION CONSTANT VARCHAR2(11) := '18.12.00.00';\r\n<\/pre>\n<div id=\"SYS.DBMS_RCVMAN.PACKAGE BODY.18.0.0.0_18.10RUR\">SYS.DBMS_RCVMAN &#8211; PACKAGE BODY (18.10RUR):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n122c122\r\n&lt; CATALOGVERSION CONSTANT VARCHAR2(11) := '18.10.01.00';\r\n---\r\n&gt; CATALOGVERSION CONSTANT VARCHAR2(11) := '18.10.02.00';\r\n<\/pre>\n<div id=\"SYS.DBMS_RCVMAN.PACKAGE BODY.18.0.0.0_18.11RUR\">SYS.DBMS_RCVMAN &#8211; PACKAGE BODY (18.11RUR):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n122c122\r\n&lt; CATALOGVERSION CONSTANT VARCHAR2(11) := '18.11.00.00';\r\n---\r\n&gt; CATALOGVERSION CONSTANT VARCHAR2(11) := '18.11.01.00';\r\n<\/pre>\n<div id=\"SYS.DBMS_SNAPSHOT_KKXRCA.PACKAGE BODY.18.0.0.0_RU\">SYS.DBMS_SNAPSHOT_KKXRCA &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n297a298\r\n&gt;     CVAL                  INTEGER;\r\n303a305\r\n&gt;\r\n332,334c334,341\r\n&lt;     INSERT INTO SYS.MVREF$_RUN_STATS(\r\n&lt;               RUN_OWNER_USER#, REFRESH_ID, NUM_MVS_TOTAL,\r\n&lt;               NUM_MVS_CURRENT, ROLLBACK_SEG, ATOMIC_REFRESH,\r\n---\r\n&gt;     SELECT COLLECTION_LEVEL  INTO CVAL\r\n&gt;     FROM SYS.MVREF$_STATS_SYS_DEFAULTS\r\n&gt;     FETCH FIRST ROW ONLY;\r\n&gt;\r\n&gt;     IF ( CVAL &lt;&gt; 0 ) THEN\r\n&gt;       INSERT INTO SYS.MVREF$_RUN_STATS(\r\n&gt;                 RUN_OWNER_USER#, REFRESH_ID, NUM_MVS_TOTAL,\r\n&gt;                 NUM_MVS_CURRENT, ROLLBACK_SEG, ATOMIC_REFRESH,\r\n340,347c347,355\r\n&lt;      VALUES (\r\n&lt;             RUN_OWNER1, REFRESH_ID1, SNAPCNT,\r\n&lt;             SNAPCNT, ROLLBACK_SEG1, ATOMIC_REFRESH2,\r\n&lt;             NULL, NULL, NULL, NULL, NULL,\r\n&lt;             'Y', 0, 0, 0,\r\n&lt;             MV_LIST_BUF, METHOD1, PUSH_DEFERRED_RPC2, OUT_OF_PLACE2, NESTED2,\r\n&lt;             REFRESH_AFTER_ERRORS2, PURGE_OPTION1, PARALLELISM1, HEAP_SIZE1);\r\n&lt;\r\n---\r\n&gt;       VALUES (\r\n&gt;               RUN_OWNER1, REFRESH_ID1, SNAPCNT,\r\n&gt;               SNAPCNT, ROLLBACK_SEG1, ATOMIC_REFRESH2,\r\n&gt;               NULL, NULL, NULL, NULL, NULL,\r\n&gt;               'Y', 0, 0, 0,\r\n&gt;               MV_LIST_BUF, METHOD1, PUSH_DEFERRED_RPC2, OUT_OF_PLACE2, NESTED2,\r\n&gt;               REFRESH_AFTER_ERRORS2, PURGE_OPTION1, PARALLELISM1, HEAP_SIZE1);\r\n&gt;     END IF;\r\n&gt;\r\n<\/pre>\n<div id=\"SYS.DBMS_STATS.PACKAGE BODY.18.0.0.0_RU\">SYS.DBMS_STATS &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n37240a37241,37242\r\n&gt;\r\n&gt;         STSFLAGS := 0;\r\n38333c38335\r\n&lt;         (PREPARESTATJOBS OR SEQSTATJOBS) AND\r\n---\r\n&gt;         (PREPARESTATJOBS OR SEQSTATJOBS OR EXECUTESTATJOBS) AND\r\n38341d38342\r\n&lt;\r\n38344c38345,38352\r\n&lt;\r\n---\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n<\/pre>\n<h3><strong>19.0.0.0<\/strong><\/h3>\n<div id=\"DBSFWUSER.DBMS_SFW_ACL_ADMIN.PACKAGE BODY.19.0.0.0_RU\">DBSFWUSER.DBMS_SFW_ACL_ADMIN &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n7a8,10\r\n&gt;\r\n&gt; TYPE XS_ACE_LIST IS TABLE OF XS$ACE_TYPE;\r\n&gt;\r\n25a29,37\r\n&gt; FUNCTION KSACL_ISPERCONACLENABLED RETURN BOOLEAN;\r\n&gt; PRAGMA INTERFACE (C, KSACL_ISPERCONACLENABLED);\r\n&gt;\r\n&gt; FUNCTION KSACL_ISFEATUREENABLED RETURN BOOLEAN;\r\n&gt; PRAGMA INTERFACE (C, KSACL_ISFEATUREENABLED);\r\n&gt;\r\n&gt; FUNCTION KSACL_ISACLEXISTINROOT(SVC    IN VARCHAR2) RETURN BOOLEAN;\r\n&gt; PRAGMA INTERFACE (C, KSACL_ISACLEXISTINROOT);\r\n&gt;\r\n109c121\r\n&lt; PROCEDURE XS_APPEND_ACE(ACES      IN OUT NOCOPY XS$ACE_LIST,\r\n---\r\n&gt; PROCEDURE XS_APPEND_ACE(ACES      IN OUT NOCOPY XS_ACE_LIST,\r\n125c137,138\r\n&lt;   ACES         XS$ACE_LIST := XS$ACE_LIST();\r\n---\r\n&gt;   ACES         XS_ACE_LIST := XS_ACE_LIST();\r\n&gt;   BATCH        XS$ACE_LIST := XS$ACE_LIST();\r\n152a166,167\r\n&gt;\r\n&gt;\r\n154c169,184\r\n&lt;     SYS.XS_ACL.APPEND_ACES(XS_FULL_NAME(ACL_OWNER, ACL_NAME), ACES);\r\n---\r\n&gt;     FOR ACE_ORDER IN 1 .. ACES.COUNT LOOP\r\n&gt;       BATCH.EXTEND;\r\n&gt;       BATCH(BATCH.LAST) := ACES(ACE_ORDER);\r\n&gt;       IF MOD(ACE_ORDER, (BATCH.LIMIT - 1)) = 0 THEN\r\n&gt;\r\n&gt;         SYS.XS_ACL.APPEND_ACES(XS_FULL_NAME(ACL_OWNER, ACL_NAME), BATCH);\r\n&gt;\r\n&gt;\r\n&gt;         BATCH := XS$ACE_LIST();\r\n&gt;       END IF;\r\n&gt;     END LOOP;\r\n&gt;\r\n&gt;\r\n&gt;     IF (BATCH.COUNT &gt; 0) THEN\r\n&gt;       SYS.XS_ACL.APPEND_ACES(XS_FULL_NAME(ACL_OWNER, ACL_NAME), BATCH);\r\n&gt;     END IF;\r\n314,315c344\r\n&lt; PROCEDURE CHECK_CDBROOT\r\n&lt; AS\r\n---\r\n&gt; FUNCTION IN_PDB RETURN BOOLEAN IS\r\n324c353,355\r\n&lt;       RAISE_APPLICATION_ERROR(-20012, 'Must run in CDB$ROOT container');\r\n---\r\n&gt;       RETURN TRUE;\r\n&gt;     ELSE\r\n&gt;       RETURN FALSE;\r\n325a357,358\r\n&gt;   ELSE\r\n&gt;     RETURN FALSE;\r\n332d364\r\n&lt; \tCHECK_CDBROOT;\r\n340d371\r\n&lt; \tCHECK_CDBROOT;\r\n352d382\r\n&lt; \tCHECK_CDBROOT;\r\n361d390\r\n&lt; \tCHECK_CDBROOT;\r\n387d415\r\n&lt;     \tCHECK_CDBROOT;\r\n452d479\r\n&lt; \tCHECK_CDBROOT;\r\n494d520\r\n&lt; \tCHECK_CDBROOT;\r\n516d541\r\n&lt; \tCHECK_CDBROOT;\r\n540d564\r\n&lt; \tCHECK_CDBROOT;\r\n565d588\r\n&lt; \tCHECK_CDBROOT;\r\n587d609\r\n&lt; \tCHECK_CDBROOT;\r\n600d621\r\n&lt; \tCHECK_CDBROOT;\r\n614d634\r\n&lt; \tCHECK_CDBROOT;\r\n631d650\r\n&lt; \tCHECK_CDBROOT;\r\n645d663\r\n&lt;     CHECK_CDBROOT;\r\n678d695\r\n&lt;     CHECK_CDBROOT;\r\n691d707\r\n&lt;    CHECK_CDBROOT;\r\n708d723\r\n&lt;    CHECK_CDBROOT;\r\n724d738\r\n&lt;    CHECK_CDBROOT;\r\n744d757\r\n&lt;    CHECK_CDBROOT;\r\n764d776\r\n&lt; \tCHECK_CDBROOT;\r\n782d793\r\n&lt;    CHECK_CDBROOT;\r\n796a808,895\r\n&gt; PROCEDURE IP_VALIDATE_SVC(\r\n&gt;    P_SVC_NAME  IN VARCHAR2,\r\n&gt;    REMOVE_OP   IN BOOLEAN DEFAULT FALSE\r\n&gt; )\r\n&gt; AS\r\n&gt; FOUND NUMBER := 0;\r\n&gt; CON_ID NUMBER := 0;\r\n&gt; ACL_FOUND NUMBER := 0;\r\n&gt; DB_DOMAIN    VARCHAR2(1024);\r\n&gt; Q_SVC_NAME   VARCHAR2(512);\r\n&gt; BEGIN\r\n&gt;    IF (NOT KSACL_ISFEATUREENABLED) THEN\r\n&gt;       RAISE_APPLICATION_ERROR(-20018, 'Feature NOT enabled');\r\n&gt;    END IF;\r\n&gt;\r\n&gt;    IF P_SVC_NAME IS NULL THEN\r\n&gt;      RAISE_APPLICATION_ERROR(-20003, 'Service is missing');\r\n&gt;    END IF;\r\n&gt;\r\n&gt;    SELECT INSTR(P_SVC_NAME, '.') INTO FOUND FROM DUAL;\r\n&gt;    IF FOUND = 0 THEN\r\n&gt;       SELECT VALUE INTO DB_DOMAIN FROM SYS.V_$PARAMETER WHERE\r\n&gt;             LOWER(NAME) = 'db_domain';\r\n&gt;       IF DB_DOMAIN IS NOT NULL THEN\r\n&gt;          Q_SVC_NAME := P_SVC_NAME || '.' || DB_DOMAIN;\r\n&gt;       ELSE\r\n&gt;          Q_SVC_NAME := P_SVC_NAME;\r\n&gt;       END IF;\r\n&gt;    ELSE\r\n&gt;       Q_SVC_NAME := P_SVC_NAME;\r\n&gt;    END IF;\r\n&gt;\r\n&gt;   IF IN_PDB() THEN\r\n&gt;     IF (NOT KSACL_ISPERCONACLENABLED) THEN\r\n&gt;       RAISE_APPLICATION_ERROR(-20015, 'Per-Container ACL is not enabled');\r\n&gt;     END IF;\r\n&gt;\r\n&gt;     IF (KSACL_ISACLEXISTINROOT(Q_SVC_NAME)) THEN\r\n&gt;       RAISE_APPLICATION_ERROR(-20017,\r\n&gt;            'Service ACL ' || Q_SVC_NAME ||\r\n&gt;            ' Already Exists in ROOT container');\r\n&gt;     END IF;\r\n&gt;\r\n&gt;     BEGIN\r\n&gt;       SELECT 1 INTO FOUND FROM DUAL\r\n&gt;         WHERE UPPER(P_SVC_NAME) IN (SELECT UPPER(NAME) FROM SYS.SERVICE$);\r\n&gt;     EXCEPTION\r\n&gt;       WHEN NO_DATA_FOUND THEN NULL;\r\n&gt;     END;\r\n&gt;\r\n&gt;     IF (FOUND = 0 AND NOT REMOVE_OP) THEN\r\n&gt;       BEGIN\r\n&gt;         SELECT 1 INTO FOUND FROM DUAL\r\n&gt;           WHERE UPPER(P_SVC_NAME) IN (SELECT UPPER(NAME) FROM SYS.SERVICE$);\r\n&gt;       EXCEPTION\r\n&gt;         WHEN NO_DATA_FOUND THEN\r\n&gt;           RAISE_APPLICATION_ERROR(-20014,\r\n&gt;             'Service ' || P_SVC_NAME ||  ' not found in current container');\r\n&gt;       END;\r\n&gt;     END IF;\r\n&gt;   ELSE\r\n&gt;     IF (KSACL_ISPERCONACLENABLED) THEN\r\n&gt;       BEGIN\r\n&gt;         SELECT CON_ID# INTO CON_ID FROM SYS.CDB_SERVICE$\r\n&gt;            WHERE UPPER(NAME) = UPPER(P_SVC_NAME);\r\n&gt;       EXCEPTION\r\n&gt;         WHEN NO_DATA_FOUND THEN NULL;\r\n&gt;       END;\r\n&gt;\r\n&gt;       IF (CON_ID = 0) THEN\r\n&gt;         BEGIN\r\n&gt;           SELECT CON_ID# INTO CON_ID FROM SYS.CDB_SERVICE$\r\n&gt;              WHERE UPPER(NAME) = UPPER(Q_SVC_NAME);\r\n&gt;         EXCEPTION\r\n&gt;           WHEN NO_DATA_FOUND THEN\r\n&gt;             RAISE_APPLICATION_ERROR(-20014,\r\n&gt;              'Service ' || P_SVC_NAME ||  ' not found in current container');\r\n&gt;         END;\r\n&gt;       END IF;\r\n&gt;\r\n&gt;       IF (CON_ID &lt;&gt; 1) THEN\r\n&gt;         RAISE_APPLICATION_ERROR(-20016,\r\n&gt;           'Cross-container ACL operation is disabled');\r\n&gt;       END IF;\r\n&gt;     END IF;\r\n&gt;   END IF;\r\n&gt; END;\r\n&gt;\r\n804d902\r\n&lt; \tCHECK_CDBROOT;\r\n805a904\r\n&gt;         IP_VALIDATE_SVC(P_SERVICE_NAME);\r\n843c942\r\n&lt; \tCHECK_CDBROOT;\r\n---\r\n&gt;         IP_VALIDATE_SVC(P_SERVICE_NAME, TRUE);\r\n864c963\r\n&lt; \tCHECK_CDBROOT;\r\n---\r\n&gt;         IP_VALIDATE_SVC(P_SERVICE_NAME, TRUE);\r\n884d982\r\n&lt; \tCHECK_CDBROOT;\r\n897d994\r\n&lt; \tCHECK_CDBROOT;\r\n909,915c1006,1015\r\n&lt;    IF P_PDB_NAME IS NULL THEN\r\n&lt;      RAISE_APPLICATION_ERROR(-20003, 'Service is missing');\r\n&lt;    END IF;\r\n&lt;\r\n&lt;   CHECK_CDBROOT;\r\n&lt;\r\n&lt;    FOR R IN (SELECT NAME\r\n---\r\n&gt;    IP_VALIDATE_SVC(P_PDB_NAME);\r\n&gt;    IF IN_PDB() THEN\r\n&gt;\r\n&gt;      FOR R IN (SELECT NAME\r\n&gt;                FROM SYS.SERVICE$\r\n&gt;                  WHERE UPPER(P_PDB_NAME) = UPPER(PDB)) LOOP\r\n&gt;         IP_ADD_ACE(R.NAME, P_HOST);\r\n&gt;      END LOOP;\r\n&gt;    ELSE\r\n&gt;      FOR R IN (SELECT NAME\r\n917c1017\r\n&lt;               WHERE CON_ID# = (SELECT CON_ID\r\n---\r\n&gt;                WHERE CON_ID# = (SELECT CON_ID\r\n919,922c1019,1022\r\n&lt;                                WHERE UPPER(NAME) = UPPER(P_PDB_NAME)\r\n&lt;                               )) LOOP\r\n&lt;      IP_ADD_ACE(R.NAME, P_HOST);\r\n&lt;    END LOOP;\r\n---\r\n&gt;                                 WHERE UPPER(NAME) = UPPER(P_PDB_NAME))) LOOP\r\n&gt;         IP_ADD_ACE(R.NAME, P_HOST);\r\n&gt;      END LOOP;\r\n&gt;    END IF;\r\n930,932c1030\r\n&lt;    IF P_PDB_NAME IS NULL THEN\r\n&lt;      RAISE_APPLICATION_ERROR(-20003, 'Service is missing');\r\n&lt;    END IF;\r\n---\r\n&gt;    IP_VALIDATE_SVC(P_PDB_NAME, TRUE);\r\n934,946c1032,1048\r\n&lt;    CHECK_CDBROOT;\r\n&lt;    BEGIN\r\n&lt;         FOR R IN (SELECT NAME\r\n&lt;                     FROM SYS.CDB_SERVICE$\r\n&lt;                    WHERE CON_ID# = (SELECT CON_ID\r\n&lt;                                      FROM SYS.V_$PDBS\r\n&lt;                                     WHERE UPPER(NAME) = UPPER(P_PDB_NAME)\r\n&lt;                                    )) LOOP\r\n&lt;           IP_REMOVE_ACE(R.NAME, P_HOST);\r\n&lt;         END LOOP;\r\n&lt;    EXCEPTION\r\n&lt;      WHEN OTHERS THEN NULL;\r\n&lt;    END;\r\n---\r\n&gt;    IF IN_PDB() THEN\r\n&gt;\r\n&gt;      FOR R IN (SELECT NAME\r\n&gt;                FROM SYS.SERVICE$\r\n&gt;                  WHERE UPPER(P_PDB_NAME) = UPPER(PDB)) LOOP\r\n&gt;         IP_REMOVE_ACE(R.NAME, P_HOST);\r\n&gt;      END LOOP;\r\n&gt;    ELSE\r\n&gt;       FOR R IN (SELECT NAME\r\n&gt;                   FROM SYS.CDB_SERVICE$\r\n&gt;                  WHERE CON_ID# = (SELECT CON_ID\r\n&gt;                                    FROM SYS.V_$PDBS\r\n&gt;                                   WHERE UPPER(NAME) = UPPER(P_PDB_NAME)\r\n&gt;                                  )) LOOP\r\n&gt;         IP_REMOVE_ACE(R.NAME, P_HOST);\r\n&gt;       END LOOP;\r\n&gt;    END IF;\r\n951a1054\r\n&gt; CNAME VARCHAR2(128);\r\n953,954c1056,1077\r\n&lt;    IF P_PDB_NAME IS NULL THEN\r\n&lt;      RAISE_APPLICATION_ERROR(-20003, 'Service is missing');\r\n---\r\n&gt;    IP_VALIDATE_SVC(P_PDB_NAME, TRUE);\r\n&gt;    IF IN_PDB() THEN\r\n&gt;      SELECT SYS_CONTEXT('USERENV', 'CON_NAME') AS CUR_CONTAINER INTO CNAME\r\n&gt;        FROM DUAL;\r\n&gt;      IF UPPER(P_PDB_NAME) &lt;&gt; UPPER(CNAME) THEN\r\n&gt;         RAISE_APPLICATION_ERROR(-20014,\r\n&gt;           'Service ' || P_PDB_NAME ||  ' not found in current container');\r\n&gt;      END IF;\r\n&gt;\r\n&gt;      FOR R IN (SELECT TRIM('\"' FROM SERVICE_NAME) NAME\r\n&gt;                FROM IP_ACL) LOOP\r\n&gt;         IP_REMOVE_ACL(R.NAME);\r\n&gt;      END LOOP;\r\n&gt;    ELSE\r\n&gt;      FOR R IN (SELECT NAME\r\n&gt;                FROM SYS.CDB_SERVICE$\r\n&gt;               WHERE CON_ID# = (SELECT CON_ID\r\n&gt;                                 FROM SYS.V_$PDBS\r\n&gt;                                WHERE UPPER(NAME) = UPPER(P_PDB_NAME)\r\n&gt;                               )) LOOP\r\n&gt;        IP_REMOVE_ACL(R.NAME);\r\n&gt;      END LOOP;\r\n956,969d1078\r\n&lt;\r\n&lt;    CHECK_CDBROOT;\r\n&lt;    BEGIN\r\n&lt;         FOR R IN (SELECT NAME\r\n&lt;                     FROM SYS.CDB_SERVICE$\r\n&lt;                    WHERE CON_ID# = (SELECT CON_ID\r\n&lt;                                      FROM SYS.V_$PDBS\r\n&lt;                                     WHERE UPPER(NAME) = UPPER(P_PDB_NAME)\r\n&lt;                                    )) LOOP\r\n&lt;           IP_REMOVE_ACL(R.NAME);\r\n&lt;         END LOOP;\r\n&lt;    EXCEPTION\r\n&lt;      WHEN OTHERS THEN NULL;\r\n&lt;    END;\r\n<\/pre>\n<div id=\"MDSYS.SDO_RDF_INTERNAL.PACKAGE BODY.19.0.0.0_RU\">MDSYS.SDO_RDF_INTERNAL &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n17459c17459,17461\r\n&lt;             INSTR(ROLES_AND_PRIVS,' DATAPUMP_EXP_FULL_DATABASE ') &gt; 0) THEN\r\n---\r\n&gt;             INSTR(ROLES_AND_PRIVS,' DATAPUMP_EXP_FULL_DATABASE ') &gt; 0 OR\r\n&gt;             INSTR(ROLES_AND_PRIVS,' DATAPUMP_CLOUD_IMP ') &gt; 0 OR\r\n&gt;             INSTR(ROLES_AND_PRIVS,' DATAPUMP_CLOUD_EXP ') &gt; 0) THEN\r\n26057c26059,26060\r\n&lt;     DYN_SQL_STMT VARCHAR2(4000);\r\n---\r\n&gt;     ROLE_NOT_FOUND EXCEPTION;\r\n&gt;     PRAGMA EXCEPTION_INIT(ROLE_NOT_FOUND, -1917);\r\n26083a26087,26103\r\n&gt;\r\n&gt;       BEGIN\r\n&gt;         EXECUTE IMMEDIATE\r\n&gt;           'grant execute on ' || V_PFX_FOR_RDF_OBJ_NAME ||\r\n&gt;           'rdf_sys_callout to DATAPUMP_CLOUD_IMP';\r\n&gt;         EXCEPTION\r\n&gt;           WHEN ROLE_NOT_FOUND THEN NULL;\r\n&gt;           WHEN OTHERS THEN RAISE;\r\n&gt;       END;\r\n&gt;       BEGIN\r\n&gt;         EXECUTE IMMEDIATE\r\n&gt;           'grant execute on ' || V_PFX_FOR_RDF_OBJ_NAME ||\r\n&gt;           'rdf_sys_callout to DATAPUMP_CLOUD_EXP';\r\n&gt;           EXCEPTION\r\n&gt;             WHEN ROLE_NOT_FOUND THEN NULL;\r\n&gt;             WHEN OTHERS THEN RAISE;\r\n&gt;       END;\r\n26091a26112,26114\r\n&gt;     DYN_SQL_STMT   LONG;\r\n&gt;     ROLE_NOT_FOUND EXCEPTION;\r\n&gt;     PRAGMA EXCEPTION_INIT(ROLE_NOT_FOUND, -1917);\r\n26129a26153,26169\r\n&gt;\r\n&gt;       BEGIN\r\n&gt;         EXECUTE IMMEDIATE\r\n&gt;           'grant execute on ' || V_PFX_FOR_RDF_OBJ_NAME ||\r\n&gt;           'rdf_sys_callout_imp to DATAPUMP_CLOUD_IMP';\r\n&gt;         EXCEPTION\r\n&gt;           WHEN ROLE_NOT_FOUND THEN NULL;\r\n&gt;           WHEN OTHERS THEN RAISE;\r\n&gt;       END;\r\n&gt;       BEGIN\r\n&gt;         EXECUTE IMMEDIATE\r\n&gt;           'grant execute on ' || V_PFX_FOR_RDF_OBJ_NAME ||\r\n&gt;           'rdf_sys_callout_imp to DATAPUMP_CLOUD_EXP';\r\n&gt;           EXCEPTION\r\n&gt;             WHEN ROLE_NOT_FOUND THEN NULL;\r\n&gt;             WHEN OTHERS THEN RAISE;\r\n&gt;       END;\r\n26183a26224\r\n&gt;     ROLE_NOT_FOUND          EXCEPTION;\r\n26192a26234\r\n&gt;     PRAGMA EXCEPTION_INIT(ROLE_NOT_FOUND,         -1917);\r\n26287c26329,26331\r\n&lt;           INSTR(ROLES_AND_PRIVS,' DATAPUMP_EXP_FULL_DATABASE ') &gt; 0) THEN\r\n---\r\n&gt;           INSTR(ROLES_AND_PRIVS,' DATAPUMP_EXP_FULL_DATABASE ') &gt; 0 OR\r\n&gt;           INSTR(ROLES_AND_PRIVS,' DATAPUMP_CLOUD_IMP ') &gt; 0 OR\r\n&gt;           INSTR(ROLES_AND_PRIVS,' DATAPUMP_CLOUD_EXP ') &gt; 0) THEN\r\n26337a26382,26398\r\n&gt;\r\n&gt;\r\n&gt;       BEGIN\r\n&gt;         EXECUTE IMMEDIATE\r\n&gt;           'grant read on ' || V_PFX_FOR_RDF_OBJ_NAME || 'rdf_parameter to DATAPUMP_CLOUD_IMP';\r\n&gt;         EXCEPTION\r\n&gt;           WHEN ROLE_NOT_FOUND THEN NULL;\r\n&gt;           WHEN OTHERS THEN RAISE;\r\n&gt;       END;\r\n&gt;\r\n&gt;       BEGIN\r\n&gt;         EXECUTE IMMEDIATE\r\n&gt;           'grant read on ' || V_PFX_FOR_RDF_OBJ_NAME || 'rdf_parameter to DATAPUMP_CLOUD_EXP';\r\n&gt;         EXCEPTION\r\n&gt;           WHEN ROLE_NOT_FOUND THEN NULL;\r\n&gt;           WHEN OTHERS THEN RAISE;\r\n&gt;       END;\r\n<\/pre>\n<div id=\"SYS.DBMS_BACKUP_RESTORE.PACKAGE.19.0.0.0_19.7RUR\">SYS.DBMS_BACKUP_RESTORE &#8211; PACKAGE (19.7RUR):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n12c12\r\n&lt;   bannerVersion CONSTANT VARCHAR2(15) := '19.07.01.00';\r\n---\r\n&gt;   bannerVersion CONSTANT VARCHAR2(15) := '19.07.02.00';\r\n24,26c24,26\r\n&lt;   fsn  CONSTANT NUMBER := instr('19.07.01.00', '.');\r\n&lt;   msn  CONSTANT NUMBER := instr('19.07.01.00', '.', fsn + 1);\r\n&lt;   psn  CONSTANT NUMBER := instr('19.07.01.00', '.', msn + 1);\r\n---\r\n&gt;   fsn  CONSTANT NUMBER := instr('19.07.02.00', '.');\r\n&gt;   msn  CONSTANT NUMBER := instr('19.07.02.00', '.', fsn + 1);\r\n&gt;   psn  CONSTANT NUMBER := instr('19.07.02.00', '.', msn + 1);\r\n29c29\r\n&lt;                            to_number(substr('19.07.01.00', 1, fsn - 1));\r\n---\r\n&gt;                            to_number(substr('19.07.02.00', 1, fsn - 1));\r\n31c31\r\n&lt;                to_number(substr('19.07.01.00', fsn + 1, msn - fsn - 1));\r\n---\r\n&gt;                to_number(substr('19.07.02.00', fsn + 1, msn - fsn - 1));\r\n33c33\r\n&lt;               to_number(substr('19.07.01.00',  msn + 1, psn - msn - 1));\r\n---\r\n&gt;               to_number(substr('19.07.02.00',  msn + 1, psn - msn - 1));\r\n35c35\r\n&lt;                              to_number(substr('19.07.01.00',  psn + 1));\r\n---\r\n&gt;                              to_number(substr('19.07.02.00',  psn + 1));\r\n<\/pre>\n<div id=\"SYS.DBMS_BACKUP_RESTORE.PACKAGE.19.0.0.0_19.8RUR\">SYS.DBMS_BACKUP_RESTORE &#8211; PACKAGE (19.8RUR):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n12c12\r\n&lt;   bannerVersion CONSTANT VARCHAR2(15) := '19.08.00.00';\r\n---\r\n&gt;   bannerVersion CONSTANT VARCHAR2(15) := '19.08.01.00';\r\n24,26c24,26\r\n&lt;   fsn  CONSTANT NUMBER := instr('19.08.00.00', '.');\r\n&lt;   msn  CONSTANT NUMBER := instr('19.08.00.00', '.', fsn + 1);\r\n&lt;   psn  CONSTANT NUMBER := instr('19.08.00.00', '.', msn + 1);\r\n---\r\n&gt;   fsn  CONSTANT NUMBER := instr('19.08.01.00', '.');\r\n&gt;   msn  CONSTANT NUMBER := instr('19.08.01.00', '.', fsn + 1);\r\n&gt;   psn  CONSTANT NUMBER := instr('19.08.01.00', '.', msn + 1);\r\n29c29\r\n&lt;                            to_number(substr('19.08.00.00', 1, fsn - 1));\r\n---\r\n&gt;                            to_number(substr('19.08.01.00', 1, fsn - 1));\r\n31c31\r\n&lt;                to_number(substr('19.08.00.00', fsn + 1, msn - fsn - 1));\r\n---\r\n&gt;                to_number(substr('19.08.01.00', fsn + 1, msn - fsn - 1));\r\n33c33\r\n&lt;               to_number(substr('19.08.00.00',  msn + 1, psn - msn - 1));\r\n---\r\n&gt;               to_number(substr('19.08.01.00',  msn + 1, psn - msn - 1));\r\n35c35\r\n&lt;                              to_number(substr('19.08.00.00',  psn + 1));\r\n---\r\n&gt;                              to_number(substr('19.08.01.00',  psn + 1));\r\n<\/pre>\n<div id=\"SYS.DBMS_BACKUP_RESTORE.PACKAGE.19.0.0.0_RU\">SYS.DBMS_BACKUP_RESTORE &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n12c12\r\n&lt;   bannerVersion CONSTANT VARCHAR2(15) := '19.08.00.00';\r\n---\r\n&gt;   bannerVersion CONSTANT VARCHAR2(15) := '19.09.00.00';\r\n24,26c24,26\r\n&lt;   fsn  CONSTANT NUMBER := instr('19.08.00.00', '.');\r\n&lt;   msn  CONSTANT NUMBER := instr('19.08.00.00', '.', fsn + 1);\r\n&lt;   psn  CONSTANT NUMBER := instr('19.08.00.00', '.', msn + 1);\r\n---\r\n&gt;   fsn  CONSTANT NUMBER := instr('19.09.00.00', '.');\r\n&gt;   msn  CONSTANT NUMBER := instr('19.09.00.00', '.', fsn + 1);\r\n&gt;   psn  CONSTANT NUMBER := instr('19.09.00.00', '.', msn + 1);\r\n29c29\r\n&lt;                            to_number(substr('19.08.00.00', 1, fsn - 1));\r\n---\r\n&gt;                            to_number(substr('19.09.00.00', 1, fsn - 1));\r\n31c31\r\n&lt;                to_number(substr('19.08.00.00', fsn + 1, msn - fsn - 1));\r\n---\r\n&gt;                to_number(substr('19.09.00.00', fsn + 1, msn - fsn - 1));\r\n33c33\r\n&lt;               to_number(substr('19.08.00.00',  msn + 1, psn - msn - 1));\r\n---\r\n&gt;               to_number(substr('19.09.00.00',  msn + 1, psn - msn - 1));\r\n35c35\r\n&lt;                              to_number(substr('19.08.00.00',  psn + 1));\r\n---\r\n&gt;                              to_number(substr('19.09.00.00',  psn + 1));\r\n<\/pre>\n<div id=\"SYS.DBMS_CRYPTO.PACKAGE.19.0.0.0_RU\">SYS.DBMS_CRYPTO &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n83a84,102\r\n&gt;     -- Public Key Encryption Algorithm\r\n&gt;     PKENCRYPT_RSA_PKCS1_OAEP   CONSTANT PLS_INTEGER   := 1;\r\n&gt;\r\n&gt;     -- Public Key Type Algorithm\r\n&gt;     KEY_TYPE_RSA               CONSTANT PLS_INTEGER   := 1;\r\n&gt;\r\n&gt;     -- Public Key Signature Type Algorithm\r\n&gt;     SIGN_SHA1_RSA              CONSTANT PLS_INTEGER   := 1;\r\n&gt;     SIGN_MD2_RSA               CONSTANT PLS_INTEGER   := 2;\r\n&gt;     SIGN_MD5_RSA               CONSTANT PLS_INTEGER   := 3;\r\n&gt;     SIGN_RSA_PKCS1_OAEP_SHA256 CONSTANT PLS_INTEGER   := 4;\r\n&gt;     SIGN_SHA1_RSA_X931         CONSTANT PLS_INTEGER   := 5;\r\n&gt;     SIGN_SHA224_RSA            CONSTANT PLS_INTEGER   := 6;\r\n&gt;     SIGN_SHA256_RSA            CONSTANT PLS_INTEGER   := 7;\r\n&gt;     SIGN_SHA256_RSA_X931       CONSTANT PLS_INTEGER   := 8;\r\n&gt;     SIGN_SHA384_RSA            CONSTANT PLS_INTEGER   := 9;\r\n&gt;     SIGN_SHA384_RSA_X931       CONSTANT PLS_INTEGER   := 10;\r\n&gt;     SIGN_SHA512_RSA            CONSTANT PLS_INTEGER   := 11;\r\n&gt;     SIGN_SHA512_RSA_X931       CONSTANT PLS_INTEGER   := 12;\r\n339a359,401\r\n&gt;\r\n&gt;     ------------------------------------------------------------------------\r\n&gt;     --\r\n&gt;     -- NAME:  Asymmetric Key Operations\r\n&gt;     --\r\n&gt;     -- DESCRIPTION:\r\n&gt;     --\r\n&gt;     -- New API for Asymmetric Key Operations which are encrypt, decrypt,\r\n&gt;     -- sign and verify\r\n&gt;     --\r\n&gt;     -- PARAMETERS\r\n&gt;     --\r\n&gt;     --\r\n&gt;     ------------------------------------------------------------------------\r\n&gt;\r\n&gt;\r\n&gt;     FUNCTION PKENCRYPT   (src        IN            RAW,\r\n&gt;                           pub_key    IN            RAW,\r\n&gt;                           pubkey_alg IN            PLS_INTEGER,\r\n&gt;                           enc_alg    IN            PLS_INTEGER)\r\n&gt;     RETURN RAW;\r\n&gt;\r\n&gt;\r\n&gt;     FUNCTION PKDECRYPT   (src        IN            RAW,\r\n&gt;                           prv_key    IN            RAW,\r\n&gt;                           pubkey_alg IN            PLS_INTEGER,\r\n&gt;                           enc_alg    IN            PLS_INTEGER)\r\n&gt;        RETURN RAW;\r\n&gt;\r\n&gt;\r\n&gt;     FUNCTION SIGN        (src        IN            RAW,\r\n&gt;                           prv_key    IN            RAW,\r\n&gt;                           pubkey_alg IN            PLS_INTEGER,\r\n&gt;                           sign_alg   IN            PLS_INTEGER)\r\n&gt;        RETURN RAW;\r\n&gt;\r\n&gt;\r\n&gt;     FUNCTION VERIFY      (src        IN            RAW,\r\n&gt;                           sign       IN            RAW,\r\n&gt;                           pub_key    IN            RAW,\r\n&gt;                           pubkey_alg IN            PLS_INTEGER,\r\n&gt;                           sign_alg   IN            PLS_INTEGER)\r\n&gt;        RETURN BOOLEAN;\r\n<\/pre>\n<div id=\"SYS.DBMS_CRYPTO_FFI.PACKAGE.19.0.0.0_RU\">SYS.DBMS_CRYPTO_FFI &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n86a87,115\r\n&gt;     FUNCTION PKENCRYPT   (SRC        IN RAW,\r\n&gt;                           PUB_KEY    IN RAW,\r\n&gt;                           PUBKEY_ALG IN PLS_INTEGER,\r\n&gt;                           ENC_ALG    IN PLS_INTEGER)\r\n&gt;        RETURN RAW;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;     FUNCTION PKDECRYPT   (SRC        IN RAW,\r\n&gt;                           PRV_KEY    IN RAW,\r\n&gt;                           PUBKEY_ALG IN PLS_INTEGER,\r\n&gt;                           ENC_ALG    IN PLS_INTEGER)\r\n&gt;        RETURN RAW;\r\n&gt;\r\n&gt;\r\n&gt;     FUNCTION SIGN        (SRC        IN RAW,\r\n&gt;                           PRV_KEY    IN RAW,\r\n&gt;                           PUBKEY_ALG IN PLS_INTEGER,\r\n&gt;                           SIGN_ALG   IN PLS_INTEGER)\r\n&gt;        RETURN RAW;\r\n&gt;\r\n&gt;\r\n&gt;     FUNCTION VERIFY      (SRC        IN RAW,\r\n&gt;                           SIGN       IN RAW,\r\n&gt;                           PUB_KEY    IN RAW,\r\n&gt;                           PUBKEY_ALG IN PLS_INTEGER,\r\n&gt;                           SIGN_ALG   IN PLS_INTEGER)\r\n&gt;        RETURN BOOLEAN;\r\n&gt;\r\n<\/pre>\n<div id=\"SYS.DBMS_JSON0.PACKAGE.19.0.0.0_RU\">SYS.DBMS_JSON0 &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n23,24c23\r\n&lt;                       TNAME VARCHAR2,\r\n&lt;                       CNAME VARCHAR2) RETURN BOOLEAN;\r\n---\r\n&gt;                       TNAME VARCHAR2) RETURN BOOLEAN;\r\n<\/pre>\n<div id=\"SYS.DBMS_PARALLEL_EXECUTE_INTERNAL.PACKAGE.19.0.0.0_RU\">SYS.DBMS_PARALLEL_EXECUTE_INTERNAL &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n15d14\r\n&lt;\r\n33c32,36\r\n&lt;                                    NUM_ROW     IN NUMBER);\r\n---\r\n&gt;                                    NUM_ROW     IN NUMBER,\r\n&gt;                                    BLOCKS      IN NUMBER,\r\n&gt;                                    NUM_ROWS    IN NUMBER,\r\n&gt;                                    FROM_STATS  IN BOOLEAN)\r\n&gt;     ACCESSIBLE BY (PACKAGE SYS.DBMS_PARALLEL_EXECUTE);\r\n39c42,43\r\n&lt;                                    NUM_BLOCK   IN NUMBER);\r\n---\r\n&gt;                                    NUM_BLOCK   IN NUMBER)\r\n&gt;     ACCESSIBLE BY (PACKAGE SYS.DBMS_PARALLEL_EXECUTE);\r\n46c50,51\r\n&lt;                                         CHUNK_SIZE   IN NUMBER);\r\n---\r\n&gt;                                         CHUNK_SIZE   IN NUMBER)\r\n&gt;     ACCESSIBLE BY (PACKAGE SYS.DBMS_PARALLEL_EXECUTE);\r\n50,51c55,56\r\n&lt;                                  SQL_STMT  IN CLOB,\r\n&lt;                                  BY_ROWID  IN BOOLEAN);\r\n---\r\n&gt;                                  BY_ROWID  IN BOOLEAN)\r\n&gt;     ACCESSIBLE BY (PACKAGE SYS.DBMS_PARALLEL_EXECUTE);\r\n96,98c101,102\r\n&lt;   PROCEDURE RUN_INTERNAL_WORKER(OWNER#    IN NUMBER,\r\n&lt;                                 TASK_NAME IN VARCHAR2,\r\n&lt;                                 JOB_NAME  IN VARCHAR2);\r\n---\r\n&gt;   PROCEDURE RUN_INTERNAL_WORKER(JOB_NAME  IN VARCHAR2)\r\n&gt;     ACCESSIBLE BY (PACKAGE SYS.DBMS_PARALLEL_EXECUTE);\r\n119a124,142\r\n&gt;\r\n&gt;   FUNCTION IS_STOP_FLAG_SET(OWNER# IN NUMBER,\r\n&gt;                             TASK   IN VARCHAR2) RETURN BOOLEAN\r\n&gt;     ACCESSIBLE BY (PACKAGE SYS.DBMS_PARALLEL_EXECUTE);\r\n&gt;\r\n&gt;   PROCEDURE SET_TASK_STATUS(OWNER#     IN NUMBER,\r\n&gt;                             TASK       IN VARCHAR2,\r\n&gt;                             NEW_STATUS IN NUMBER)\r\n&gt;     ACCESSIBLE BY (PACKAGE SYS.DBMS_PARALLEL_EXECUTE);\r\n&gt;\r\n&gt;   PROCEDURE INSERT_CHUNKS_ROW(OWNER# NUMBER, TASK_NAME VARCHAR2,\r\n&gt;                               STATUS NUMBER, START_ID NUMBER, END_ID NUMBER,\r\n&gt;                               START_ROWID UROWID, END_ROWID UROWID)\r\n&gt;     ACCESSIBLE BY (PACKAGE SYS.DBMS_PARALLEL_EXECUTE);\r\n&gt;\r\n&gt;   PROCEDURE GET_BLOCKS_NUM_ROWS(TABLE_OWNER IN VARCHAR2,\r\n&gt;                                 TABLE_NAME IN VARCHAR2,\r\n&gt;                                 BLOCKS OUT NUMBER, NUM_ROWS OUT NUMBER)\r\n&gt;     ACCESSIBLE BY (PACKAGE SYS.DBMS_PARALLEL_EXECUTE);\r\n<\/pre>\n<div id=\"SYS.DBMS_REGISTRY.PACKAGE.19.0.0.0_19.8RUR\">SYS.DBMS_REGISTRY &#8211; PACKAGE (19.8RUR):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n13c13\r\n&lt;                                '19.8.0.0.0';\r\n---\r\n&gt;                                '19.8.1.0.0';\r\n<\/pre>\n<div id=\"SYS.DBMS_REGISTRY.PACKAGE.19.0.0.0_19.7RUR\">SYS.DBMS_REGISTRY &#8211; PACKAGE (19.7RUR):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n13c13\r\n&lt;                                '19.7.1.0.0';\r\n---\r\n&gt;                                '19.7.2.0.0';\r\n<\/pre>\n<div id=\"SYS.DBMS_REGISTRY.PACKAGE.19.0.0.0_RU\">SYS.DBMS_REGISTRY &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n13c13\r\n&lt;                                '19.8.0.0.0';\r\n---\r\n&gt;                                '19.9.0.0.0';\r\n<\/pre>\n<div id=\"SYS.DBMS_RULE_IMP_OBJ.PACKAGE.19.0.0.0_RU\">SYS.DBMS_RULE_IMP_OBJ &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n2c2\r\n&lt;\r\n---\r\n&gt; PRAGMA SUPPLEMENTAL_LOG_DATA(DEFAULT, AUTO);\r\n<\/pre>\n<div id=\"SYS.DBMS_SODA.PACKAGE.19.0.0.0_RU\">SYS.DBMS_SODA &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n19c19,21\r\n&lt;     FUNCTION drop_Collection (collection_Name NVARCHAR2)\r\n---\r\n&gt;     FUNCTION drop_Collection (collection_Name  NVARCHAR2,\r\n&gt;                               purge             BOOLEAN DEFAULT FALSE,\r\n&gt;                               drop_Mapped_Table BOOLEAN DEFAULT FALSE)\r\n26a29,31\r\n&gt;\r\n&gt;     FUNCTION TO_UUID (placeholder IN VARCHAR2)\r\n&gt;     RETURN VARCHAR2;\r\n<\/pre>\n<div id=\"SYS.DBMS_SODA_UTIL.PACKAGE.19.0.0.0_RU\">SYS.DBMS_SODA_UTIL &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n9c9\r\n&lt;   function isJDCS return boolean;\r\n---\r\n&gt;   function getServiceName return varchar2;\r\n10a11\r\n&gt;   function checkAndGetCompat return number;\r\n<\/pre>\n<div id=\"SYS.DBMS_SPM_INTERNAL.PACKAGE.19.0.0.0_19.8RUR\">SYS.DBMS_SPM_INTERNAL &#8211; PACKAGE (19.8RUR):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n21c21,22\r\n&lt;   AUTO_EVOLVE_TASK_NAME CONSTANT   DBMS_ID := 'SYS_AUTO_SPM_EVOLVE_TASK';\r\n---\r\n&gt;   AUTO_EVOLVE_TASK_NAME            CONSTANT   DBMS_ID :=\r\n&gt;     'SYS_AUTO_SPM_EVOLVE_TASK';\r\n24a26,27\r\n&gt;\r\n&gt;   AUTO_INDEX_EVOLVE_TASK_OWNER      CONSTANT  DBMS_ID := 'SYS';\r\n769a773,789\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;   PROCEDURE HIGH_FREQ_EVOLVE_TASK_PROC;\r\n<\/pre>\n<div id=\"SYS.PRVTEMX_PERF.PACKAGE.19.0.0.0_RU\">SYS.PRVTEMX_PERF &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n34a35,50\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n44a61,62\r\n&gt;     P_REPORT_LEVEL       IN   VARCHAR2   DEFAULT  'all',\r\n&gt;     P_COMPRESS_XML       IN   NUMBER     DEFAULT   1,\r\n<\/pre>\n<div id=\"SYS.DBMS_AUTO_INDEX_INTERNAL.PACKAGE BODY.19.0.0.0_19.8RUR\">SYS.DBMS_AUTO_INDEX_INTERNAL &#8211; PACKAGE BODY (19.8RUR):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n6542a6543\r\n&gt;                  and sql_text not like '%\/* SQL Analyze(%'\r\n<\/pre>\n<div id=\"SYS.DBMS_CRYPTO.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_CRYPTO &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n136a137,175\r\n&gt;     FUNCTION PKENCRYPT  (SRC        IN RAW,\r\n&gt;                          PUB_KEY    IN RAW,\r\n&gt;                          PUBKEY_ALG IN PLS_INTEGER,\r\n&gt;                          ENC_ALG    IN PLS_INTEGER)\r\n&gt;       RETURN RAW IS\r\n&gt;     BEGIN\r\n&gt;       RETURN DBMS_CRYPTO_FFI.PKENCRYPT(SRC, PUB_KEY, PUBKEY_ALG, ENC_ALG);\r\n&gt;     END PKENCRYPT;\r\n&gt;\r\n&gt;\r\n&gt;     FUNCTION PKDECRYPT  (SRC        IN RAW,\r\n&gt;                          PRV_KEY    IN RAW,\r\n&gt;                          PUBKEY_ALG IN PLS_INTEGER,\r\n&gt;                          ENC_ALG    IN PLS_INTEGER)\r\n&gt;       RETURN RAW IS\r\n&gt;     BEGIN\r\n&gt;       RETURN DBMS_CRYPTO_FFI.PKDECRYPT(SRC, PRV_KEY, PUBKEY_ALG, ENC_ALG);\r\n&gt;     END PKDECRYPT;\r\n&gt;\r\n&gt;\r\n&gt;     FUNCTION SIGN       (SRC        IN RAW,\r\n&gt;                          PRV_KEY    IN RAW,\r\n&gt;                          PUBKEY_ALG IN PLS_INTEGER,\r\n&gt;                          SIGN_ALG   IN PLS_INTEGER)\r\n&gt;       RETURN RAW IS\r\n&gt;     BEGIN\r\n&gt;       RETURN DBMS_CRYPTO_FFI.SIGN(SRC, PRV_KEY, PUBKEY_ALG, SIGN_ALG);\r\n&gt;     END SIGN;\r\n&gt;\r\n&gt;\r\n&gt;     FUNCTION VERIFY     (SRC        IN RAW,\r\n&gt;                          SIGN       IN RAW,\r\n&gt;                          PUB_KEY    IN RAW,\r\n&gt;                          PUBKEY_ALG IN PLS_INTEGER,\r\n&gt;                          SIGN_ALG   IN PLS_INTEGER)\r\n&gt;       RETURN BOOLEAN IS\r\n&gt;     BEGIN\r\n&gt;       RETURN DBMS_CRYPTO_FFI.VERIFY(SRC, SIGN, PUB_KEY, PUBKEY_ALG, SIGN_ALG);\r\n&gt;     END VERIFY;\r\n<\/pre>\n<div id=\"SYS.DBMS_CRYPTO_FFI.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_CRYPTO_FFI &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n257a258,351\r\n&gt;     FUNCTION PKENCRYPT   (SRC        IN RAW,\r\n&gt;                           PUB_KEY    IN RAW,\r\n&gt;                           PUBKEY_ALG IN PLS_INTEGER,\r\n&gt;                           ENC_ALG    IN PLS_INTEGER)\r\n&gt;       RETURN RAW\r\n&gt;     IS EXTERNAL NAME \"kzstea\"\r\n&gt;     PARAMETERS (CONTEXT,\r\n&gt;                 SRC                  OCIRAW,\r\n&gt;                 SRC        INDICATOR SB4,\r\n&gt;                 SRC        LENGTH    UB4,\r\n&gt;                 PUB_KEY              OCIRAW,\r\n&gt;                 PUB_KEY    INDICATOR SB4,\r\n&gt;                 PUB_KEY    LENGTH    UB4,\r\n&gt;                 PUBKEY_ALG           SB4,\r\n&gt;                 PUBKEY_ALG INDICATOR SB4,\r\n&gt;                 ENC_ALG              SB4,\r\n&gt;                 ENC_ALG    INDICATOR SB4,\r\n&gt;                 RETURN     INDICATOR SB4,\r\n&gt;                 RETURN     LENGTH    UB4)\r\n&gt;     LIBRARY CRYPTO_TOOLKIT_LIBRARY\r\n&gt;     WITH CONTEXT;\r\n&gt;\r\n&gt;\r\n&gt;     FUNCTION PKDECRYPT   (SRC        IN RAW,\r\n&gt;                           PRV_KEY    IN RAW,\r\n&gt;                           PUBKEY_ALG IN PLS_INTEGER,\r\n&gt;                           ENC_ALG    IN PLS_INTEGER)\r\n&gt;       RETURN RAW\r\n&gt;     IS EXTERNAL NAME \"kzstde\"\r\n&gt;     PARAMETERS (CONTEXT,\r\n&gt;                 SRC                  OCIRAW,\r\n&gt;                 SRC        INDICATOR SB4,\r\n&gt;                 SRC        LENGTH    UB4,\r\n&gt;                 PRV_KEY              OCIRAW,\r\n&gt;                 PRV_KEY    INDICATOR SB4,\r\n&gt;                 PRV_KEY    LENGTH    UB4,\r\n&gt;                 PUBKEY_ALG           SB4,\r\n&gt;                 PUBKEY_ALG INDICATOR SB4,\r\n&gt;                 ENC_ALG              SB4,\r\n&gt;                 ENC_ALG    INDICATOR SB4,\r\n&gt;                 RETURN     INDICATOR SB4,\r\n&gt;                 RETURN     LENGTH    UB4)\r\n&gt;     LIBRARY CRYPTO_TOOLKIT_LIBRARY\r\n&gt;     WITH CONTEXT;\r\n&gt;\r\n&gt;\r\n&gt;     FUNCTION SIGN  (SRC        IN RAW,\r\n&gt;                     PRV_KEY    IN RAW,\r\n&gt;                     PUBKEY_ALG IN PLS_INTEGER,\r\n&gt;                     SIGN_ALG   IN PLS_INTEGER)\r\n&gt;       RETURN RAW\r\n&gt;     IS EXTERNAL NAME \"kzsts\"\r\n&gt;     PARAMETERS (CONTEXT,\r\n&gt;                 SRC                  OCIRAW,\r\n&gt;                 SRC        INDICATOR SB4,\r\n&gt;                 SRC        LENGTH    UB4,\r\n&gt;                 PRV_KEY              OCIRAW,\r\n&gt;                 PRV_KEY    INDICATOR SB4,\r\n&gt;                 PRV_KEY    LENGTH    UB4,\r\n&gt;                 PUBKEY_ALG           SB4,\r\n&gt;                 PUBKEY_ALG INDICATOR SB4,\r\n&gt;                 SIGN_ALG             SB4,\r\n&gt;                 SIGN_ALG   INDICATOR SB4,\r\n&gt;                 RETURN     INDICATOR SB4,\r\n&gt;                 RETURN     LENGTH    UB4)\r\n&gt;     LIBRARY CRYPTO_TOOLKIT_LIBRARY\r\n&gt;     WITH CONTEXT;\r\n&gt;\r\n&gt;\r\n&gt;     FUNCTION VERIFY  (SRC        IN RAW,\r\n&gt;                       SIGN       IN RAW,\r\n&gt;                       PUB_KEY    IN RAW,\r\n&gt;                       PUBKEY_ALG IN PLS_INTEGER,\r\n&gt;                       SIGN_ALG   IN PLS_INTEGER)\r\n&gt;       RETURN BOOLEAN\r\n&gt;     IS EXTERNAL NAME \"kzstv\"\r\n&gt;     PARAMETERS (CONTEXT,\r\n&gt;                 SRC                  OCIRAW,\r\n&gt;                 SRC        INDICATOR SB4,\r\n&gt;                 SRC        LENGTH    UB4,\r\n&gt;                 SIGN                 OCIRAW,\r\n&gt;                 SIGN       INDICATOR SB4,\r\n&gt;                 SIGN       LENGTH    UB4,\r\n&gt;                 PUB_KEY              OCIRAW,\r\n&gt;                 PUB_KEY    INDICATOR SB4,\r\n&gt;                 PUB_KEY    LENGTH    UB4,\r\n&gt;                 PUBKEY_ALG           SB4,\r\n&gt;                 PUBKEY_ALG INDICATOR SB4,\r\n&gt;                 SIGN_ALG             SB4,\r\n&gt;                 SIGN_ALG   INDICATOR SB4,\r\n&gt;                 RETURN               SB2)\r\n&gt;     LIBRARY CRYPTO_TOOLKIT_LIBRARY\r\n&gt;     WITH CONTEXT;\r\n&gt;\r\n<\/pre>\n<div id=\"SYS.DBMS_ISCHED.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_ISCHED &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n9140,9155c9140\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;   DELETE FROM SYS.SCHEDULER$_DBMSJOB_MAP\r\n&lt;   WHERE JOB_NAME NOT IN (SELECT NAME\r\n&lt;                          FROM SYS.OBJ$\r\n&lt;                          WHERE NAME LIKE 'DBMS_JOB$_%');\r\n&lt;   INSERT INTO SYS.SCHEDULER$_DBMSJOB_MAP\r\n---\r\n&gt;   INSERT INTO SYS.SCHEDULER$_DBMSJOB_MAP (DBMS_JOB_NUMBER, JOB_OWNER, JOB_NAME)\r\n<\/pre>\n<div id=\"SYS.DBMS_JSON0.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_JSON0 &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n55a56\r\n&gt;\r\n157,159c158,159\r\n&lt;                       OWNER VARCHAR2,\r\n&lt;                       TNAME VARCHAR2,\r\n&lt;                       CNAME VARCHAR2) RETURN BOOLEAN\r\n---\r\n&gt;                      OWNER VARCHAR2,\r\n&gt;                      TNAME VARCHAR2) RETURN BOOLEAN\r\n161,162c161\r\n&lt;   CURSOR CHECK_CUR(OWN VARCHAR2, TNM VARCHAR2, CNM VARCHAR2,\r\n&lt;                    COM VARCHAR2)\r\n---\r\n&gt;   CURSOR CHECK_CUR(OWN VARCHAR2, TNM VARCHAR2, CNM VARCHAR2)\r\n164,173c163,166\r\n&lt;      SELECT 1 FROM COL$ C, USER$ U, COM$ CO, OBJ$ O\r\n&lt;        WHERE O.OWNER# = U.USER#\r\n&lt;        AND U.NAME = OWN\r\n&lt;        AND O.TYPE# IN (2,4)\r\n&lt;        AND O.OBJ# = C.OBJ#\r\n&lt;        AND C.OBJ# = CO.OBJ#(+)\r\n&lt;        AND C.INTCOL# = CO.COL#(+)\r\n&lt;        AND O.NAME = TNM\r\n&lt;        AND C.NAME = CNM\r\n&lt;        AND (CO.COMMENT$ IS NULL OR CO.COMMENT$ != COM);\r\n---\r\n&gt;      SELECT 1 FROM DBA_TAB_COLS C\r\n&gt;      WHERE C.OWNER = OWN\r\n&gt;        AND C.TABLE_NAME = TNM\r\n&gt;        AND C.COLUMN_NAME = CNM;\r\n175,176c168\r\n&lt;   NAMEOK   BOOLEAN := FALSE;\r\n&lt;   COMNT    VARCHAR2(135);\r\n---\r\n&gt;   VCEXISTS   BOOLEAN := FALSE;\r\n178,179c170\r\n&lt;   COMNT := CNAME||' dg';\r\n&lt;   OPEN CHECK_CUR(OWNER, TNAME, VCNAME, COMNT);\r\n---\r\n&gt;   OPEN CHECK_CUR(OWNER, TNAME, VCNAME);\r\n182,183c173,174\r\n&lt;   IF QUERYRET IS NULL THEN\r\n&lt;     NAMEOK := TRUE;\r\n---\r\n&gt;   IF QUERYRET IS NOT NULL THEN\r\n&gt;     VCEXISTS := TRUE;\r\n185c176\r\n&lt;   RETURN NAMEOK;\r\n---\r\n&gt;   RETURN VCEXISTS;\r\n<\/pre>\n<div id=\"SYS.DBMS_PARALLEL_EXECUTE.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_PARALLEL_EXECUTE &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n117a118,123\r\n&gt;     BLOCKS               NUMBER;\r\n&gt;     NUM_ROWS             NUMBER;\r\n&gt;     QUOTED_TABLE_OWNER   DBMS_QUOTED_ID;\r\n&gt;     QUOTED_TABLE_NAME    DBMS_QUOTED_ID;\r\n&gt;     CALLED_DBMS_STATS    BOOLEAN := FALSE;\r\n&gt;     SQL_STMT             VARCHAR2(32767);\r\n123a130,178\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;       DBMS_PARALLEL_EXECUTE_INTERNAL.GET_BLOCKS_NUM_ROWS(\r\n&gt;         TABLE_OWNER, TABLE_NAME, BLOCKS, NUM_ROWS);\r\n&gt;\r\n&gt;       IF (BLOCKS IS NULL OR NUM_ROWS IS NULL) THEN\r\n&gt;         CALLED_DBMS_STATS := TRUE;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;         BLOCKS := DBMS_STATS_INTERNAL.GET_TABLE_BLOCK_COUNT(\r\n&gt;           TABLE_OWNER,\r\n&gt;           TABLE_NAME,\r\n&gt;           PARTNAME =&gt; NULL,\r\n&gt;           SUBPARTNAME =&gt; NULL,\r\n&gt;           IGNORE_ERRORS =&gt; 'TRUE');\r\n&gt;\r\n&gt;         QUOTED_TABLE_OWNER := DBMS_ASSERT.ENQUOTE_NAME(TABLE_OWNER, FALSE);\r\n&gt;         QUOTED_TABLE_NAME := DBMS_ASSERT.ENQUOTE_NAME(TABLE_NAME, FALSE);\r\n&gt;\r\n&gt;         NUM_ROWS := DBMS_STATS.GET_ROW_COUNT_ESTIMATE(\r\n&gt;           OWNNAME =&gt; QUOTED_TABLE_OWNER,\r\n&gt;           TABNAME =&gt; QUOTED_TABLE_NAME,\r\n&gt;           PARTNAME =&gt; NULL,\r\n&gt;           NBLKS =&gt; NULL,\r\n&gt;           DEGREE =&gt; NULL);\r\n&gt;       END IF;\r\n&gt;\r\n&gt;       IF NUM_ROWS = 0 THEN\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;         SQL_STMT := 'select count(*) from ' ||\r\n&gt;                       DBMS_ASSERT.ENQUOTE_NAME(TABLE_OWNER) || '.' ||\r\n&gt;                       DBMS_ASSERT.ENQUOTE_NAME(TABLE_NAME);\r\n&gt;         EXECUTE IMMEDIATE SQL_STMT INTO NUM_ROWS;\r\n&gt;       END IF;\r\n&gt;\r\n126c181,182\r\n&lt;         NUM_ROW=&gt;CHUNK_SIZE);\r\n---\r\n&gt;         NUM_ROW=&gt;CHUNK_SIZE, BLOCKS=&gt;BLOCKS, NUM_ROWS=&gt;NUM_ROWS,\r\n&gt;         FROM_STATS=&gt;CALLED_DBMS_STATS);\r\n144a201,220\r\n&gt;     L_MIN_VAL     NUMBER;\r\n&gt;     L_MAX_VAL     NUMBER;\r\n&gt;     L_TBL_OWN     DBMS_ID;\r\n&gt;     L_TBL_NM      DBMS_ID;\r\n&gt;     L_COL_NM      DBMS_ID;\r\n&gt;     L_AST_TBL_OWN DBMS_QUOTED_ID;\r\n&gt;     L_AST_TBL_NM  DBMS_QUOTED_ID;\r\n&gt;     L_AST_COL_NM  DBMS_QUOTED_ID;\r\n&gt;     L_SQL         VARCHAR2(1000);\r\n&gt;     L_START_ID    NUMBER;\r\n&gt;     L_END_ID      NUMBER;\r\n&gt;     L_SEQ         NUMBER;\r\n&gt;     L_USR_CUR     INTEGER;\r\n&gt;     L_ROWS        NUMBER;\r\n&gt;     L_STATUS      NUMBER;\r\n&gt;     L_CHUNK_SIZE  NUMBER;\r\n&gt;     L_CNT         NUMBER := 0;\r\n&gt;     L_START_ROWID UROWID;\r\n&gt;     L_END_ROWID   UROWID;\r\n&gt;     OWNER#          NUMBER := USERENV('SCHEMAID');\r\n148,149c224,293\r\n&lt;       USERENV('SCHEMAID'), TASK_NAME, TABLE_OWNER, TABLE_NAME,\r\n&lt;       TABLE_COLUMN, CHUNK_SIZE);\r\n---\r\n&gt;       OWNER#, TASK_NAME, TABLE_OWNER, TABLE_NAME, TABLE_COLUMN, CHUNK_SIZE);\r\n&gt;\r\n&gt;     L_AST_TBL_NM  := DBMS_ASSERT.ENQUOTE_NAME(TABLE_NAME,   FALSE);\r\n&gt;     L_AST_TBL_OWN := DBMS_ASSERT.ENQUOTE_NAME(TABLE_OWNER,  FALSE);\r\n&gt;     L_AST_COL_NM  := DBMS_ASSERT.ENQUOTE_NAME(TABLE_COLUMN, FALSE);\r\n&gt;     L_CHUNK_SIZE := CHUNK_SIZE;\r\n&gt;     IF (L_CHUNK_SIZE &lt; 1) THEN L_CHUNK_SIZE := 1; END IF;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;     BEGIN\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;       L_SQL     := 'select min('||L_AST_COL_NM||'), max('||L_AST_COL_NM||')\r\n&gt;                     from ' || L_AST_TBL_OWN || '.' || L_AST_TBL_NM;\r\n&gt;       EXECUTE IMMEDIATE L_SQL INTO L_MIN_VAL, L_MAX_VAL;\r\n&gt;\r\n&gt;\r\n&gt;       IF (L_MIN_VAL IS NULL OR L_MAX_VAL IS NULL) THEN\r\n&gt;         RETURN;\r\n&gt;       END IF;\r\n&gt;\r\n&gt;\r\n&gt;       L_END_ID := L_MIN_VAL-1;\r\n&gt;       LOOP\r\n&gt;\r\n&gt;         L_START_ID := L_END_ID + 1;\r\n&gt;         L_END_ID   := LEAST(L_MAX_VAL, L_START_ID + L_CHUNK_SIZE - 1);\r\n&gt;\r\n&gt;\r\n&gt;         DBMS_PARALLEL_EXECUTE_INTERNAL.INSERT_CHUNKS_ROW(\r\n&gt;           OWNER#, TASK_NAME, DBMS_PARALLEL_EXECUTE.UNASSIGNED,\r\n&gt;           L_START_ID, L_END_ID, NULL, NULL);\r\n&gt;\r\n&gt;         COMMIT;\r\n&gt;         L_CNT := L_CNT + 1;\r\n&gt;\r\n&gt;\r\n&gt;         IF (L_END_ID = L_MAX_VAL) THEN\r\n&gt;           EXIT;\r\n&gt;         END IF;\r\n&gt;       END LOOP;\r\n&gt;\r\n&gt;\r\n&gt;       IF (L_CNT = 0) THEN\r\n&gt;         DBMS_PARALLEL_EXECUTE_INTERNAL.SET_TASK_STATUS\r\n&gt;           (OWNER#, TASK_NAME, DBMS_PARALLEL_EXECUTE.NO_CHUNKS);\r\n&gt;       ELSE\r\n&gt;         DBMS_PARALLEL_EXECUTE_INTERNAL.SET_TASK_STATUS\r\n&gt;           (OWNER#, TASK_NAME, DBMS_PARALLEL_EXECUTE.CHUNKED);\r\n&gt;       END IF;\r\n&gt;\r\n&gt;     EXCEPTION WHEN OTHERS THEN\r\n&gt;\r\n&gt;       DBMS_PARALLEL_EXECUTE_INTERNAL.SET_TASK_STATUS(OWNER#, TASK_NAME,\r\n&gt;                       DBMS_PARALLEL_EXECUTE.CHUNKING_FAILED);\r\n&gt;       RAISE;\r\n&gt;     END;\r\n160a305,312\r\n&gt;     L_START_ID      NUMBER;\r\n&gt;     L_END_ID        NUMBER;\r\n&gt;     L_START_ROWID   UROWID;\r\n&gt;     L_END_ROWID     UROWID;\r\n&gt;     L_SOURCE_CURSOR INTEGER;\r\n&gt;     L_IGNORE        NUMBER;\r\n&gt;     L_CNT           NUMBER := 0;\r\n&gt;     OWNER#          NUMBER := USERENV('SCHEMAID');\r\n163c315,374\r\n&lt;       USERENV('SCHEMAID'), TASK_NAME, SQL_STMT, BY_ROWID);\r\n---\r\n&gt;       OWNER#, TASK_NAME, BY_ROWID);\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;     BEGIN\r\n&gt;\r\n&gt;       L_SOURCE_CURSOR := DBMS_SQL.OPEN_CURSOR;\r\n&gt;       DBMS_SQL.PARSE(L_SOURCE_CURSOR, SQL_STMT, DBMS_SQL.NATIVE);\r\n&gt;       IF (BY_ROWID = FALSE) THEN\r\n&gt;         DBMS_SQL.DEFINE_COLUMN(L_SOURCE_CURSOR, 1, L_START_ID);\r\n&gt;         DBMS_SQL.DEFINE_COLUMN(L_SOURCE_CURSOR, 2, L_END_ID);\r\n&gt;       ELSE\r\n&gt;         DBMS_SQL.DEFINE_COLUMN(L_SOURCE_CURSOR, 1, L_START_ROWID);\r\n&gt;         DBMS_SQL.DEFINE_COLUMN(L_SOURCE_CURSOR, 2, L_END_ROWID);\r\n&gt;       END IF;\r\n&gt;       L_IGNORE := DBMS_SQL.EXECUTE(L_SOURCE_CURSOR);\r\n&gt;\r\n&gt;\r\n&gt;       LOOP\r\n&gt;          IF (DBMS_SQL.FETCH_ROWS(L_SOURCE_CURSOR)=0) THEN\r\n&gt;            EXIT;\r\n&gt;          END IF;\r\n&gt;\r\n&gt;\r\n&gt;          IF (BY_ROWID = FALSE) THEN\r\n&gt;            DBMS_SQL.COLUMN_VALUE(L_SOURCE_CURSOR, 1, L_START_ID);\r\n&gt;            DBMS_SQL.COLUMN_VALUE(L_SOURCE_CURSOR, 2, L_END_ID);\r\n&gt;          ELSE\r\n&gt;            DBMS_SQL.COLUMN_VALUE(L_SOURCE_CURSOR, 1, L_START_ROWID);\r\n&gt;            DBMS_SQL.COLUMN_VALUE(L_SOURCE_CURSOR, 2, L_END_ROWID);\r\n&gt;          END IF;\r\n&gt;\r\n&gt;\r\n&gt;          DBMS_PARALLEL_EXECUTE_INTERNAL.INSERT_CHUNKS_ROW(\r\n&gt;            OWNER#, TASK_NAME, DBMS_PARALLEL_EXECUTE.UNASSIGNED,\r\n&gt;            L_START_ID, L_END_ID, L_START_ROWID, L_END_ROWID);\r\n&gt;          L_CNT := L_CNT + 1;\r\n&gt;       END LOOP;\r\n&gt;\r\n&gt;\r\n&gt;       DBMS_SQL.CLOSE_CURSOR(L_SOURCE_CURSOR);\r\n&gt;\r\n&gt;\r\n&gt;       IF (L_CNT = 0) THEN\r\n&gt;         DBMS_PARALLEL_EXECUTE_INTERNAL.SET_TASK_STATUS(\r\n&gt;           OWNER#, TASK_NAME, DBMS_PARALLEL_EXECUTE.NO_CHUNKS);\r\n&gt;       ELSE\r\n&gt;         DBMS_PARALLEL_EXECUTE_INTERNAL.SET_TASK_STATUS(\r\n&gt;           OWNER#, TASK_NAME, DBMS_PARALLEL_EXECUTE.CHUNKED);\r\n&gt;       END IF;\r\n&gt;\r\n&gt;     EXCEPTION WHEN OTHERS THEN\r\n&gt;       IF DBMS_SQL.IS_OPEN(L_SOURCE_CURSOR) THEN\r\n&gt;         DBMS_SQL.CLOSE_CURSOR(L_SOURCE_CURSOR);\r\n&gt;       END IF;\r\n&gt;\r\n&gt;       DBMS_PARALLEL_EXECUTE_INTERNAL.SET_TASK_STATUS(\r\n&gt;         OWNER#, TASK_NAME, DBMS_PARALLEL_EXECUTE.CHUNKING_FAILED);\r\n&gt;       RAISE;\r\n&gt;     END;\r\n259a471,480\r\n&gt;     L_START_ID           NUMBER;\r\n&gt;     L_END_ID             NUMBER;\r\n&gt;     L_START_ROWID        ROWID;\r\n&gt;     L_END_ROWID          ROWID;\r\n&gt;     L_ROWS_PROCESSED     NUMBER;\r\n&gt;     L_CUR                INTEGER;\r\n&gt;     L_FIRE_APPLY_TRIGGER BOOLEAN;\r\n&gt;     L_CHUNK_ID           NUMBER;\r\n&gt;     L_TASK               DBMS_PARALLEL_EXECUTE_INTERNAL.TASK_TYPE;\r\n&gt;     OWNER#               NUMBER := USERENV('SCHEMAID');\r\n261,262c482,572\r\n&lt;     DBMS_PARALLEL_EXECUTE_INTERNAL.RUN_INTERNAL_WORKER(\r\n&lt;       USERENV('SCHEMAID'), TASK_NAME, JOB_NAME);\r\n---\r\n&gt;     DBMS_PARALLEL_EXECUTE_INTERNAL.RUN_INTERNAL_WORKER(JOB_NAME);\r\n&gt;\r\n&gt;\r\n&gt;     L_TASK := DBMS_PARALLEL_EXECUTE_INTERNAL.READ_TASK(OWNER#, TASK_NAME);\r\n&gt;\r\n&gt;\r\n&gt;     IF (L_TASK.FIRE_APPLY_TRIGGER = 'TRUE') THEN L_FIRE_APPLY_TRIGGER := TRUE;\r\n&gt;     ELSE                                         L_FIRE_APPLY_TRIGGER := FALSE;\r\n&gt;     END IF;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;     L_CUR := DBMS_SQL.OPEN_CURSOR;\r\n&gt;     DBMS_SQL.PARSE(L_CUR,\r\n&gt;                        DBMS_ASSERT.NOOP(L_TASK.SQL_STMT),\r\n&gt;                        L_TASK.LANGUAGE_FLAG,\r\n&gt;                        L_TASK.EDITION,\r\n&gt;                        L_TASK.APPLY_CROSSEDITION_TRIGGER,\r\n&gt;                        L_FIRE_APPLY_TRIGGER);\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;     LOOP\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;         IF (DBMS_PARALLEL_EXECUTE_INTERNAL.IS_STOP_FLAG_SET(OWNER#,\r\n&gt;             TASK_NAME)) THEN\r\n&gt;           EXIT;\r\n&gt;         END IF;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;         IF (DBMS_PARALLEL_EXECUTE_INTERNAL.GET_RANGE(OWNER#, TASK_NAME,\r\n&gt;               L_CHUNK_ID, L_START_ROWID, L_END_ROWID, L_START_ID, L_END_ID)\r\n&gt;             = FALSE) THEN\r\n&gt;           EXIT;\r\n&gt;         END IF;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;         BEGIN\r\n&gt;           IF (L_TASK.CHUNK_TYPE =\r\n&gt;                 DBMS_PARALLEL_EXECUTE_INTERNAL.ROWID_RANGE) THEN\r\n&gt;             DBMS_SQL.BIND_VARIABLE(L_CUR, ':start_id', L_START_ROWID);\r\n&gt;             DBMS_SQL.BIND_VARIABLE(L_CUR, ':end_id',   L_END_ROWID);\r\n&gt;           ELSE\r\n&gt;             DBMS_SQL.BIND_VARIABLE(L_CUR, ':start_id', L_START_ID);\r\n&gt;             DBMS_SQL.BIND_VARIABLE(L_CUR, ':end_id',   L_END_ID);\r\n&gt;           END IF;\r\n&gt;\r\n&gt;           L_ROWS_PROCESSED := DBMS_SQL.EXECUTE(L_CUR);\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;           DBMS_PARALLEL_EXECUTE_INTERNAL.SET_CHUNK_STATUS(OWNER#, TASK_NAME,\r\n&gt;             L_CHUNK_ID, DBMS_PARALLEL_EXECUTE.PROCESSED);\r\n&gt;         EXCEPTION WHEN OTHERS THEN\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;           DBMS_PARALLEL_EXECUTE_INTERNAL.SET_CHUNK_STATUS(OWNER#, TASK_NAME,\r\n&gt;             L_CHUNK_ID, DBMS_PARALLEL_EXECUTE.PROCESSED_WITH_ERROR,\r\n&gt;             SQLCODE, SQLERRM);\r\n&gt;         END;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;         COMMIT;\r\n&gt;     END LOOP;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;     DBMS_SQL.CLOSE_CURSOR(L_CUR);\r\n408a719\r\n&gt;     L_STATUS    NUMBER;\r\n411c722,723\r\n&lt;     IF (TASK_STATUS(TASK_NAME) = NO_CHUNKS) THEN\r\n---\r\n&gt;     L_STATUS := TASK_STATUS(TASK_NAME);\r\n&gt;     IF (L_STATUS = NO_CHUNKS) THEN\r\n413c725\r\n&lt;     ELSIF (TASK_STATUS(TASK_NAME) != CHUNKED) THEN\r\n---\r\n&gt;     ELSIF (L_STATUS != CHUNKED) THEN\r\n<\/pre>\n<div id=\"SYS.DBMS_PARALLEL_EXECUTE_INTERNAL.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_PARALLEL_EXECUTE_INTERNAL &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n165a166\r\n&gt;     ACCESSIBLE BY (PACKAGE SYS.DBMS_PARALLEL_EXECUTE)\r\n179a181\r\n&gt;     ACCESSIBLE BY (PACKAGE SYS.DBMS_PARALLEL_EXECUTE)\r\n268d269\r\n&lt;\r\n364c365,369\r\n&lt;                                    NUM_ROW     IN NUMBER)\r\n---\r\n&gt;                                    NUM_ROW     IN NUMBER,\r\n&gt;                                    BLOCKS      IN NUMBER,\r\n&gt;                                    NUM_ROWS    IN NUMBER,\r\n&gt;                                    FROM_STATS  IN BOOLEAN)\r\n&gt;     ACCESSIBLE BY (PACKAGE SYS.DBMS_PARALLEL_EXECUTE)\r\n368,369d372\r\n&lt;     L_QUOTED_TABLE_OWNER   DBMS_QUOTED_ID;\r\n&lt;     L_QUOTED_TABLE_NAME    DBMS_QUOTED_ID;\r\n371,372d373\r\n&lt;     L_BLOCKS               NUMBER;\r\n&lt;     L_NUM_ROWS             NUMBER;\r\n374,375d374\r\n&lt;     L_SQL_STMT             VARCHAR2(1000);\r\n&lt;     L_CALLED_DBMS_STATS    BOOLEAN := FALSE;\r\n386,400d384\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;     SELECT T.BLOCKS, T.NUM_ROWS\r\n&lt;       INTO L_BLOCKS, L_NUM_ROWS\r\n&lt;       FROM DBA_TABLES T\r\n&lt;      WHERE T.OWNER      = L_TABLE_OWNER\r\n&lt;        AND T.TABLE_NAME = L_TABLE_NAME;\r\n&lt;\r\n&lt;     IF (L_BLOCKS IS NULL OR\r\n&lt;         L_NUM_ROWS IS NULL) THEN\r\n&lt;       L_CALLED_DBMS_STATS := TRUE;\r\n401a386\r\n&gt;     IF NUM_ROWS = 0 THEN\r\n404,421c389,398\r\n&lt;\r\n&lt;       L_BLOCKS := DBMS_STATS_INTERNAL.GET_TABLE_BLOCK_COUNT(\r\n&lt;         L_TABLE_OWNER,\r\n&lt;         L_TABLE_NAME,\r\n&lt;         PARTNAME =&gt; NULL,\r\n&lt;         SUBPARTNAME =&gt; NULL,\r\n&lt;         IGNORE_ERRORS =&gt; 'TRUE');\r\n&lt;\r\n&lt;       L_QUOTED_TABLE_OWNER := DBMS_ASSERT.ENQUOTE_NAME(L_TABLE_OWNER, FALSE);\r\n&lt;       L_QUOTED_TABLE_NAME := DBMS_ASSERT.ENQUOTE_NAME(L_TABLE_NAME, FALSE);\r\n&lt;\r\n&lt;       L_NUM_ROWS := DBMS_STATS.GET_ROW_COUNT_ESTIMATE(\r\n&lt;         OWNNAME =&gt; L_QUOTED_TABLE_OWNER,\r\n&lt;         TABNAME =&gt; L_QUOTED_TABLE_NAME,\r\n&lt;         PARTNAME =&gt; NULL,\r\n&lt;         NBLKS =&gt; L_BLOCKS,\r\n&lt;         DEGREE =&gt; NULL);\r\n&lt;     END IF;\r\n---\r\n&gt;       UPDATE DBMS_PARALLEL_EXECUTE_TASK$\r\n&gt;         SET STATUS      = DBMS_PARALLEL_EXECUTE.NO_CHUNKS,\r\n&gt;             CHUNK_TYPE  = ROWID_RANGE,\r\n&gt;             TABLE_OWNER = L_TABLE_OWNER,\r\n&gt;             TABLE_NAME  = L_TABLE_NAME\r\n&gt;          WHERE TASK_OWNER# = OWNER#\r\n&gt;            AND TASK_NAME   = CREATE_CHUNKS_BY_ROWID.TASK_NAME\r\n&gt;            AND STATUS      IN (DBMS_PARALLEL_EXECUTE.CREATED,\r\n&gt;                                DBMS_PARALLEL_EXECUTE.CHUNKING_FAILED)\r\n&gt;         RETURNING STATUS INTO L_STATUS;\r\n423,424d399\r\n&lt;     IF L_NUM_ROWS = 0 THEN\r\n&lt;\r\n427,449c402,404\r\n&lt;       L_SQL_STMT := 'select count(*) from ' ||\r\n&lt;                     DBMS_ASSERT.ENQUOTE_NAME(L_TABLE_OWNER) || '.' ||\r\n&lt;                     DBMS_ASSERT.ENQUOTE_NAME(L_TABLE_NAME);\r\n&lt;       EXECUTE IMMEDIATE L_SQL_STMT INTO L_NUM_ROWS;\r\n&lt;       IF L_NUM_ROWS = 0 THEN\r\n&lt;\r\n&lt;\r\n&lt;         UPDATE DBMS_PARALLEL_EXECUTE_TASK$\r\n&lt;           SET STATUS      = DBMS_PARALLEL_EXECUTE.NO_CHUNKS,\r\n&lt;               CHUNK_TYPE  = ROWID_RANGE,\r\n&lt;               TABLE_OWNER = L_TABLE_OWNER,\r\n&lt;               TABLE_NAME  = L_TABLE_NAME\r\n&lt;            WHERE TASK_OWNER# = OWNER#\r\n&lt;              AND TASK_NAME   = CREATE_CHUNKS_BY_ROWID.TASK_NAME\r\n&lt;              AND STATUS      IN (DBMS_PARALLEL_EXECUTE.CREATED,\r\n&lt;                                  DBMS_PARALLEL_EXECUTE.CHUNKING_FAILED)\r\n&lt;           RETURNING STATUS INTO L_STATUS;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;         IF (L_STATUS IS NULL) THEN\r\n&lt;           RAISE DBMS_PARALLEL_EXECUTE.INVALID_STATE_FOR_CHUNK;\r\n&lt;         END IF;\r\n---\r\n&gt;       IF (L_STATUS IS NULL) THEN\r\n&gt;         RAISE DBMS_PARALLEL_EXECUTE.INVALID_STATE_FOR_CHUNK;\r\n&gt;       END IF;\r\n451c406\r\n&lt;         COMMIT;\r\n---\r\n&gt;       COMMIT;\r\n453,454c408\r\n&lt;         RETURN;\r\n&lt;       END IF;\r\n---\r\n&gt;       RETURN;\r\n459c413\r\n&lt;                                     (L_BLOCKS \/ L_NUM_ROWS));\r\n---\r\n&gt;                                     (BLOCKS \/ NUM_ROWS));\r\n466,467c420,421\r\n&lt;                            ', l_called_dbms_stats = ' ||\r\n&lt;                               CASE L_CALLED_DBMS_STATS\r\n---\r\n&gt;                            ', dbms_stats = ' ||\r\n&gt;                               CASE FROM_STATS\r\n471,472c425,426\r\n&lt;                            ', l_blocks = ' || L_BLOCKS ||\r\n&lt;                            ', l_num_rows = ' || L_NUM_ROWS ||\r\n---\r\n&gt;                            ', blocks = ' || BLOCKS ||\r\n&gt;                            ', num_rows = ' || NUM_ROWS ||\r\n586a541\r\n&gt;     ACCESSIBLE BY (PACKAGE SYS.DBMS_PARALLEL_EXECUTE)\r\n739a695\r\n&gt;     ACCESSIBLE BY (PACKAGE SYS.DBMS_PARALLEL_EXECUTE)\r\n747,755d702\r\n&lt;     L_AST_TBL_OWN DBMS_QUOTED_ID;\r\n&lt;     L_AST_TBL_NM  DBMS_QUOTED_ID;\r\n&lt;     L_AST_COL_NM  DBMS_QUOTED_ID;\r\n&lt;     L_SQL         VARCHAR2(1000);\r\n&lt;     L_START_ID    NUMBER;\r\n&lt;     L_END_ID      NUMBER;\r\n&lt;     L_SEQ         NUMBER;\r\n&lt;     L_USR_CUR     INTEGER;\r\n&lt;     L_ROWS        NUMBER;\r\n757,758d703\r\n&lt;     L_CHUNK_SIZE  NUMBER;\r\n&lt;     L_CNT         NUMBER := 0;\r\n768,773d712\r\n&lt;     L_AST_TBL_NM  := DBMS_ASSERT.ENQUOTE_NAME(TABLE_NAME,   FALSE);\r\n&lt;     L_AST_TBL_OWN := DBMS_ASSERT.ENQUOTE_NAME(TABLE_OWNER,  FALSE);\r\n&lt;     L_AST_COL_NM  := DBMS_ASSERT.ENQUOTE_NAME(TABLE_COLUMN, FALSE);\r\n&lt;     L_CHUNK_SIZE := CHUNK_SIZE;\r\n&lt;     IF (L_CHUNK_SIZE &lt; 1) THEN L_CHUNK_SIZE := 1; END IF;\r\n&lt;\r\n803,870d741\r\n&lt;\r\n&lt;\r\n&lt;     BEGIN\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;       L_SQL     := 'select min('||L_AST_COL_NM||'), max('||L_AST_COL_NM||')\r\n&lt;                     from ' || L_AST_TBL_OWN || '.' || L_AST_TBL_NM;\r\n&lt;       L_USR_CUR := DBMS_SYS_SQL.OPEN_CURSOR;\r\n&lt;       DBMS_SYS_SQL.PARSE_AS_USER(L_USR_CUR, L_SQL, DBMS_SQL.NATIVE, OWNER#);\r\n&lt;       DBMS_SYS_SQL.DEFINE_COLUMN(L_USR_CUR, 1, L_MIN_VAL);\r\n&lt;       DBMS_SYS_SQL.DEFINE_COLUMN(L_USR_CUR, 2, L_MAX_VAL);\r\n&lt;\r\n&lt;       L_ROWS := DBMS_SYS_SQL.EXECUTE_AND_FETCH(L_USR_CUR);\r\n&lt;       DBMS_SYS_SQL.COLUMN_VALUE(L_USR_CUR, 1, L_MIN_VAL);\r\n&lt;       DBMS_SYS_SQL.COLUMN_VALUE(L_USR_CUR, 2, L_MAX_VAL);\r\n&lt;\r\n&lt;\r\n&lt;       IF (L_MIN_VAL IS NULL OR L_MAX_VAL IS NULL) THEN\r\n&lt;         RETURN;\r\n&lt;       END IF;\r\n&lt;\r\n&lt;\r\n&lt;       L_END_ID := L_MIN_VAL-1;\r\n&lt;       LOOP\r\n&lt;\r\n&lt;         L_START_ID := L_END_ID + 1;\r\n&lt;         L_END_ID   := LEAST(L_MAX_VAL, L_START_ID + L_CHUNK_SIZE - 1);\r\n&lt;\r\n&lt;\r\n&lt;         L_SEQ := SEQ_NEXT_VAL;\r\n&lt;         INSERT INTO DBMS_PARALLEL_EXECUTE_CHUNKS$(\r\n&lt;           CHUNK_ID, TASK_OWNER#, TASK_NAME, STATUS, START_ID, END_ID)\r\n&lt;           VALUES(L_SEQ, OWNER#, L_TASK_NAME, DBMS_PARALLEL_EXECUTE.UNASSIGNED,\r\n&lt;                  L_START_ID, L_END_ID);\r\n&lt;         COMMIT;\r\n&lt;         L_CNT := L_CNT + 1;\r\n&lt;\r\n&lt;\r\n&lt;         IF (L_END_ID = L_MAX_VAL) THEN\r\n&lt;           EXIT;\r\n&lt;         END IF;\r\n&lt;       END LOOP;\r\n&lt;\r\n&lt;\r\n&lt;       IF (L_CNT = 0) THEN\r\n&lt;         SET_TASK_STATUS(OWNER#, L_TASK_NAME, DBMS_PARALLEL_EXECUTE.NO_CHUNKS);\r\n&lt;       ELSE\r\n&lt;         SET_TASK_STATUS(OWNER#, L_TASK_NAME, DBMS_PARALLEL_EXECUTE.CHUNKED);\r\n&lt;       END IF;\r\n&lt;\r\n&lt;     EXCEPTION WHEN OTHERS THEN\r\n&lt;\r\n&lt;       SET_TASK_STATUS(OWNER#, L_TASK_NAME,\r\n&lt;                       DBMS_PARALLEL_EXECUTE.CHUNKING_FAILED);\r\n&lt;       RAISE;\r\n&lt;     END;\r\n880d750\r\n&lt;                                  SQL_STMT  IN CLOB,\r\n881a752\r\n&gt;     ACCESSIBLE BY (PACKAGE SYS.DBMS_PARALLEL_EXECUTE)\r\n885,891d755\r\n&lt;     L_START_ID      NUMBER;\r\n&lt;     L_END_ID        NUMBER;\r\n&lt;     L_START_ROWID   UROWID;\r\n&lt;     L_END_ROWID     UROWID;\r\n&lt;     L_SEQ           NUMBER;\r\n&lt;     L_SOURCE_CURSOR INTEGER;\r\n&lt;     L_IGNORE        NUMBER;\r\n893d756\r\n&lt;     L_CNT           NUMBER := 0;\r\n921,977c784\r\n&lt;     BEGIN\r\n&lt;\r\n&lt;       L_SOURCE_CURSOR := DBMS_SYS_SQL.OPEN_CURSOR;\r\n&lt;       DBMS_SYS_SQL.PARSE_AS_USER(L_SOURCE_CURSOR, SQL_STMT, DBMS_SQL.NATIVE,\r\n&lt;                                   OWNER#);\r\n&lt;       IF (BY_ROWID = FALSE) THEN\r\n&lt;         DBMS_SYS_SQL.DEFINE_COLUMN(L_SOURCE_CURSOR, 1, L_START_ID);\r\n&lt;         DBMS_SYS_SQL.DEFINE_COLUMN(L_SOURCE_CURSOR, 2, L_END_ID);\r\n&lt;       ELSE\r\n&lt;         DBMS_SYS_SQL.DEFINE_COLUMN(L_SOURCE_CURSOR, 1, L_START_ROWID);\r\n&lt;         DBMS_SYS_SQL.DEFINE_COLUMN(L_SOURCE_CURSOR, 2, L_END_ROWID);\r\n&lt;       END IF;\r\n&lt;       L_IGNORE := DBMS_SQL.EXECUTE(L_SOURCE_CURSOR);\r\n&lt;\r\n&lt;\r\n&lt;       LOOP\r\n&lt;          IF (DBMS_SYS_SQL.FETCH_ROWS(L_SOURCE_CURSOR)=0) THEN\r\n&lt;            EXIT;\r\n&lt;          END IF;\r\n&lt;\r\n&lt;\r\n&lt;          IF (BY_ROWID = FALSE) THEN\r\n&lt;            DBMS_SYS_SQL.COLUMN_VALUE(L_SOURCE_CURSOR, 1, L_START_ID);\r\n&lt;            DBMS_SYS_SQL.COLUMN_VALUE(L_SOURCE_CURSOR, 2, L_END_ID);\r\n&lt;          ELSE\r\n&lt;            DBMS_SYS_SQL.COLUMN_VALUE(L_SOURCE_CURSOR, 1, L_START_ROWID);\r\n&lt;            DBMS_SYS_SQL.COLUMN_VALUE(L_SOURCE_CURSOR, 2, L_END_ROWID);\r\n&lt;          END IF;\r\n&lt;\r\n&lt;\r\n&lt;          L_SEQ := SEQ_NEXT_VAL;\r\n&lt;          INSERT INTO DBMS_PARALLEL_EXECUTE_CHUNKS$\r\n&lt;            (CHUNK_ID, TASK_OWNER#, TASK_NAME, STATUS,\r\n&lt;             START_ID, END_ID, START_ROWID, END_ROWID)\r\n&lt;            VALUES (L_SEQ, OWNER#, L_TASK_NAME,\r\n&lt;                    DBMS_PARALLEL_EXECUTE.UNASSIGNED,\r\n&lt;                    L_START_ID, L_END_ID, L_START_ROWID, L_END_ROWID);\r\n&lt;          COMMIT;\r\n&lt;          L_CNT := L_CNT + 1;\r\n&lt;       END LOOP;\r\n&lt;\r\n&lt;\r\n&lt;       DBMS_SYS_SQL.CLOSE_CURSOR(L_SOURCE_CURSOR);\r\n&lt;\r\n&lt;\r\n&lt;       IF (L_CNT = 0) THEN\r\n&lt;         SET_TASK_STATUS(OWNER#, L_TASK_NAME, DBMS_PARALLEL_EXECUTE.NO_CHUNKS);\r\n&lt;       ELSE\r\n&lt;         SET_TASK_STATUS(OWNER#, L_TASK_NAME, DBMS_PARALLEL_EXECUTE.CHUNKED);\r\n&lt;       END IF;\r\n&lt;\r\n&lt;     EXCEPTION WHEN OTHERS THEN\r\n&lt;\r\n&lt;       SET_TASK_STATUS(OWNER#, L_TASK_NAME,\r\n&lt;                       DBMS_PARALLEL_EXECUTE.CHUNKING_FAILED);\r\n&lt;       RAISE;\r\n&lt;     END;\r\n---\r\n&gt;\r\n1159a967\r\n&gt;     L_TASK_NAME := TASK_NAME;\r\n1298a1107\r\n&gt;\r\n1314,1329c1123,1126\r\n&lt;   PROCEDURE RUN_INTERNAL_WORKER(OWNER#    IN NUMBER,\r\n&lt;                                 TASK_NAME IN VARCHAR2,\r\n&lt;                                 JOB_NAME  IN VARCHAR2)\r\n&lt;   IS\r\n&lt;     L_START_ID           NUMBER;\r\n&lt;     L_END_ID             NUMBER;\r\n&lt;     L_START_ROWID        ROWID;\r\n&lt;     L_END_ROWID          ROWID;\r\n&lt;     L_ROWS_PROCESSED     NUMBER;\r\n&lt;     L_CUR                INTEGER;\r\n&lt;     L_FIRE_APPLY_TRIGGER BOOLEAN;\r\n&lt;     L_CHUNK_ID           NUMBER;\r\n&lt;     L_TASK               TASK_TYPE;\r\n&lt;   BEGIN\r\n&lt;\r\n&lt;     L_TASK := READ_TASK(OWNER#, TASK_NAME);\r\n---\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n1331,1334c1128,1131\r\n&lt;\r\n&lt;     IF (L_TASK.FIRE_APPLY_TRIGGER = 'TRUE') THEN L_FIRE_APPLY_TRIGGER := TRUE;\r\n&lt;     ELSE                                         L_FIRE_APPLY_TRIGGER := FALSE;\r\n&lt;     END IF;\r\n---\r\n&gt;   PROCEDURE RUN_INTERNAL_WORKER(JOB_NAME  IN VARCHAR2)\r\n&gt;     ACCESSIBLE BY (PACKAGE SYS.DBMS_PARALLEL_EXECUTE)\r\n&gt;   IS\r\n&gt;   BEGIN\r\n1344,1425d1140\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;     L_CUR := DBMS_SYS_SQL.OPEN_CURSOR;\r\n&lt;     DBMS_SYS_SQL.PARSE_AS_USER(L_CUR,\r\n&lt;                                DBMS_ASSERT.NOOP(L_TASK.SQL_STMT),\r\n&lt;                                L_TASK.LANGUAGE_FLAG,\r\n&lt;                                OWNER#,\r\n&lt;                                FALSE,\r\n&lt;                                L_TASK.EDITION,\r\n&lt;                                L_TASK.APPLY_CROSSEDITION_TRIGGER,\r\n&lt;                                L_FIRE_APPLY_TRIGGER);\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;     LOOP\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;         IF (IS_STOP_FLAG_SET(OWNER#, TASK_NAME)) THEN\r\n&lt;           EXIT;\r\n&lt;         END IF;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;         IF (GET_RANGE(OWNER#, TASK_NAME, L_CHUNK_ID,\r\n&lt;                       L_START_ROWID, L_END_ROWID, L_START_ID, L_END_ID)\r\n&lt;             = FALSE) THEN\r\n&lt;           EXIT;\r\n&lt;         END IF;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;         BEGIN\r\n&lt;           IF (L_TASK.CHUNK_TYPE = ROWID_RANGE) THEN\r\n&lt;             DBMS_SYS_SQL.BIND_VARIABLE(L_CUR, ':start_id', L_START_ROWID);\r\n&lt;             DBMS_SYS_SQL.BIND_VARIABLE(L_CUR, ':end_id',   L_END_ROWID);\r\n&lt;           ELSE\r\n&lt;             DBMS_SYS_SQL.BIND_VARIABLE(L_CUR, ':start_id', L_START_ID);\r\n&lt;             DBMS_SYS_SQL.BIND_VARIABLE(L_CUR, ':end_id',   L_END_ID);\r\n&lt;           END IF;\r\n&lt;\r\n&lt;           L_ROWS_PROCESSED := DBMS_SYS_SQL.EXECUTE(L_CUR);\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;           SET_CHUNK_STATUS(OWNER#, TASK_NAME, L_CHUNK_ID,\r\n&lt;                            DBMS_PARALLEL_EXECUTE.PROCESSED);\r\n&lt;         EXCEPTION WHEN OTHERS THEN\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;           SET_CHUNK_STATUS(OWNER#, TASK_NAME, L_CHUNK_ID,\r\n&lt;                            DBMS_PARALLEL_EXECUTE.PROCESSED_WITH_ERROR,\r\n&lt;                            SQLCODE, SQLERRM);\r\n&lt;         END;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;         COMMIT;\r\n&lt;     END LOOP;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;     DBMS_SYS_SQL.CLOSE_CURSOR(L_CUR);\r\n1428d1142\r\n&lt;\r\n1449a1164\r\n&gt;\r\n1505a1221,1250\r\n&gt;   END;\r\n&gt;\r\n&gt;   PROCEDURE INSERT_CHUNKS_ROW(OWNER# NUMBER, TASK_NAME VARCHAR2,\r\n&gt;                               STATUS NUMBER, START_ID NUMBER, END_ID NUMBER,\r\n&gt;                               START_ROWID UROWID, END_ROWID UROWID)\r\n&gt;     ACCESSIBLE BY (PACKAGE SYS.DBMS_PARALLEL_EXECUTE) IS\r\n&gt;     L_SEQ NUMBER;\r\n&gt;   BEGIN\r\n&gt;     L_SEQ := SEQ_NEXT_VAL;\r\n&gt;     INSERT INTO DBMS_PARALLEL_EXECUTE_CHUNKS$\r\n&gt;       (CHUNK_ID, TASK_OWNER#, TASK_NAME, STATUS,\r\n&gt;        START_ID, END_ID, START_ROWID, END_ROWID)\r\n&gt;       VALUES (L_SEQ, OWNER#, TASK_NAME, STATUS, START_ID, END_ID,\r\n&gt;               START_ROWID, END_ROWID);\r\n&gt;\r\n&gt;     COMMIT;\r\n&gt;   END;\r\n&gt;\r\n&gt;   PROCEDURE GET_BLOCKS_NUM_ROWS(TABLE_OWNER IN VARCHAR2,\r\n&gt;                                 TABLE_NAME IN VARCHAR2,\r\n&gt;                                 BLOCKS OUT NUMBER, NUM_ROWS OUT NUMBER)\r\n&gt;     ACCESSIBLE BY (PACKAGE SYS.DBMS_PARALLEL_EXECUTE) IS\r\n&gt;     L_TABLE_NAME DBMS_ID := TABLE_NAME;\r\n&gt;   BEGIN\r\n&gt;\r\n&gt;     SELECT T.BLOCKS, T.NUM_ROWS\r\n&gt;       INTO BLOCKS, NUM_ROWS\r\n&gt;       FROM DBA_TABLES T\r\n&gt;      WHERE T.OWNER      = TABLE_OWNER\r\n&gt;        AND T.TABLE_NAME = L_TABLE_NAME;\r\n<\/pre>\n<div id=\"SYS.DBMS_RCVMAN.PACKAGE BODY.19.0.0.0_19.7RUR\">SYS.DBMS_RCVMAN &#8211; PACKAGE BODY (19.7RUR):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n122c122\r\n&lt; CATALOGVERSION CONSTANT VARCHAR2(11) := '19.07.01.00';\r\n---\r\n&gt; CATALOGVERSION CONSTANT VARCHAR2(11) := '19.07.02.00';\r\n<\/pre>\n<div id=\"SYS.DBMS_RCVMAN.PACKAGE BODY.19.0.0.0_19.8RUR\">SYS.DBMS_RCVMAN &#8211; PACKAGE BODY (19.8RUR):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n122c122\r\n&lt; CATALOGVERSION CONSTANT VARCHAR2(11) := '19.08.00.00';\r\n---\r\n&gt; CATALOGVERSION CONSTANT VARCHAR2(11) := '19.08.01.00';\r\n<\/pre>\n<div id=\"SYS.DBMS_RCVMAN.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_RCVMAN &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n122c122\r\n&lt; CATALOGVERSION CONSTANT VARCHAR2(11) := '19.08.00.00';\r\n---\r\n&gt; CATALOGVERSION CONSTANT VARCHAR2(11) := '19.09.00.00';\r\n25966,25968c25966,25968\r\n&lt;          IF ((UNTILTIME IS NULL AND UNTILSCN IS NULL) OR\r\n&lt;              LBREC.DF_CKP_MOD_TIME &lt; UNTILTIME       OR\r\n&lt;              LBREC.DF_CHECKPOINT_CHANGE# &lt;= UNTILSCN) THEN\r\n---\r\n&gt;          IF (LBREC.DF_CKP_MOD_TIME &lt; UNTILTIME OR\r\n&gt;             (UNTILTIME IS NULL AND\r\n&gt;              LBREC.DF_CHECKPOINT_CHANGE# &lt;= UNTILSCN)) THEN\r\n<\/pre>\n<div id=\"SYS.DBMS_RULE_IMP_OBJ.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_RULE_IMP_OBJ &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n11a12\r\n&gt;     STMT_BUF   VARCHAR2(4000);\r\n15c16,18\r\n&lt;\r\n---\r\n&gt;     STMT_BUF := 'ALTER SESSION SET EVENTS ''25475 TRACE NAME'\r\n&gt;                ||' CONTEXT FOREVER, LEVEL 1''';\r\n&gt;     EXECUTE IMMEDIATE STMT_BUF;\r\n35a39\r\n&gt;     STMT_BUF   VARCHAR2(4000);\r\n38a43,45\r\n&gt;     STMT_BUF := 'ALTER SESSION SET EVENTS ''25475 TRACE NAME'\r\n&gt;                ||' CONTEXT FOREVER, LEVEL 1''';\r\n&gt;     EXECUTE IMMEDIATE STMT_BUF;\r\n58a66\r\n&gt;     STMT_BUF   VARCHAR2(4000);\r\n62c70,73\r\n&lt;\r\n---\r\n&gt;     STMT_BUF := 'ALTER SESSION SET EVENTS ''25475 TRACE NAME'\r\n&gt;                ||' CONTEXT FOREVER, LEVEL 1''';\r\n&gt;     EXECUTE IMMEDIATE STMT_BUF;\r\n&gt;\r\n103c114,118\r\n&lt;\r\n---\r\n&gt;     STMT_BUF := 'ALTER SESSION SET EVENTS ''25475 TRACE NAME'\r\n&gt;                ||' CONTEXT FOREVER, LEVEL 1''';\r\n&gt;     EXECUTE IMMEDIATE STMT_BUF;\r\n&gt;     STMT_BUF := NULL;\r\n&gt;\r\n<\/pre>\n<div id=\"SYS.DBMS_SNAPSHOT_KKXRCA.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_SNAPSHOT_KKXRCA &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n305a306\r\n&gt;     CVAL                  INTEGER;\r\n312a314\r\n&gt;\r\n345,347c347,354\r\n&lt;     INSERT INTO SYS.MVREF$_RUN_STATS(\r\n&lt;               RUN_OWNER_USER#, REFRESH_ID, NUM_MVS_TOTAL,\r\n&lt;               NUM_MVS_CURRENT, ROLLBACK_SEG, ATOMIC_REFRESH,\r\n---\r\n&gt;     SELECT COLLECTION_LEVEL  INTO CVAL\r\n&gt;     FROM SYS.MVREF$_STATS_SYS_DEFAULTS\r\n&gt;     FETCH FIRST ROW ONLY;\r\n&gt;\r\n&gt;     IF ( CVAL &lt;&gt; 0 ) THEN\r\n&gt;       INSERT INTO SYS.MVREF$_RUN_STATS(\r\n&gt;                 RUN_OWNER_USER#, REFRESH_ID, NUM_MVS_TOTAL,\r\n&gt;                 NUM_MVS_CURRENT, ROLLBACK_SEG, ATOMIC_REFRESH,\r\n353,360c360,368\r\n&lt;      VALUES (\r\n&lt;             RUN_OWNER1, REFRESH_ID1, SNAPCNT,\r\n&lt;             SNAPCNT, ROLLBACK_SEG1, ATOMIC_REFRESH2,\r\n&lt;             NULL, NULL, NULL, NULL, NULL,\r\n&lt;             'Y', 0, 0, 0,\r\n&lt;             MV_LIST_BUF, METHOD1, PUSH_DEFERRED_RPC2, OUT_OF_PLACE2, NESTED2,\r\n&lt;             REFRESH_AFTER_ERRORS2, PURGE_OPTION1, PARALLELISM1, HEAP_SIZE1);\r\n&lt;\r\n---\r\n&gt;       VALUES (\r\n&gt;               RUN_OWNER1, REFRESH_ID1, SNAPCNT,\r\n&gt;               SNAPCNT, ROLLBACK_SEG1, ATOMIC_REFRESH2,\r\n&gt;               NULL, NULL, NULL, NULL, NULL,\r\n&gt;               'Y', 0, 0, 0,\r\n&gt;               MV_LIST_BUF, METHOD1, PUSH_DEFERRED_RPC2, OUT_OF_PLACE2, NESTED2,\r\n&gt;               REFRESH_AFTER_ERRORS2, PURGE_OPTION1, PARALLELISM1, HEAP_SIZE1);\r\n&gt;     END IF;\r\n&gt;\r\n<\/pre>\n<div id=\"SYS.DBMS_SODA.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_SODA &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n24c24,26\r\n&lt;     FUNCTION DROP_COLLECTION (COLLECTION_NAME NVARCHAR2)\r\n---\r\n&gt;     FUNCTION DROP_COLLECTION (COLLECTION_NAME   NVARCHAR2\r\n&gt;                             , PURGE             BOOLEAN DEFAULT FALSE\r\n&gt;                             , DROP_MAPPED_TABLE BOOLEAN DEFAULT FALSE)\r\n27c29\r\n&lt;     LANGUAGE C\r\n---\r\n&gt;     EXTERNAL\r\n32,35c34,41\r\n&lt;                 COLLECTION_NAME             OCISTRING,\r\n&lt;                 COLLECTION_NAME  INDICATOR  SB2,\r\n&lt;                 RETURN           INDICATOR  SB2,\r\n&lt;                 RETURN                      OCINUMBER);\r\n---\r\n&gt;                 COLLECTION_NAME              OCISTRING,\r\n&gt;                 COLLECTION_NAME   INDICATOR  SB2,\r\n&gt;                 PURGE,\r\n&gt;                 PURGE             INDICATOR  SB2,\r\n&gt;                 DROP_MAPPED_TABLE,\r\n&gt;                 DROP_MAPPED_TABLE INDICATOR  SB2,\r\n&gt;                 RETURN            INDICATOR  SB2,\r\n&gt;                 RETURN                       OCINUMBER);\r\n72a79,85\r\n&gt;\r\n&gt;     FUNCTION TO_UUID(PLACEHOLDER IN VARCHAR2)\r\n&gt;     RETURN VARCHAR2\r\n&gt;     IS\r\n&gt;     BEGIN\r\n&gt;       RETURN RAWTOHEX(SYS_GUID());\r\n&gt;     END;\r\n<\/pre>\n<div id=\"SYS.DBMS_SODA_UTIL.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_SODA_UTIL &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n48,49c48,49\r\n&lt; FUNCTION ISJDCS\r\n&lt; RETURN BOOLEAN\r\n---\r\n&gt; FUNCTION GETSERVICENAME\r\n&gt; RETURN VARCHAR2\r\n51a52\r\n&gt;     V_NAME VARCHAR2(200);\r\n53,55c54,58\r\n&lt;   SELECT VALUE INTO V_PDB_LOCKDOWN FROM V$PARAMETER WHERE NAME = 'pdb_lockdown';\r\n&lt;   IF (UPPER(V_PDB_LOCKDOWN) = 'JDCS') THEN\r\n&lt;     RETURN TRUE;\r\n---\r\n&gt;   V_NAME := SYS_CONTEXT('userenv', 'cloud_service');\r\n&gt;   IF (V_NAME IS NULL) THEN\r\n&gt;     RETURN 'ONPREMISE';\r\n&gt;   ELSE\r\n&gt;     RETURN UPPER(V_NAME);\r\n57d59\r\n&lt;   RETURN FALSE;\r\n60c62\r\n&lt;       RETURN FALSE;\r\n---\r\n&gt;       RETURN 'UNKNOWN';\r\n66,68c68,71\r\n&lt; PROCEDURE CHECKCOMPAT\r\n&lt;  IS\r\n&lt;   V_COMPATIBLE  NUMBER;\r\n---\r\n&gt; FUNCTION CHECKANDGETCOMPAT\r\n&gt; RETURN NUMBER\r\n&gt;   IS\r\n&gt;     V_COMPATIBLE  NUMBER;\r\n77a81,89\r\n&gt;\r\n&gt;   RETURN V_COMPATIBLE;\r\n&gt; END;\r\n&gt;\r\n&gt; PROCEDURE CHECKCOMPAT\r\n&gt;   IS\r\n&gt;     V_COMPATIBLE NUMBER;\r\n&gt; BEGIN\r\n&gt;     V_COMPATIBLE := CHECKANDGETCOMPAT;\r\n<\/pre>\n<div id=\"SYS.DBMS_SPM.PACKAGE BODY.19.0.0.0_19.8RUR\">SYS.DBMS_SPM &#8211; PACKAGE BODY (19.8RUR):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n2803c2803,2804\r\n&lt;             AND ORIGIN = DBMS_SMB_INTERNAL.BASELINE_ORIGIN_AUTO_INDEX;\r\n---\r\n&gt;             AND ORIGIN = SYS.DBMS_SMB_INTERNAL.BASELINE_ORIGIN_AUTO_INDEX\r\n&gt;             AND LAST_VERIFIED IS NOT NULL;\r\n<\/pre>\n<div id=\"SYS.DBMS_SPM_INTERNAL.PACKAGE BODY.19.0.0.0_19.8RUR\">SYS.DBMS_SPM_INTERNAL &#8211; PACKAGE BODY (19.8RUR):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n34a35,36\r\n&gt;   FLAGS_EVOLVE_PENDING  CONSTANT BINARY_INTEGER :=\r\n&gt;                         DBMS_SQLTUNE_INTERNAL.SQLOBJ_FLG_PENDING;\r\n512c514\r\n&lt;                     min(cpu_plus_io)) &gt; :ratio \/ 100)\r\n---\r\n&gt;                     min(cpu_plus_io)) &gt; (:ratio \/ 100))\r\n514c516\r\n&lt;        HAVING MAX(s.buffer_gets * 10000 + s.cpu_time) \/ 100 &gt; :threshold)#';\r\n---\r\n&gt;        HAVING MAX(s.buffer_gets * 10000 + s.cpu_time) \/ 1000 &gt; :threshold)#';\r\n1827c1829\r\n&lt;                                                    'INTERVAL', P_VALUE);\r\n---\r\n&gt;                                                    'INTERVAL', P_VALUE);\r\n1843a1846,1857\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;       PRVT_ADVISOR.SET_TASK_PARAMETER(\r\n&gt;         TASK_NAME  =&gt; AUTO_EVOLVE_TASK_NAME,\r\n&gt;         PARAMETER     =&gt; PAR_TIME_LIMIT,\r\n&gt;         DATA          =&gt; P_VALUE - 60,\r\n&gt;         TASK_OWNER_ID =&gt; PRVT_ADVISOR.SYS_USER_ID);\r\n&gt;\r\n4433,4434c4447,4450\r\n&lt;       SRC_LOC := 'AUTOMATIC_WORKLOAD_REPOSITORY + CURSOR_CACHE + ' ||\r\n&lt;         'SQL_TUNING_SET';\r\n---\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;       SRC_LOC := 'SQL_TUNING_SET';\r\n6229a6246,6334\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;   PROCEDURE HIGH_FREQ_EVOLVE_TASK_PROC\r\n&gt;   IS\r\n&gt;     EXEC_NAME        VARCHAR2(300);\r\n&gt;     TASK_ID          NUMBER;\r\n&gt;     EXEC_STATUS      NUMBER;\r\n&gt;     TRACE            PLS_INTEGER := DBMS_SPM_INTERNAL.GET_SPM_TRACING_VALUE();\r\n&gt;     PLAN_NUM         NUMBER;\r\n&gt;     CURSOR MALFORMED_CUR IS\r\n&gt;     SELECT  SO.NAME PLAN_NAME\r\n&gt;     FROM SQLOBJ$AUXDATA SA, SQLOBJ$ SO\r\n&gt;     WHERE SO.SIGNATURE = SA.SIGNATURE AND\r\n&gt;           SO.CATEGORY = SA.CATEGORY AND\r\n&gt;           SO.PLAN_ID = SA.PLAN_ID AND\r\n&gt;           SO.OBJ_TYPE = DBMS_SMB_INTERNAL.SMBTYPE_PLAN_BASELINE#\r\n&gt;           AND SA.OBJ_TYPE = DBMS_SMB_INTERNAL.SMBTYPE_PLAN_BASELINE# AND\r\n&gt;           (SA.OPTIMIZER_ENV IS NULL OR\r\n&gt;           SA.PARSING_SCHEMA_NAME IS NULL);\r\n&gt;   BEGIN\r\n&gt;\r\n&gt;      IF (SYS_CONTEXT('userenv', 'con_id') != 0 AND\r\n&gt;          SYS_CONTEXT('userenv', 'con_id') &lt;= 2 ) THEN\r\n&gt;        RETURN;\r\n&gt;      END IF;\r\n&gt;\r\n&gt;      SELECT MAX(STATUS#), MAX(EXECUTION_NAME) INTO EXEC_STATUS, EXEC_NAME\r\n&gt;        FROM DBA_ADVISOR_EXECUTIONS\r\n&gt;       WHERE TASK_NAME = AUTO_EVOLVE_TASK_NAME AND EXECUTION_NAME IN\r\n&gt;         (SELECT MAX(EXECUTION_NAME)\r\n&gt;          FROM DBA_ADVISOR_EXECUTIONS\r\n&gt;          WHERE TASK_NAME = AUTO_EVOLVE_TASK_NAME);\r\n&gt;\r\n&gt;      I_SPM_TRC(TRACE,' execution status: ' || EXEC_STATUS);\r\n&gt;      I_SPM_TRC(TRACE,' execution name: ' || EXEC_NAME);\r\n&gt;\r\n&gt;      IF (EXEC_NAME IS NULL OR\r\n&gt;          EXEC_STATUS = PRVT_ADVISOR.TASK_STATE_COMPLETED OR\r\n&gt;          EXEC_STATUS = PRVT_ADVISOR.TASK_STATE_ERROR) THEN\r\n&gt;\r\n&gt;        EXEC_NAME := 'SYS_SPM_' || TO_CHAR(SYSDATE, 'YYYY-MM-DD\/HH24:MI:SS');\r\n&gt;\r\n&gt;        I_SPM_TRC(TRACE, 'Starting SPM evolve task, ' || ' execution name: '\r\n&gt;                  || EXEC_NAME);\r\n&gt;\r\n&gt;        EXEC_NAME := DBMS_SPM.EXECUTE_EVOLVE_TASK(\r\n&gt;                       TASK_NAME      =&gt; AUTO_EVOLVE_TASK_NAME,\r\n&gt;                       EXECUTION_NAME =&gt; EXEC_NAME);\r\n&gt;      ELSE\r\n&gt;\r\n&gt;        IF (EXEC_STATUS = PRVT_ADVISOR.TASK_STATE_EXEC) THEN\r\n&gt;         DBMS_SPM.INTERRUPT_EVOLVE_TASK(AUTO_EVOLVE_TASK_NAME);\r\n&gt;        END IF;\r\n&gt;\r\n&gt;        I_SPM_TRC(TRACE, 'Resuming SPM evolve task, ' || ' execution name: '\r\n&gt;                   || EXEC_NAME);\r\n&gt;\r\n&gt;        DBMS_SPM.RESUME_EVOLVE_TASK(TASK_NAME =&gt; AUTO_EVOLVE_TASK_NAME);\r\n&gt;      END IF;\r\n&gt;\r\n&gt;\r\n&gt;      FOR CUR IN MALFORMED_CUR\r\n&gt;      LOOP\r\n&gt;        PLAN_NUM := DBMS_SPM.DROP_SQL_PLAN_BASELINE(PLAN_NAME =&gt; CUR.PLAN_NAME);\r\n&gt;      END LOOP;\r\n&gt;\r\n&gt;      COMMIT;\r\n&gt;\r\n&gt;   EXCEPTION\r\n&gt;     WHEN OTHERS THEN\r\n&gt;       I_SPM_TRC(TRACE, 'SPM evolve error ' || ' execution name: '\r\n&gt;                 || EXEC_NAME || ' execution status ' || EXEC_STATUS);\r\n&gt;       RAISE;\r\n&gt;   END HIGH_FREQ_EVOLVE_TASK_PROC;\r\n<\/pre>\n<div id=\"SYS.DBMS_STATS.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_STATS &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n38817a38818,38819\r\n&gt;\r\n&gt;         STSFLAGS := 0;\r\n<\/pre>\n<div id=\"SYS.DBMS_XPLAN.PACKAGE BODY.19.0.0.0_RU\">SYS.DBMS_XPLAN &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n2150c2150,2151\r\n&lt;       QB_REGISTRY        IN OUT NOCOPY STRING_TAB_TYPE_XL)\r\n---\r\n&gt;       QB_REGISTRY        IN OUT NOCOPY STRING_TAB_TYPE_XL,\r\n&gt;       ADS_SYSTEM         IN OUT NOCOPY VARCHAR2)\r\n2429a2431,2437\r\n&gt;\r\n&gt;\r\n&gt;       EXTRACT_TEMP :=\r\n&gt;               q'#extractvalue(xmlval, '\/*\/info[@type = \"ads_system\"]')#';\r\n&gt;       EXTRACT_SQL := EXTRACT_SQL || ', ' || EXTRACT_TEMP;\r\n&gt;\r\n&gt;\r\n2451c2459\r\n&lt;              SHARD_ID, HINTUSAGE\r\n---\r\n&gt;              SHARD_ID, HINTUSAGE, ADS_SYSTEM\r\n5279a5288\r\n&gt;           ADS_SYSTEM         VARCHAR2(5) DEFAULT NULL;\r\n5495c5504,5505\r\n&lt;                                   QB_REGISTRY);\r\n---\r\n&gt;                                   QB_REGISTRY,\r\n&gt;                                   ADS_SYSTEM);\r\n7446c7456,7461\r\n&lt;                           THEN 'AUTO'\r\n---\r\n&gt;                           THEN 'AUTO' ||\r\n&gt;\r\n&gt;                                CASE WHEN ADS_SYSTEM = 'yes'\r\n&gt;                                     THEN ' (SYSTEM)'\r\n&gt;                                     ELSE ''\r\n&gt;                                     END\r\n<\/pre>\n<div id=\"SYS.PRVTEMX_ADMIN.PACKAGE BODY.19.0.0.0_RU\">SYS.PRVTEMX_ADMIN &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n1765,1766c1765\r\n&lt;                 fi.file_name) order by fi.relative_fno))\r\n&lt;               order by tbs.tablespace_name))\r\n---\r\n&gt;                 fi.file_name) order by fi.relative_fno))))\r\n1811a1811\r\n&gt;     order by tbs.tablespace_name\r\n<\/pre>\n<div id=\"SYS.PRVTEMX_PERF.PACKAGE BODY.19.0.0.0_RU\">SYS.PRVTEMX_PERF &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n263a264,356\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;   FUNCTION I_GET_SESS_ASH_OMX_XML(\r\n&gt;     P_INST_ID       IN NUMBER,\r\n&gt;     P_SID           IN NUMBER,\r\n&gt;     P_SERIAL        IN NUMBER,\r\n&gt;     P_START_TIME    IN DATE,\r\n&gt;     P_END_TIME      IN DATE,\r\n&gt;     P_COMPRESS_XML  IN NUMBER)\r\n&gt;   RETURN XMLTYPE\r\n&gt;   IS\r\n&gt;     L_ACTIVITY_XML     XMLTYPE;\r\n&gt;     L_BEGIN_TIME_UTC   VARCHAR2(32767)   := NULL;\r\n&gt;     L_END_TIME_UTC     VARCHAR2(32767)   := NULL;\r\n&gt;     L_TZ               VARCHAR2(10)      := NULL;\r\n&gt;     L_FILTER_LIST      DBMS_REPORT.REF_STRING_IDSPEC;\r\n&gt;     L_FILTER_LIST_XML  VARCHAR2(32767)   := NULL;\r\n&gt;     L_COMPRESS_XML     NUMBER            := 1;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;     L_MINIMIZE_COST    VARCHAR2(8) := 'y';\r\n&gt;\r\n&gt;   BEGIN\r\n&gt;\r\n&gt;\r\n&gt;     IF (P_COMPRESS_XML IS NOT NULL) THEN\r\n&gt;         L_COMPRESS_XML := P_COMPRESS_XML;\r\n&gt;     ELSE\r\n&gt;         L_COMPRESS_XML := 1;\r\n&gt;     END IF;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;     L_TZ := DBMS_SQLTUNE_UTIL2.GET_TZ_OFFSET();\r\n&gt;\r\n&gt;     L_BEGIN_TIME_UTC := TO_CHAR(P_START_TIME,\r\n&gt;                                 'yyyy-mm-dd hh24:mi:ss') || L_TZ;\r\n&gt;     L_BEGIN_TIME_UTC :=\r\n&gt;         TO_CHAR(CAST(SYS_EXTRACT_UTC(\r\n&gt;             TO_TIMESTAMP_TZ(L_BEGIN_TIME_UTC,\r\n&gt;                 'yyyy-mm-dd hh24:mi:ssTZH:TZM')) AS DATE),\r\n&gt;                 DBMS_REPORT.DATE_FMT);\r\n&gt;\r\n&gt;     L_END_TIME_UTC := TO_CHAR(P_END_TIME,\r\n&gt;                               'yyyy-mm-dd hh24:mi:ss') || L_TZ;\r\n&gt;     L_END_TIME_UTC :=\r\n&gt;         TO_CHAR(CAST(SYS_EXTRACT_UTC(\r\n&gt;             TO_TIMESTAMP_TZ(L_END_TIME_UTC,\r\n&gt;                 'yyyy-mm-dd hh24:mi:ssTZH:TZM')) AS DATE),\r\n&gt;                 DBMS_REPORT.DATE_FMT);\r\n&gt;\r\n&gt;     L_FILTER_LIST('physical_session') := P_INST_ID || ',' ||\r\n&gt;                                          P_SID || ',' ||\r\n&gt;                                          P_SERIAL;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;     L_FILTER_LIST_XML := XMLTYPE('&lt;fs&gt;&lt;f n=\"physical_session\" v=\"' ||\r\n&gt;                          P_INST_ID || ',' || P_SID || ',' || P_SERIAL ||\r\n&gt;                          '\"\/&gt;&lt;\/fs&gt;').GETCLOBVAL();\r\n&gt;\r\n&gt;     L_ACTIVITY_XML := SYS.PRVT_ASH_OMX.REPORT_OMX_ASHVIEWER_XML(\r\n&gt;                         INST_ID         =&gt; P_INST_ID,\r\n&gt;                         BEGIN_TIME_UTC  =&gt; L_BEGIN_TIME_UTC,\r\n&gt;                         END_TIME_UTC    =&gt; L_END_TIME_UTC,\r\n&gt;                         MINIMIZE_COST   =&gt; L_MINIMIZE_COST,\r\n&gt;                         FILTER_LIST     =&gt; L_FILTER_LIST_XML,\r\n&gt;                         REPORT_PARAMS   =&gt; L_FILTER_LIST);\r\n&gt;\r\n&gt;     IF (L_ACTIVITY_XML IS NOT NULL) THEN\r\n&gt;       SELECT XMLELEMENT(\"ashrep\",L_ACTIVITY_XML)\r\n&gt;         INTO L_ACTIVITY_XML\r\n&gt;         FROM SYS.DUAL;\r\n&gt;     END IF;\r\n&gt;\r\n&gt;     L_ACTIVITY_XML := DBMS_REPORT.TRANSFORM_REPORT_XML(\r\n&gt;                         L_ACTIVITY_XML,\r\n&gt;                         ZLIB2BASE64 =&gt; L_COMPRESS_XML);\r\n&gt;\r\n&gt;     RETURN L_ACTIVITY_XML;\r\n&gt;\r\n&gt;   END I_GET_SESS_ASH_OMX_XML;\r\n&gt;\r\n&gt;\r\n709a803,816\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n719a827,828\r\n&gt;     P_REPORT_LEVEL       IN   VARCHAR2   DEFAULT  'all',\r\n&gt;     P_COMPRESS_XML       IN   NUMBER     DEFAULT   1,\r\n757a867,870\r\n&gt;     L_REPORT_LEVEL     VARCHAR2(32) := LOWER(P_REPORT_LEVEL);\r\n&gt;     L_IS_OMX           NUMBER;\r\n&gt;     L_COMPRESS_XML     NUMBER;\r\n&gt;\r\n763a877,891\r\n&gt;     IF (P_REPORT_LEVEL IS NULL) THEN\r\n&gt;         L_REPORT_LEVEL := 'all';\r\n&gt;     END IF;\r\n&gt;\r\n&gt;\r\n&gt;     L_IS_OMX := CASE WHEN SYS.PRVT_EMX.IS_OMX() THEN 1 ELSE 0 END;\r\n&gt;\r\n&gt;\r\n&gt;     IF (P_COMPRESS_XML IS NOT NULL) THEN\r\n&gt;         L_COMPRESS_XML := P_COMPRESS_XML;\r\n&gt;     ELSE\r\n&gt;         L_COMPRESS_XML := 1;\r\n&gt;     END IF;\r\n&gt;\r\n&gt;\r\n846,861c974,1008\r\n&lt;     IF (L_SESSION_EXISTS &gt; 0) THEN\r\n&lt;\r\n&lt;       L_SESSION_XML := I_GET_SESSION_XML(P_INST_ID =&gt; L_INST_ID,\r\n&lt;                                          P_SID     =&gt; L_SID,\r\n&lt;                                          P_SERIAL  =&gt; L_SERIAL,\r\n&lt;                                          P_SHOW_SQL=&gt; P_SHOW_SQL);\r\n&lt;     ELSE\r\n&lt;\r\n&lt;       L_SESSION_XML := I_GET_SESSION_INFO_HIST_XML(P_INST_ID =&gt; L_INST_ID,\r\n&lt;                                          P_SID     =&gt; L_SID,\r\n&lt;                                          P_SERIAL  =&gt; L_SERIAL,\r\n&lt;                                          P_IS_REALTIME=&gt; P_IS_REALTIME,\r\n&lt;                                          P_START_TIME =&gt; L_START_TIME,\r\n&lt;                                          P_END_TIME   =&gt; L_END_TIME,\r\n&lt;                                          P_SHOW_SQL   =&gt; P_SHOW_SQL);\r\n&lt;     END IF;\r\n---\r\n&gt;     IF ((L_REPORT_LEVEL = 'all') OR (L_REPORT_LEVEL = 'summary')) THEN\r\n&gt;         IF (L_SESSION_EXISTS &gt; 0) THEN\r\n&gt;\r\n&gt;           L_SESSION_XML := I_GET_SESSION_XML(P_INST_ID =&gt; L_INST_ID,\r\n&gt;                                              P_SID     =&gt; L_SID,\r\n&gt;                                              P_SERIAL  =&gt; L_SERIAL,\r\n&gt;                                              P_SHOW_SQL=&gt; P_SHOW_SQL);\r\n&gt;         ELSE\r\n&gt;\r\n&gt;           L_SESSION_XML := I_GET_SESSION_INFO_HIST_XML(P_INST_ID =&gt; L_INST_ID,\r\n&gt;                                              P_SID     =&gt; L_SID,\r\n&gt;                                              P_SERIAL  =&gt; L_SERIAL,\r\n&gt;                                              P_IS_REALTIME=&gt; P_IS_REALTIME,\r\n&gt;                                              P_START_TIME =&gt; L_START_TIME,\r\n&gt;                                              P_END_TIME   =&gt; L_END_TIME,\r\n&gt;                                              P_SHOW_SQL   =&gt; P_SHOW_SQL);\r\n&gt;         END IF;\r\n&gt;\r\n&gt;         IF (L_IS_OMX = 1) THEN\r\n&gt;\r\n&gt;             L_ACTIVITY_XML := I_GET_SESS_ASH_OMX_XML(P_INST_ID =&gt; L_INST_ID,\r\n&gt;                                              P_SID          =&gt; L_SID,\r\n&gt;                                              P_SERIAL       =&gt; L_SERIAL,\r\n&gt;                                              P_START_TIME   =&gt; L_START_TIME,\r\n&gt;                                              P_END_TIME     =&gt; L_END_TIME,\r\n&gt;                                              P_COMPRESS_XML =&gt; L_COMPRESS_XML);\r\n&gt;\r\n&gt;         ELSE\r\n&gt;\r\n&gt;             L_ACTIVITY_XML := I_GET_ACTIVITY_XML(P_INST_ID =&gt; L_INST_ID,\r\n&gt;                                              P_SID          =&gt; L_SID,\r\n&gt;                                              P_SERIAL       =&gt; L_SERIAL,\r\n&gt;                                              P_IS_REALTIME  =&gt; P_IS_REALTIME,\r\n&gt;                                              P_START_TIME   =&gt; L_START_TIME,\r\n&gt;                                              P_END_TIME     =&gt; L_END_TIME);\r\n863,871c1010\r\n&lt;     IF (P_IS_REALTIME = 1) THEN\r\n&lt;\r\n&lt;       L_STASH_XML := SYS.DBMS_SQLTUNE.BUILD_STASH_XML(\r\n&lt;                        SESSION_ID     =&gt; L_SID,\r\n&lt;                        SESSION_SERIAL =&gt; L_SERIAL,\r\n&lt;                        SESSION_INST_ID=&gt; L_INST_ID,\r\n&lt;                        PX_MODE        =&gt; 'yes',\r\n&lt;                        START_TIME     =&gt; L_START_TIME,\r\n&lt;                        END_TIME       =&gt; L_END_TIME);\r\n---\r\n&gt;         END IF;\r\n873c1012\r\n&lt;     END IF;\r\n---\r\n&gt;     END IF;\r\n875,881c1014,1023\r\n&lt;\r\n&lt;     L_ACTIVITY_XML := I_GET_ACTIVITY_XML(P_INST_ID =&gt; L_INST_ID,\r\n&lt;                                          P_SID     =&gt; L_SID,\r\n&lt;                                          P_SERIAL  =&gt; L_SERIAL,\r\n&lt;                                          P_IS_REALTIME=&gt; P_IS_REALTIME,\r\n&lt;                                          P_START_TIME =&gt; L_START_TIME,\r\n&lt;                                          P_END_TIME   =&gt; L_END_TIME);\r\n---\r\n&gt;     IF ((L_REPORT_LEVEL = 'all') OR (L_REPORT_LEVEL = 'metrics')) THEN\r\n&gt;         IF (P_IS_REALTIME = 1) THEN\r\n&gt;\r\n&gt;           L_STASH_XML := SYS.DBMS_SQLTUNE.BUILD_STASH_XML(\r\n&gt;                            SESSION_ID     =&gt; L_SID,\r\n&gt;                            SESSION_SERIAL =&gt; L_SERIAL,\r\n&gt;                            SESSION_INST_ID=&gt; L_INST_ID,\r\n&gt;                            PX_MODE        =&gt; 'yes',\r\n&gt;                            START_TIME     =&gt; L_START_TIME,\r\n&gt;                            END_TIME       =&gt; L_END_TIME);\r\n883,885c1025,1031\r\n&lt;\r\n&lt;     IF (P_IS_REALTIME = 1) THEN\r\n&lt;       L_MONITOR_LIST_XML := SYS.DBMS_SQLTUNE.REPORT_SQL_MONITOR_LIST_XML(\r\n---\r\n&gt;         END IF;\r\n&gt;     END IF;\r\n&gt;\r\n&gt;     IF ((L_REPORT_LEVEL = 'all') OR (L_REPORT_LEVEL = 'sqlmonitor')) THEN\r\n&gt;\r\n&gt;         IF (P_IS_REALTIME = 1) THEN\r\n&gt;           L_MONITOR_LIST_XML := SYS.DBMS_SQLTUNE.REPORT_SQL_MONITOR_LIST_XML(\r\n895,897c1041,1043\r\n&lt;     ELSE\r\n&lt;\r\n&lt;       L_MONITOR_LIST_XML := SYS.DBMS_AUTO_REPORT.REPORT_REPOSITORY_LIST_XML(\r\n---\r\n&gt;         ELSE\r\n&gt;\r\n&gt;          L_MONITOR_LIST_XML := SYS.DBMS_AUTO_REPORT.REPORT_REPOSITORY_LIST_XML(\r\n906,908c1052,1054\r\n&lt;                                   TOP_N_DETAIL_COUNT=&gt; P_MONITOR_LIST_DETAIL);\r\n&lt;     END IF;\r\n&lt;\r\n---\r\n&gt;                                   TOP_N_DETAIL_COUNT =&gt; P_MONITOR_LIST_DETAIL);\r\n&gt;         END IF;\r\n&gt;     END IF;\r\n911,919c1057,1068\r\n&lt;     IF (P_ACTIVITY_DIMENSION IS NOT NULL) THEN\r\n&lt;\r\n&lt;       L_INLINE_ASH_XML := I_GET_INLINE_ACTIVITY_XML(\r\n&lt;                             P_INST_ID =&gt; L_INST_ID,\r\n&lt;                             P_SID     =&gt; L_SID,\r\n&lt;                             P_SERIAL  =&gt; L_SERIAL,\r\n&lt;                             P_START_TIME =&gt; L_START_TIME,\r\n&lt;                             P_END_TIME   =&gt; L_END_TIME,\r\n&lt;                             P_ACTIVITY_DIM =&gt; P_ACTIVITY_DIMENSION);\r\n---\r\n&gt;     IF (L_IS_OMX = 0) THEN\r\n&gt;\r\n&gt;         IF (P_ACTIVITY_DIMENSION IS NOT NULL) THEN\r\n&gt;\r\n&gt;           L_INLINE_ASH_XML := I_GET_INLINE_ACTIVITY_XML(\r\n&gt;                                 P_INST_ID =&gt; L_INST_ID,\r\n&gt;                                 P_SID     =&gt; L_SID,\r\n&gt;                                 P_SERIAL  =&gt; L_SERIAL,\r\n&gt;                                 P_START_TIME =&gt; L_START_TIME,\r\n&gt;                                 P_END_TIME   =&gt; L_END_TIME,\r\n&gt;                                 P_ACTIVITY_DIM =&gt; P_ACTIVITY_DIMENSION);\r\n&gt;         END IF;\r\n<\/pre>\n<div id=\"SYS.STANDARD.PACKAGE BODY.19.0.0.0_RU\">SYS.STANDARD &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n266,272d265\r\n&lt;   function NLS_CHARSET_NAME(csetid PLS_INTEGER)\r\n&lt;     return VARCHAR2 is\r\n&lt;    v varchar2(2000);\r\n&lt;   begin\r\n&lt;    select nls_charset_name(csetid) into v from sys.dual;\r\n&lt;    return v;\r\n&lt;   end NLS_CHARSET_NAME;\r\n274,280d266\r\n&lt;   function NLS_CHARSET_ID(csetname VARCHAR2)\r\n&lt;     return PLS_INTEGER is\r\n&lt;    i PLS_INTEGER;\r\n&lt;   begin\r\n&lt;    select nls_charset_id(csetname) into i from sys.dual;\r\n&lt;    return i;\r\n&lt;   end NLS_CHARSET_ID;\r\n586a573,574\r\n&gt;     function pescsetname(csetid PLS_INTEGER) return varchar2;\r\n&gt;   pragma interface (c, pescsetname);\r\n587a576,609\r\n&gt;   -- Special: if the ICD raises ICD_UNABLE_TO_COMPUTE, that means we should do\r\n&gt;   -- the old 'select nls_charset_name(...) from dual;' thing.  This allows us to do\r\n&gt;   -- the select from PL\/SQL rather than having to do it from C (within the ICD.)\r\n&gt;   function NLS_CHARSET_NAME(csetid PLS_INTEGER)\r\n&gt;     return VARCHAR2 is\r\n&gt;    v varchar2(2000);\r\n&gt;   begin\r\n&gt;    v := pescsetname(csetid);\r\n&gt;    return v;\r\n&gt;   exception\r\n&gt;     when ICD_UNABLE_TO_COMPUTE then\r\n&gt;       select nls_charset_name(csetid) into v from sys.dual;\r\n&gt;       return v;\r\n&gt;   end NLS_CHARSET_NAME;\r\n&gt;\r\n&gt;\r\n&gt;   function pescsetid(csetname VARCHAR2) return pls_integer;\r\n&gt;   pragma interface (c, pescsetid);\r\n&gt;\r\n&gt;   -- Special: if the ICD raises ICD_UNABLE_TO_COMPUTE, that means we should do\r\n&gt;   -- the old 'select nls_charset_id(...) from dual;' thing.  This allows us to do\r\n&gt;   -- the select from PL\/SQL rather than having to do it from C (within the ICD.)\r\n&gt;   function NLS_CHARSET_ID(csetname VARCHAR2)\r\n&gt;     return PLS_INTEGER is\r\n&gt;    i PLS_INTEGER;\r\n&gt;   begin\r\n&gt;     i := pescsetid(csetname);\r\n&gt;     return i;\r\n&gt;\r\n&gt;     exception\r\n&gt;        when ICD_UNABLE_TO_COMPUTE then\r\n&gt;           select nls_charset_id(csetname) into i from sys.dual;\r\n&gt;           return i;\r\n&gt;   end NLS_CHARSET_ID;\r\n<\/pre>\n<div id=\"SYS.DBMS_FEATURE_UNIFIED_AUDIT.PROCEDURE.19.0.0.0_RU\">SYS.DBMS_FEATURE_UNIFIED_AUDIT &#8211; PROCEDURE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n74c74,82\r\n&lt;   feature_usage := 'Number of Unified Audit policies=' ||\r\n---\r\n&gt;   --Enh 31221454: Check if Pure Unified Auditing is enabled\r\n&gt;   if (uniaud_linkon &gt; 0) then\r\n&gt;     feature_usage := 'Pure Unified Auditing=TRUE; ';\r\n&gt;   else\r\n&gt;     feature_usage := 'Pure Unified Auditing=FALSE; ';\r\n&gt;   end if;\r\n&gt;\r\n&gt;   feature_usage := feature_usage ||\r\n&gt;                    'Number of Unified Audit policies=' ||\r\n<\/pre>\n<div id=\"SYS.SODA_COLLECTION_T.TYPE.19.0.0.0_RU\">SYS.SODA_COLLECTION_T &#8211; TYPE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n52c52,61\r\n&lt;     RETURN SODA_Document_T\r\n---\r\n&gt;     RETURN SODA_Document_T,\r\n&gt;\r\n&gt;     MEMBER FUNCTION save (document SODA_Document_T)\r\n&gt;     RETURN NUMBER,\r\n&gt;\r\n&gt;     MEMBER FUNCTION save_And_Get (document SODA_Document_T)\r\n&gt;     RETURN SODA_Document_T,\r\n&gt;\r\n&gt;     MEMBER FUNCTION truncate\r\n&gt;     RETURN NUMBER\r\n<\/pre>\n<div id=\"SYS.SODA_OPERATION_T.TYPE.19.0.0.0_RU\">SYS.SODA_OPERATION_T &#8211; TYPE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n8c8\r\n&lt;     MEMBER FUNCTION\tcount\r\n---\r\n&gt;     MEMBER FUNCTION count\r\n17c17\r\n&lt;     MEMBER FUNCTION\tget_Cursor\r\n---\r\n&gt;     MEMBER FUNCTION get_Cursor\r\n20c20\r\n&lt;     MEMBER FUNCTION\tget_One\r\n---\r\n&gt;     MEMBER FUNCTION get_One\r\n23c23\r\n&lt;     MEMBER FUNCTION\tkeys (key_List SODA_Key_List_T)\r\n---\r\n&gt;     MEMBER FUNCTION keys (key_List SODA_Key_List_T)\r\n26c26\r\n&lt;     MEMBER FUNCTION\tlimit (limit NUMBER)\r\n---\r\n&gt;     MEMBER FUNCTION limit (limit NUMBER)\r\n29c29\r\n&lt;     MEMBER FUNCTION\tremove\r\n---\r\n&gt;     MEMBER FUNCTION remove\r\n32c32\r\n&lt;     MEMBER FUNCTION\treplace_One (document SODA_Document_T)\r\n---\r\n&gt;     MEMBER FUNCTION replace_One (document SODA_Document_T)\r\n35c35\r\n&lt;     MEMBER FUNCTION\treplace_One_And_Get (document SODA_Document_T)\r\n---\r\n&gt;     MEMBER FUNCTION replace_One_And_Get (document SODA_Document_T)\r\n38c38\r\n&lt;     MEMBER FUNCTION\tskip (offset NUMBER)\r\n---\r\n&gt;     MEMBER FUNCTION skip (offset NUMBER)\r\n41c41\r\n&lt;     MEMBER FUNCTION\tversion (version VARCHAR2)\r\n---\r\n&gt;     MEMBER FUNCTION version (version VARCHAR2)\r\n<\/pre>\n<div id=\"SYS.SODA_COLLECTION_T.TYPE BODY.19.0.0.0_RU\">SYS.SODA_COLLECTION_T &#8211; TYPE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n117c117\r\n&lt;     MEMBER FUNCTION\tINSERT_MANY (DOCUMENT_LIST SODA_DOCUMENT_LIST_T)\r\n---\r\n&gt;     MEMBER FUNCTION INSERT_MANY (DOCUMENT_LIST SODA_DOCUMENT_LIST_T)\r\n206a207,247\r\n&gt;                 RETURN);\r\n&gt;\r\n&gt;     MEMBER FUNCTION SAVE (DOCUMENT SODA_DOCUMENT_T)\r\n&gt;     RETURN NUMBER IS\r\n&gt;     LANGUAGE C\r\n&gt;     LIBRARY DBMS_SODACOLL_LIB\r\n&gt;     NAME \"save\"\r\n&gt;     WITH CONTEXT\r\n&gt;     PARAMETERS (CONTEXT,\r\n&gt;                 SELF,\r\n&gt;                 SELF       INDICATOR  SB2,\r\n&gt;                 DOCUMENT,\r\n&gt;                 DOCUMENT   INDICATOR  SB2,\r\n&gt;                 RETURN     INDICATOR  SB2,\r\n&gt;                 RETURN                );\r\n&gt;\r\n&gt;     MEMBER FUNCTION SAVE_AND_GET (DOCUMENT SODA_DOCUMENT_T)\r\n&gt;     RETURN SODA_DOCUMENT_T IS\r\n&gt;     EXTERNAL NAME \"saveAndGet\"\r\n&gt;     LANGUAGE C\r\n&gt;     LIBRARY DBMS_SODACOLL_LIB\r\n&gt;     WITH CONTEXT\r\n&gt;     PARAMETERS (CONTEXT,\r\n&gt;                 SELF,\r\n&gt;                 SELF       INDICATOR  SB2,\r\n&gt;                 DOCUMENT,\r\n&gt;                 DOCUMENT   INDICATOR  SB2,\r\n&gt;                 RETURN     DURATION   OCIDURATION,\r\n&gt;                 RETURN     INDICATOR  SB2,\r\n&gt;                 RETURN);\r\n&gt;\r\n&gt;     MEMBER FUNCTION TRUNCATE\r\n&gt;     RETURN NUMBER IS\r\n&gt;     LANGUAGE C\r\n&gt;     LIBRARY DBMS_SODACOLL_LIB\r\n&gt;     NAME \"truncate\"\r\n&gt;     WITH CONTEXT\r\n&gt;     PARAMETERS (CONTEXT,\r\n&gt;                 SELF,\r\n&gt;                 SELF      INDICATOR  SB2,\r\n&gt;                 RETURN    INDICATOR  SB2,\r\n<\/pre>\n<div id=\"SYS.SODA_OPERATION_T.TYPE BODY.19.0.0.0_RU\">SYS.SODA_OPERATION_T &#8211; TYPE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n5c5\r\n&lt;     MEMBER FUNCTION\tCOUNT\r\n---\r\n&gt;     MEMBER FUNCTION COUNT\r\n32c32\r\n&lt;     MEMBER FUNCTION\tGET_CURSOR\r\n---\r\n&gt;     MEMBER FUNCTION GET_CURSOR\r\n45c45\r\n&lt;     MEMBER FUNCTION\tGET_ONE\r\n---\r\n&gt;     MEMBER FUNCTION GET_ONE\r\n73c73\r\n&lt;     MEMBER FUNCTION\tKEYS (KEY_LIST SODA_KEY_LIST_T)\r\n---\r\n&gt;     MEMBER FUNCTION KEYS (KEY_LIST SODA_KEY_LIST_T)\r\n88c88\r\n&lt;     MEMBER FUNCTION\tLIMIT (LIMIT NUMBER)\r\n---\r\n&gt;     MEMBER FUNCTION LIMIT (LIMIT NUMBER)\r\n103c103\r\n&lt;     MEMBER FUNCTION\tREMOVE\r\n---\r\n&gt;     MEMBER FUNCTION REMOVE\r\n115c115\r\n&lt;     MEMBER FUNCTION\tREPLACE_ONE (DOCUMENT SODA_DOCUMENT_T)\r\n---\r\n&gt;     MEMBER FUNCTION REPLACE_ONE (DOCUMENT SODA_DOCUMENT_T)\r\n129c129\r\n&lt;     MEMBER FUNCTION\tREPLACE_ONE_AND_GET (DOCUMENT SODA_DOCUMENT_T)\r\n---\r\n&gt;     MEMBER FUNCTION REPLACE_ONE_AND_GET (DOCUMENT SODA_DOCUMENT_T)\r\n144c144\r\n&lt;     MEMBER FUNCTION\tSKIP (OFFSET NUMBER)\r\n---\r\n&gt;     MEMBER FUNCTION SKIP (OFFSET NUMBER)\r\n159c159\r\n&lt;     MEMBER FUNCTION\tVERSION (VERSION VARCHAR2)\r\n---\r\n&gt;     MEMBER FUNCTION VERSION (VERSION VARCHAR2)\r\n<\/pre>\n<div id=\"SYS.WRI$_REPT_SESSION.TYPE BODY.19.0.0.0_RU\">SYS.WRI$_REPT_SESSION &#8211; TYPE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n24a25,26\r\n&gt;     V_REPORT_LEVEL            VARCHAR2(32) := 'all';\r\n&gt;     V_COMPRESS_XML            NUMBER       := 1;\r\n78c80,92\r\n&lt;\r\n---\r\n&gt;\r\n&gt;         IF (V_PARAMS.EXISTS('report_level')) THEN\r\n&gt;             V_REPORT_LEVEL := DBMS_REPORT.GET_PARAM(V_PARAMS,'report_level',\r\n&gt;                                                     NULLABLE=&gt;TRUE);\r\n&gt;         END IF;\r\n&gt;\r\n&gt;\r\n&gt;         IF (V_PARAMS.EXISTS('compress_xml')) THEN\r\n&gt;             V_COMPRESS_XML := TO_NUMBER(\r\n&gt;                                 DBMS_REPORT.GET_PARAM(V_PARAMS,'compress_xml',\r\n&gt;                                                       NULLABLE=&gt;TRUE));\r\n&gt;         END IF;\r\n&gt;\r\n90c104,106\r\n&lt;                                P_MONITOR_LIST_DETAIL =&gt; V_MONITOR_LIST_DETAIL);\r\n---\r\n&gt;                                P_MONITOR_LIST_DETAIL =&gt; V_MONITOR_LIST_DETAIL,\r\n&gt;                                P_REPORT_LEVEL =&gt; V_REPORT_LEVEL,\r\n&gt;                                P_COMPRESS_XML =&gt; V_COMPRESS_XML);\r\n<\/pre>\n<div id=\"SYS.DBA_PARALLEL_EXECUTE_CHUNKS.VIEW.19.0.0.0_RU\">SYS.DBA_PARALLEL_EXECUTE_CHUNKS &#8211; VIEW (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n8,11c8,23\r\n&lt;        c.START_ROWID,\r\n&lt;        c.END_ROWID,\r\n&lt;        c.START_ID,\r\n&lt;        c.END_ID,\r\n---\r\n&gt;        case when userenv('SCHEMAID') = c.task_owner# or userenv('SCHEMAID') = 0\r\n&gt;          then c.START_ROWID\r\n&gt;          else null\r\n&gt;          end START_ROWID,\r\n&gt;        case when userenv('SCHEMAID') = c.task_owner# or userenv('SCHEMAID') = 0\r\n&gt;          then c.END_ROWID\r\n&gt;          else null\r\n&gt;          end END_ROWID,\r\n&gt;        case when userenv('SCHEMAID') = c.task_owner# or userenv('SCHEMAID') = 0\r\n&gt;          then c.START_ID\r\n&gt;          else null\r\n&gt;          end START_ID,\r\n&gt;        case when userenv('SCHEMAID') = c.task_owner# or userenv('SCHEMAID') = 0\r\n&gt;          then c.END_ID\r\n&gt;          else null\r\n&gt;          end END_ID,\r\n<\/pre>\n<div id=\"SYS.DBA_PARALLEL_EXECUTE_TASKS.VIEW.19.0.0.0_RU\">SYS.DBA_PARALLEL_EXECUTE_TASKS &#8211; VIEW (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n17,19c17,28\r\n&lt;        t.TABLE_OWNER,\r\n&lt;        t.TABLE_NAME,\r\n&lt;        t.NUMBER_COLUMN,\r\n---\r\n&gt;        case when userenv('SCHEMAID') = t.task_owner# or userenv('SCHEMAID') = 0\r\n&gt;          then t.TABLE_OWNER\r\n&gt;          else null\r\n&gt;          end TABLE_OWNER,\r\n&gt;        case when userenv('SCHEMAID') = t.task_owner# or userenv('SCHEMAID') = 0\r\n&gt;          then t.TABLE_NAME\r\n&gt;          else null\r\n&gt;          end TABLE_NAME,\r\n&gt;        case when userenv('SCHEMAID') = t.task_owner# or userenv('SCHEMAID') = 0\r\n&gt;          then t.NUMBER_COLUMN\r\n&gt;          else null\r\n&gt;          end NUMBER_COLUMN,\r\n22c31,34\r\n&lt;        t.SQL_STMT,\r\n---\r\n&gt;        case when userenv('SCHEMAID') = t.task_owner# or userenv('SCHEMAID') = 0\r\n&gt;          then t.SQL_STMT\r\n&gt;          else null\r\n&gt;          end SQL_STMT,\r\n<\/pre>\n<div id=\"XDB.DBMS_JSON.PACKAGE.19.0.0.0_RU\">XDB.DBMS_JSON &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n12a13,19\r\n&gt; ---------------------------\r\n&gt; -- Materialized view option\r\n&gt; ---------------------------\r\n&gt; MV_REFRESH_ON_STATEMENT CONSTANT NUMBER(2) := 1;\r\n&gt; MV_REFRESH_ON_COMMIT    CONSTANT NUMBER(2) := 2;\r\n&gt; MV_REFRESH_ON_DEMAND    CONSTANT NUMBER(2) := 3;\r\n&gt;\r\n17a25\r\n&gt;\r\n19a28\r\n&gt; FUNCTION GATHER_STATS return NUMBER PARALLEL_ENABLE;\r\n111a121,200\r\n&gt; --  mvRefreshMode\r\n&gt; --     This parameter specifies the materialized view refresh mode. It is one\r\n&gt; --     of the following values:\r\n&gt; --     . MV_REFRESH_ON_STATEMENT (default)\r\n&gt; --     . MV_REFRESH_ON_COMMIT\r\n&gt; --     . MV_REFRESH_ON_DEMAND\r\n&gt; --  path\r\n&gt; --     The path of the JSON field to be expanded. It uses JSON path expression\r\n&gt; --     syntax, e.g. $ will create a view starting from the JSON document root;\r\n&gt; --     $.purchaseOrder will create a view starting from purchaseOrder. It\r\n&gt; --     expands the children\/descendants under purchaseOrder, and create view\r\n&gt; --     columns for every scalar values.\r\n&gt; --     Just like create_view_on_path, the top level scalars are always include\r\n&gt; --     in the view, no matter if they are under the given path. In other words,\r\n&gt; --     one can create a view with only top level scalars by specifying a path\r\n&gt; --     pointing to a top level scalar (not under an array).\r\n&gt; --  resolveNameConflicts\r\n&gt; --     By default, if there are conflicts among o:preferred_column_name, an\r\n&gt; --     error will be raised. By setting this parameter to TRUE, the procedure\r\n&gt; --     will automatically resolve the view column name conflicts by appending\r\n&gt; --     a sequence number.\r\n&gt; --  colNamePrefix\r\n&gt; --     By default, the view column name is the same as the JSON field name.\r\n&gt; --     This parameter allows one to provide a prefix to prepend to the view\r\n&gt; --     column names.\r\n&gt; --  mixedCaseColumns\r\n&gt; --     By default, the view column names are case sensitive. This parameter\r\n&gt; --     allows one to change the behavior to case insensitive.\r\n&gt; ---------------------------------------------\r\n&gt; PROCEDURE create_view(viewName  VARCHAR2,\r\n&gt;                       tableName VARCHAR2,\r\n&gt;                       jcolName  VARCHAR2,\r\n&gt;                       dataguide CLOB,\r\n&gt;                       resourcePath   VARCHAR2 DEFAULT NULL,\r\n&gt;                       materialize    BOOLEAN  DEFAULT FALSE,\r\n&gt;                       mvRefreshMode  NUMBER   DEFAULT MV_REFRESH_ON_STATEMENT,\r\n&gt;                       path                    VARCHAR2 DEFAULT '$',\r\n&gt;                       resolveNameConflicts    BOOLEAN  DEFAULT FALSE,\r\n&gt;                       colNamePrefix           VARCHAR2 DEFAULT NULL,\r\n&gt;                       mixedCaseColumns        BOOLEAN DEFAULT FALSE);\r\n&gt;\r\n&gt; ---------------------------------------------\r\n&gt; -- Similar to create_view, but returns the creating view DDL without acutally\r\n&gt; -- creating the view.\r\n&gt; -- When viewName is null, it only returns the select statement of the view DDL.\r\n&gt; -- As one json_table can only produce at most 1000 columns, we will split paths\r\n&gt; -- into joins among multiplt json_tables if the paths are more than 1000.\r\n&gt; -- E.g.\r\n&gt; --    select rt.*, jt1.*, jt2.*\r\n&gt; --    from jtab rt,\r\n&gt; --        json_table(jcol, '$' columns\r\n&gt; --                    c1 number path '$.c1',\r\n&gt; --                    c2 number path '$.c2',\r\n&gt; --                    ...\r\n&gt; --                    c1000 number path '$.c1000') jt1,\r\n&gt; --         json_table(jcol, '$' columns\r\n&gt; --                    c1001 number path '$.c1001',\r\n&gt; --                    ...\r\n&gt; --                    c1555 number path '$.c1555') jt2;\r\n&gt; -- We start a new json_table only when the current field is top\r\n&gt; -- scalar. If the current field is under array when json_table reaches 1000\r\n&gt; -- limit, skip (not include them in view SQL) until we see the next top scalar.\r\n&gt; -- This is avoid cardinality issue. E.g.\r\n&gt; --    select rt.*, jt1.*, jt2.*, jt3.*\r\n&gt; --    from jtab rt,\r\n&gt; --        json_table(jcol, '$' columns\r\n&gt; --                    c1 number path '$.c1',\r\n&gt; --                    c2 number path '$.c2',\r\n&gt; --                    ...\r\n&gt; --                    c1000 number path '$.c1000') jt1,\r\n&gt; --         json_table(jcol, '$' columns\r\n&gt; --                    c1001 number path '$.c1001',\r\n&gt; --                    ...\r\n&gt; --                    nested path '$.c1555' columns\r\n&gt; --                    (d1 number path '$.d1',\r\n&gt; --                     ...                       ) jt2,\r\n&gt; --         json_table(jcol, '$' columns\r\n&gt; --                    c1556 number path '$.c1556',\r\n&gt; --                    ...\r\n&gt; --                    c1789 number path '$.c1789') jt3;\r\n113c202\r\n&lt; PROCEDURE create_view(viewName VARCHAR2,\r\n---\r\n&gt; FUNCTION get_view_sql(viewName  VARCHAR2,\r\n115c204\r\n&lt;                       jcolName VARCHAR2,\r\n---\r\n&gt;                       jcolName  VARCHAR2,\r\n117,118c206,212\r\n&lt;                       resourcePath VARCHAR2 DEFAULT NULL,\r\n&lt;                       materialize BOOLEAN DEFAULT FALSE);\r\n---\r\n&gt;                       materialize    BOOLEAN  DEFAULT FALSE,\r\n&gt;                       mvRefreshMode  NUMBER   DEFAULT MV_REFRESH_ON_STATEMENT,\r\n&gt;                       path                    VARCHAR2 DEFAULT '$',\r\n&gt;                       resolveNameConflicts    BOOLEAN  DEFAULT FALSE,\r\n&gt;                       colNamePrefix           VARCHAR2 DEFAULT NULL,\r\n&gt;                       mixedCaseColumns        BOOLEAN DEFAULT FALSE)\r\n&gt; RETURN CLOB;\r\n155a250,255\r\n&gt; --  mvRefreshMode\r\n&gt; --     This parameter specifies the materialized view refresh mode. It is one\r\n&gt; --     of the following values:\r\n&gt; --     . MV_REFRESH_ON_STATEMENT (default)\r\n&gt; --     . MV_REFRESH_ON_COMMIT\r\n&gt; --     . MV_REFRESH_ON_DEMAND\r\n163c263,265\r\n&lt;                            materialize BOOLEAN DEFAULT FALSE);\r\n---\r\n&gt;                            materialize BOOLEAN DEFAULT FALSE,\r\n&gt;                            mvRefreshMode NUMBER\r\n&gt;                                          DEFAULT MV_REFRESH_ON_STATEMENT);\r\n185a288,299\r\n&gt; --  resolveNameConflicts\r\n&gt; --     By default, if there are conflicts among o:preferred_column_name, an\r\n&gt; --     error will be raised. By setting this parameter to TRUE, the procedure\r\n&gt; --     will automatically resolve the virtual column name conflicts by\r\n&gt; --     appending a sequence number.\r\n&gt; --  colNamePrefix\r\n&gt; --     By default, the virtual column name is the same as the JSON field name.\r\n&gt; --     This parameter allows one to provide a prefix to prepend to the\r\n&gt; --     virtual column names.\r\n&gt; --  mixedCaseColumns\r\n&gt; --     By default, the virtual column names are case sensitive. This parameter\r\n&gt; --     allows one to change the behavior to case insensitive.\r\n189c303,306\r\n&lt;                               dataguide CLOB);\r\n---\r\n&gt;                               dataguide CLOB,\r\n&gt;                               resolveNameConflicts BOOLEAN  DEFAULT FALSE,\r\n&gt;                               colNamePrefix        VARCHAR2 DEFAULT NULL,\r\n&gt;                               mixedCaseColumns     BOOLEAN DEFAULT FALSE);\r\n222c339\r\n&lt;                                hidden BOOLEAN DEFAULT FALSE);\r\n---\r\n&gt;                               hidden BOOLEAN DEFAULT FALSE);\r\n<\/pre>\n<div id=\"XDB.DBMS_JSON_INT.PACKAGE.19.0.0.0_RU\">XDB.DBMS_JSON_INT &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n30c30,31\r\n&lt;                            MATERIALIZE BOOLEAN);\r\n---\r\n&gt;                            MATERIALIZE BOOLEAN,\r\n&gt;                            MVREFRESHMODE NUMBER);\r\n<\/pre>\n<div id=\"XDB.DBMS_SODA_ADMIN.PACKAGE.19.0.0.0_RU\">XDB.DBMS_SODA_ADMIN &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n56c56,59\r\n&lt;   procedure DROP_COLLECTION(P_URI_NAME in nvarchar2);\r\n---\r\n&gt;   procedure DROP_COLLECTION(P_URI_NAME          in nvarchar2,\r\n&gt;                             P_PURGE             in varchar2 default 'FALSE',\r\n&gt;                             P_DROP_MAPPED_TABLE in varchar2 default 'FALSE');\r\n&gt;\r\n81,83c84,89\r\n&lt;   procedure DROP_COLLECTIONS(P_COLLECTIONS out NVCNTAB,\r\n&lt;                              P_ERRORS out VCNTAB,\r\n&lt;                              P_FORCE in varchar2);\r\n---\r\n&gt;   procedure DROP_COLLECTIONS(P_COLLECTIONS       out NVCNTAB,\r\n&gt;                              P_ERRORS            out VCNTAB,\r\n&gt;                              P_FORCE             in varchar2,\r\n&gt;                              P_PURGE             in varchar2 default 'FALSE',\r\n&gt;                              P_DROP_MAPPED_TABLE in varchar2 default 'FALSE');\r\n&gt;\r\n99a106,120\r\n&gt;   -- Returns service name (cloud), and compatible param\r\n&gt;   --\r\n&gt;   procedure GET_SERVICE_AND_COMPATIBLE (P_SERVICE out VARCHAR2,\r\n&gt;                                         P_COMPATIBLE out number);\r\n&gt;   --\r\n&gt;   -- Returns the default metadata as CLOB\r\n&gt;   --\r\n&gt;   procedure GET_DEFAULT_METADATA_C(P_METADATA out clob);\r\n&gt;\r\n&gt;   --\r\n&gt;   -- Returns the default metadata as VARCHAR2\r\n&gt;   --\r\n&gt;   procedure GET_DEFAULT_METADATA_V(P_METADATA out varchar2);\r\n&gt;\r\n&gt;   --\r\n222c243,248\r\n&lt;                                 P_DATA_GUIDE  in    CLOB);\r\n---\r\n&gt;                                 P_DATA_GUIDE  in    CLOB,\r\n&gt;                                 P_MATERIALIZE in    BOOLEAN DEFAULT FALSE);\r\n&gt;   -- Replaces the value of the schemaName field in the metadata descriptor\r\n&gt;   function CHANGE_SCHEMA(P_DESCRIPTOR in varchar2,\r\n&gt;                          P_SCHEMA in varchar2)\r\n&gt;     return varchar2;\r\n<\/pre>\n<div id=\"XDB.DBMS_SODA_DML.PACKAGE.19.0.0.0_RU\">XDB.DBMS_SODA_DML &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n12,14c12\r\n&lt;   PROCEDURE DO_DELETE(P_URI_NAME    IN NVARCHAR2,\r\n&lt;                       P_OWNER       IN VARCHAR2);\r\n&lt;   PROCEDURE DO_DELETE_ALL(P_OWNER   IN VARCHAR2);\r\n---\r\n&gt;\r\n15a14,18\r\n&gt;                       P_OWNER       IN VARCHAR2,\r\n&gt;                       P_SCHEMA_NAME IN VARCHAR2,\r\n&gt;                       P_OBJECT_NAME IN VARCHAR2,\r\n&gt;                       P_OBJECT_TYPE IN VARCHAR2,\r\n&gt;                       P_CREATE_TIME IN TIMESTAMP,\r\n16a20,23\r\n&gt;                       P_DESCRIPTOR  IN VARCHAR2,\r\n&gt;                       P_ROW_COUNT   OUT NUMBER);\r\n&gt;\r\n&gt;   PROCEDURE DO_DELETE(P_URI_NAME    IN NVARCHAR2,\r\n17a25,28\r\n&gt;   PROCEDURE DO_DELETE_ALL(P_OWNER   IN VARCHAR2);\r\n&gt;   PROCEDURE DO_UPDATE_MODE(P_URI_NAME    IN NVARCHAR2,\r\n&gt;                            P_CREATE_MODE IN VARCHAR2,\r\n&gt;                            P_OWNER       IN VARCHAR2);\r\n20c31,32\r\n&lt;                       P_CREATE_MODE OUT VARCHAR2);\r\n---\r\n&gt;                       P_CREATE_MODE OUT VARCHAR2,\r\n&gt;                       P_TIMEOUT     IN PLS_INTEGER DEFAULT NULL);\r\n<\/pre>\n<div id=\"XDB.DBMS_SODA_DOM.PACKAGE.19.0.0.0_RU\">XDB.DBMS_SODA_DOM &#8211; PACKAGE (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n25c25,29\r\n&lt;   --\r\n---\r\n&gt;\r\n&gt;   -- Thrown when a patch operation attempts\r\n&gt;   -- to remove the root node it is applied on\r\n&gt;   PATCH_ROOT_REMOVAL_ERROR    constant number := -40667;\r\n&gt;\r\n<\/pre>\n<div id=\"XDB.DBMS_JSON.PACKAGE BODY.19.0.0.0_RU\">XDB.DBMS_JSON &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n7c7,8\r\n&lt; TYPE STRSTK IS TABLE OF VARCHAR2(130);\r\n---\r\n&gt; TYPE STRSTK IS TABLE OF VARCHAR2(130) INDEX BY VARCHAR2(130);\r\n&gt; TYPE STEPTAB IS TABLE OF VARCHAR2(4000);\r\n10,15c11,20\r\n&lt; PROCEDURE PUSHSTR(ERRST IN OUT STRSTK, COL VARCHAR2)\r\n&lt; IS\r\n&lt; BEGIN\r\n&lt;   ERRST.EXTEND(1);\r\n&lt;   ERRST(ERRST.COUNT) := COL;\r\n&lt; END;\r\n---\r\n&gt; S_UNICODE_U CONSTANT NUMBER := 1;\r\n&gt; S_UNICODE_1 CONSTANT NUMBER := 2;\r\n&gt; S_UNICODE_2 CONSTANT NUMBER := 3;\r\n&gt; S_UNICODE_3 CONSTANT NUMBER := 4;\r\n&gt; S_UNICODE_4 CONSTANT NUMBER := 5;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt; COL1K CONSTANT NUMBER := 999;\r\n19a25,26\r\n&gt;   COL    VARCHAR2(130);\r\n&gt;   FIRSTR BOOLEAN;\r\n22,23c29,32\r\n&lt;   FOR I IN 1..ERRST.COUNT LOOP\r\n&lt;     IF (ERRLEN + LENGTH(ERRST(I)) + 1 &gt; 4000) THEN\r\n---\r\n&gt;   COL := ERRST.FIRST;\r\n&gt;   FIRSTR := TRUE;\r\n&gt;   WHILE COL IS NOT NULL LOOP\r\n&gt;     IF (ERRLEN + LENGTH(COL) + 1 &gt; 4000) THEN\r\n26c35,37\r\n&lt;     IF (I &gt; 1) THEN\r\n---\r\n&gt;     IF (FIRSTR) THEN\r\n&gt;       FIRSTR := FALSE;\r\n&gt;     ELSE\r\n30,31c41,44\r\n&lt;     ERRSTR := ERRSTR || ERRST(I);\r\n&lt;     ERRLEN := ERRLEN + LENGTH(ERRST(I));\r\n---\r\n&gt;     ERRSTR := ERRSTR || COL;\r\n&gt;     ERRLEN := ERRLEN + LENGTH(COL);\r\n&gt;\r\n&gt;     COL := ERRST.NEXT(COL);\r\n35,53d47\r\n&lt; FUNCTION LOOKUP_H(STK STRSTK, VAL VARCHAR2,\r\n&lt;                   HEAD NUMBER, TAIL NUMBER) RETURN BOOLEAN\r\n&lt; IS\r\n&lt;   MID NUMBER;\r\n&lt;   PIV VARCHAR2(130);\r\n&lt; BEGIN\r\n&lt;   MID := HEAD + FLOOR((TAIL-HEAD)\/2);\r\n&lt;   PIV := STK(MID);\r\n&lt;\r\n&lt;   IF HEAD = TAIL THEN\r\n&lt;   BEGIN\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;     RETURN PIV = VAL;\r\n&lt;   END;\r\n&lt;   END IF;\r\n55,61d48\r\n&lt;   IF PIV = VAL THEN\r\n&lt;     RETURN TRUE;\r\n&lt;   ELSIF (PIV &gt; VAL) THEN\r\n&lt;     RETURN LOOKUP_H(STK, VAL, HEAD, MID);\r\n&lt;   ELSE\r\n&lt;     RETURN LOOKUP_H(STK, VAL, MID+1, TAIL);\r\n&lt;   END IF;\r\n63d49\r\n&lt; END;\r\n65c51,53\r\n&lt; FUNCTION LOOKUP(STK STRSTK, VAL VARCHAR2) RETURN BOOLEAN\r\n---\r\n&gt;\r\n&gt; FUNCTION NORMALIZEARG(TABLENAME IN VARCHAR2)\r\n&gt; RETURN VARCHAR2\r\n66a55\r\n&gt;  TN VARCHAR2(130) := NULL;\r\n68,72d56\r\n&lt;\r\n&lt;   RETURN LOOKUP_H(STK, VAL, 1, STK.COUNT);\r\n&lt; END;\r\n&lt;\r\n&lt;\r\n73a58,64\r\n&gt;   IF (TABLENAME IS NOT NULL) THEN\r\n&gt;     IF (TABLENAME NOT LIKE '\"%\"') THEN\r\n&gt;       TN := UPPER(TABLENAME);\r\n&gt;     ELSE\r\n&gt;       TN := SUBSTR(TABLENAME, 2, LENGTH(TABLENAME)-2);\r\n&gt;     END IF;\r\n&gt;   END IF;\r\n74a66,67\r\n&gt;   RETURN TN;\r\n&gt; END;\r\n79d71\r\n&lt;  TN VARCHAR2(130);\r\n81c73\r\n&lt;   IF (TABLENAME IS NULL) THEN\r\n---\r\n&gt;   IF ((TABLENAME IS NULL) OR (TABLENAME = '\"\"'))  THEN\r\n86,92c78\r\n&lt;   IF (TABLENAME NOT LIKE '\"%\"') THEN\r\n&lt;     TN := UPPER(TABLENAME);\r\n&lt;   ELSE\r\n&lt;     TN := SUBSTR(TABLENAME, 2, LENGTH(TABLENAME)-2);\r\n&lt;   END IF;\r\n&lt;\r\n&lt;   RETURN TN;\r\n---\r\n&gt;   RETURN NORMALIZEARG(TABLENAME);\r\n111a98\r\n&gt;   ESCAPEDSTEP := REPLACE(ESCAPEDSTEP,'\\','\\\\');\r\n122,124c109,110\r\n&lt;       IF (ASCII(CHARATPOS) &gt;= ASCII('0') AND\r\n&lt;           ASCII(CHARATPOS) &lt;= ASCII('9') AND\r\n&lt;           I = 1) THEN\r\n---\r\n&gt;       IF (I = 1 AND\r\n&gt;           CHARATPOS &gt;= '0' AND CHARATPOS &lt;= '9') THEN\r\n127,130c113,114\r\n&lt;       IF ((ASCII(CHARATPOS) &lt; ASCII('a') OR\r\n&lt;            ASCII(CHARATPOS) &gt; ASCII('z')) AND\r\n&lt;           (ASCII(CHARATPOS) &lt; ASCII('A') OR\r\n&lt;            ASCII(CHARATPOS) &gt; ASCII('Z')) AND\r\n---\r\n&gt;       IF ((CHARATPOS &lt; 'a' OR CHARATPOS &gt; 'z') AND\r\n&gt;           (CHARATPOS &lt; 'A' OR CHARATPOS &gt; 'Z') AND\r\n146c130,141\r\n&lt; FUNCTION VCERRCHECK(VCNAME VARCHAR2) RETURN VARCHAR2\r\n---\r\n&gt;\r\n&gt;\r\n&gt; FUNCTION PATCHVCNAME(VCNAME           VARCHAR2,\r\n&gt;                      OWNER            VARCHAR2,\r\n&gt;                      TNAME            VARCHAR2,\r\n&gt;                      ERRST     IN OUT STRSTK,\r\n&gt;                      RCLST     IN OUT STRSTK,\r\n&gt;                      COLCNT           NUMBER,\r\n&gt;                      CREATEVIEW       BOOLEAN,\r\n&gt;                      IGNOREERROR      BOOLEAN,\r\n&gt;                      COLNAMEPREFIX    VARCHAR2,\r\n&gt;                      MIXEDCASECOLUMNS BOOLEAN) RETURN VARCHAR2\r\n148a144,145\r\n&gt;   LEN        NUMBER;\r\n&gt;   VCEXISTS   BOOLEAN := FALSE;\r\n150,151c147\r\n&lt;\r\n&lt;   IF (VCNAME = NULL) THEN\r\n---\r\n&gt;   IF (VCNAME IS NULL) THEN\r\n154c150\r\n&lt;\r\n---\r\n&gt;\r\n163c159,165\r\n&lt;   ASSERTEDNM := REPLACE(ASSERTEDNM, '\"','\\\"');\r\n---\r\n&gt;   IF (INSTR(ASSERTEDNM, '\"') &gt; 0) THEN\r\n&gt;     IF (IGNOREERROR) THEN\r\n&gt;       ASSERTEDNM := REPLACE(ASSERTEDNM, '\"','');\r\n&gt;     ELSE\r\n&gt;       SYS.DBMS_JSON0.RAISEERROR(-40836, ASSERTEDNM);\r\n&gt;     END IF;\r\n&gt;   END IF;\r\n165a168\r\n&gt;\r\n167c170,215\r\n&lt;\r\n---\r\n&gt;   IF (COLNAMEPREFIX IS NOT NULL) THEN\r\n&gt;     LEN := 128 - LENGTH(COLNAMEPREFIX) - LENGTH(ASSERTEDNM);\r\n&gt;     IF (LEN &gt;= 0) THEN\r\n&gt;       ASSERTEDNM := COLNAMEPREFIX || ASSERTEDNM;\r\n&gt;     ELSE\r\n&gt;       ASSERTEDNM := COLNAMEPREFIX ||\r\n&gt;                     SUBSTR(ASSERTEDNM, 1, LENGTH(ASSERTEDNM)+LEN);\r\n&gt;     END IF;\r\n&gt;   END IF;\r\n&gt;\r\n&gt;   IF (MIXEDCASECOLUMNS) THEN\r\n&gt;\r\n&gt;     ASSERTEDNM := UPPER(ASSERTEDNM);\r\n&gt;   END IF;\r\n&gt;\r\n&gt;   IF (CREATEVIEW) THEN\r\n&gt;\r\n&gt;     IF (RCLST.EXISTS(ASSERTEDNM)) THEN\r\n&gt;       VCEXISTS := TRUE;\r\n&gt;     ELSE\r\n&gt;       VCEXISTS := FALSE;\r\n&gt;       RCLST(ASSERTEDNM) := ASSERTEDNM;\r\n&gt;     END IF;\r\n&gt;   ELSE\r\n&gt;\r\n&gt;     VCEXISTS := SYS.DBMS_JSON0.CHECKVCNAME(ASSERTEDNM, OWNER, TNAME);\r\n&gt;   END IF;\r\n&gt;   IF (VCEXISTS) THEN\r\n&gt;     IF (IGNOREERROR) THEN\r\n&gt;\r\n&gt;       LEN := 128 - LENGTH(ASSERTEDNM) - 1 - LENGTH(COLCNT);\r\n&gt;       IF (LEN &gt;= 0) THEN\r\n&gt;         ASSERTEDNM := ASSERTEDNM || '_' || COLCNT;\r\n&gt;       ELSE\r\n&gt;         ASSERTEDNM := SUBSTR(ASSERTEDNM , 1, LENGTH(ASSERTEDNM)+LEN) ||\r\n&gt;                       '_' || COLCNT;\r\n&gt;       END IF;\r\n&gt;       IF (CREATEVIEW) THEN\r\n&gt;\r\n&gt;         RCLST(ASSERTEDNM) := ASSERTEDNM;\r\n&gt;       END IF;\r\n&gt;     ELSE\r\n&gt;       ERRST(ASSERTEDNM) := ASSERTEDNM;\r\n&gt;     END IF;\r\n&gt;   END IF;\r\n&gt;\r\n171d218\r\n&lt;\r\n175a223,424\r\n&gt; PROCEDURE APPENDSTEP(STEP IN OUT VARCHAR2,\r\n&gt;                      SLEN IN OUT NUMBER,\r\n&gt;                      VC   VARCHAR2,\r\n&gt;                      PATH VARCHAR2)\r\n&gt; IS\r\n&gt; BEGIN\r\n&gt;\r\n&gt;   IF (SLEN &gt;= 4000) THEN\r\n&gt;     SYS.DBMS_JSON0.RAISEERROR(-40589, PATH);\r\n&gt;   END IF;\r\n&gt;   STEP := STEP || VC;\r\n&gt;   SLEN := SLEN + 1;\r\n&gt; END;\r\n&gt;\r\n&gt; PROCEDURE PARSEJSONPATH(PATH VARCHAR2,\r\n&gt;                         STEPS IN OUT STEPTAB)\r\n&gt; IS\r\n&gt;   PLEN    NUMBER;\r\n&gt;   SLEN    NUMBER := 0;\r\n&gt;   VC      VARCHAR2(10);\r\n&gt;   NEXTVC  VARCHAR2(10) := NULL;\r\n&gt;   STEP    VARCHAR2(4000) := NULL;\r\n&gt;   INQUOTE  BOOLEAN := FALSE;\r\n&gt;   INESCAPE BOOLEAN := FALSE;\r\n&gt;   STATE    NUMBER := 0;\r\n&gt;   UNICODE VARCHAR2(5);\r\n&gt;   NUMSTEPS NUMBER := 0;\r\n&gt;\r\n&gt; BEGIN\r\n&gt;   IF (PATH IS NULL) THEN\r\n&gt;     SYS.DBMS_JSON0.RAISEERROR(-40442);\r\n&gt;   END IF;\r\n&gt;\r\n&gt;   STEPS := STEPTAB();\r\n&gt;   PLEN := LENGTH(PATH);\r\n&gt;   FOR I IN 1..PLEN LOOP\r\n&gt;     IF (STATE = S_UNICODE_U) THEN\r\n&gt;       STATE := S_UNICODE_1;\r\n&gt;       CONTINUE;\r\n&gt;     ELSIF (STATE = S_UNICODE_1) THEN\r\n&gt;       STATE := S_UNICODE_2;\r\n&gt;       CONTINUE;\r\n&gt;     ELSIF (STATE = S_UNICODE_2) THEN\r\n&gt;       STATE := S_UNICODE_3;\r\n&gt;       CONTINUE;\r\n&gt;     ELSIF (STATE = S_UNICODE_3) THEN\r\n&gt;       STATE := S_UNICODE_4;\r\n&gt;       CONTINUE;\r\n&gt;     ELSIF (STATE = S_UNICODE_4) THEN\r\n&gt;       STATE := 0;\r\n&gt;       INESCAPE := FALSE;\r\n&gt;     END IF;\r\n&gt;\r\n&gt;     VC := SUBSTR(PATH, I, 1);\r\n&gt;\r\n&gt;     IF (I = 1) THEN\r\n&gt;       IF (VC = '$') THEN\r\n&gt;         CONTINUE;\r\n&gt;       ELSE\r\n&gt;         SYS.DBMS_JSON0.RAISEERROR(-40442, PATH);\r\n&gt;       END IF;\r\n&gt;     END IF;\r\n&gt;\r\n&gt;\r\n&gt;     IF ((I = 2) AND VC != '.') THEN\r\n&gt;       SYS.DBMS_JSON0.RAISEERROR(-40442, PATH);\r\n&gt;     END IF;\r\n&gt;\r\n&gt;\r\n&gt;     IF (VC = '\"') THEN\r\n&gt;\r\n&gt;       IF (INESCAPE) THEN\r\n&gt;         APPENDSTEP(STEP, SLEN, '\"', PATH);\r\n&gt;         INESCAPE := FALSE;\r\n&gt;       ELSE\r\n&gt;         INQUOTE := NOT INQUOTE;\r\n&gt;       END IF;\r\n&gt;\r\n&gt;\r\n&gt;     ELSIF (VC = '.') THEN\r\n&gt;\r\n&gt;       IF (I = PLEN) THEN\r\n&gt;         SYS.DBMS_JSON0.RAISEERROR(-40442, PATH);\r\n&gt;       END IF;\r\n&gt;       IF (INQUOTE) THEN\r\n&gt;         APPENDSTEP(STEP, SLEN, '.', PATH);\r\n&gt;         CONTINUE;\r\n&gt;       END IF;\r\n&gt;\r\n&gt;       IF (STEP IS NOT NULL) THEN\r\n&gt;         STEPS.EXTEND(1);\r\n&gt;         STEPS(STEPS.COUNT) := STEP;\r\n&gt;\r\n&gt;       ELSIF (I &gt; 2) THEN\r\n&gt;         SYS.DBMS_JSON0.RAISEERROR(-40835, PATH);\r\n&gt;       END IF;\r\n&gt;       STEP := NULL;\r\n&gt;       SLEN := 0;\r\n&gt;       NUMSTEPS := NUMSTEPS + 1;\r\n&gt;\r\n&gt;\r\n&gt;     ELSIF (INQUOTE AND VC = '\\') THEN\r\n&gt;       IF (INESCAPE) THEN\r\n&gt;\r\n&gt;         APPENDSTEP(STEP, SLEN, '\\', PATH);\r\n&gt;         INESCAPE := FALSE;\r\n&gt;       ELSE\r\n&gt;         INESCAPE := TRUE;\r\n&gt;       END IF;\r\n&gt;\r\n&gt;\r\n&gt;     ELSIF (INESCAPE AND VC = 'u') THEN\r\n&gt;       STATE := S_UNICODE_U;\r\n&gt;\r\n&gt;       IF (I + 4 &gt; PLEN) THEN\r\n&gt;         SYS.DBMS_JSON0.RAISEERROR(-40442, PATH);\r\n&gt;       END IF;\r\n&gt;       UNICODE := '\\';\r\n&gt;       FOR J IN I+1..I+4 LOOP\r\n&gt;         NEXTVC := SUBSTR(PATH, J, 1);\r\n&gt;         IF ((NEXTVC &gt;= 'a' AND NEXTVC &lt;= 'f') OR\r\n&gt;             (NEXTVC &gt;= 'A' AND NEXTVC &lt;= 'F') OR\r\n&gt;             (NEXTVC &gt;= '0' AND NEXTVC &lt;= '9')) THEN\r\n&gt;           UNICODE := UNICODE || NEXTVC;\r\n&gt;         ELSE\r\n&gt;           SYS.DBMS_JSON0.RAISEERROR(-40442, PATH);\r\n&gt;         END IF;\r\n&gt;       END LOOP;\r\n&gt;\r\n&gt;       APPENDSTEP(STEP, SLEN, UNISTR(UNICODE), PATH);\r\n&gt;\r\n&gt;\r\n&gt;     ELSIF (INESCAPE) THEN\r\n&gt;       NEXTVC := NULL;\r\n&gt;       IF (VC = '\/') THEN\r\n&gt;         NEXTVC := '\/';\r\n&gt;       ELSIF (VC = 'b') THEN\r\n&gt;         NEXTVC := TO_CHAR(U'\\0008');\r\n&gt;       ELSIF (VC = 'f') THEN\r\n&gt;         NEXTVC := TO_CHAR(U'\\000C');\r\n&gt;       ELSIF (VC = 'n') THEN\r\n&gt;         NEXTVC := TO_CHAR(U'\\000A');\r\n&gt;       ELSIF (VC = 'r') THEN\r\n&gt;         NEXTVC := TO_CHAR(U'\\000D');\r\n&gt;       ELSIF (VC = 't') THEN\r\n&gt;         NEXTVC := TO_CHAR(U'\\0009');\r\n&gt;       ELSE\r\n&gt;         SYS.DBMS_JSON0.RAISEERROR(-40442, PATH);\r\n&gt;       END IF;\r\n&gt;       IF (NEXTVC IS NOT NULL) THEN\r\n&gt;         APPENDSTEP(STEP, SLEN, NEXTVC, PATH);\r\n&gt;         INESCAPE := FALSE;\r\n&gt;       END IF;\r\n&gt;\r\n&gt;     ELSE\r\n&gt;\r\n&gt;       IF (NOT INQUOTE) THEN\r\n&gt;\r\n&gt;         IF (VC &lt;= CHR(127)) THEN\r\n&gt;\r\n&gt;           IF (VC &gt;= '0' AND VC &lt;= '9') THEN\r\n&gt;             IF (SLEN = 0) THEN\r\n&gt;               SYS.DBMS_JSON0.RAISEERROR(-40835, PATH);\r\n&gt;             END IF;\r\n&gt;           ELSIF (NOT\r\n&gt;                  ((VC &gt;= 'a' AND VC &lt;= 'z') OR\r\n&gt;                   (VC &gt;= 'A' AND VC &lt;= 'Z') OR\r\n&gt;                   (VC = '_'))) THEN\r\n&gt;             SYS.DBMS_JSON0.RAISEERROR(-40835, PATH);\r\n&gt;           END IF;\r\n&gt;         END IF;\r\n&gt;       END IF;\r\n&gt;       APPENDSTEP(STEP, SLEN, VC, PATH);\r\n&gt;     END IF;\r\n&gt;\r\n&gt;   END LOOP;\r\n&gt;\r\n&gt;\r\n&gt;   IF (INQUOTE) THEN\r\n&gt;     SYS.DBMS_JSON0.RAISEERROR(-40442, PATH);\r\n&gt;   END IF;\r\n&gt;\r\n&gt;\r\n&gt;   IF (STEP IS NOT NULL) THEN\r\n&gt;     STEPS.EXTEND(1);\r\n&gt;     STEPS(STEPS.COUNT) := STEP;\r\n&gt;   END IF;\r\n&gt;\r\n&gt;\r\n&gt;   IF (NUMSTEPS != STEPS.COUNT) THEN\r\n&gt;     SYS.DBMS_JSON0.RAISEERROR(-40835, PATH);\r\n&gt;   END IF;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt; END;\r\n&gt;\r\n&gt;\r\n198a448,452\r\n&gt; FUNCTION GATHER_STATS RETURN NUMBER PARALLEL_ENABLE AS\r\n&gt; BEGIN\r\n&gt;   RETURN 4;\r\n&gt; END;\r\n&gt;\r\n206,208c460,465\r\n&lt; DGELE JSON_ELEMENT_T;\r\n&lt; DGOBJ JSON_OBJECT_T;\r\n&lt; PROPELE JSON_ELEMENT_T;\r\n---\r\n&gt; DGELE    JSON_ELEMENT_T;\r\n&gt; DGOBJ    JSON_OBJECT_T;\r\n&gt; PROPELE  JSON_ELEMENT_T;\r\n&gt; TYP      VARCHAR2(40);\r\n&gt; ITEMELEM JSON_ELEMENT_T;\r\n&gt; ITEMOBJ  JSON_OBJECT_T;\r\n211c468\r\n&lt;     SYS.DBMS_JSON0.RAISEERRORMESG(-40594, 'dataguide is null');\r\n---\r\n&gt;     SYS.DBMS_JSON0.RAISEERROR(-40594, 'the dataguide is null');\r\n212a470\r\n&gt;\r\n215c473\r\n&lt;     SYS.DBMS_JSON0.RAISEERRORMESG(-40594, 'root element is not object');\r\n---\r\n&gt;     SYS.DBMS_JSON0.RAISEERROR(-40594, 'the root element is not an object');\r\n219,222c477,501\r\n&lt;   IF (DGOBJ.HAS('type') AND DGOBJ.HAS('properties')) THEN\r\n&lt;     IF (DGOBJ.GET_STRING('type') &lt;&gt; 'object') THEN\r\n&lt;       SYS.DBMS_JSON0.RAISEERRORMESG(-40594,\r\n&lt;           'root element type is not object');\r\n---\r\n&gt;   IF (NOT DGOBJ.HAS('type')) THEN\r\n&gt;     SYS.DBMS_JSON0.RAISEERROR(-40594,\r\n&gt;         'the root element does not have child \"type\"');\r\n&gt;   END IF;\r\n&gt;   TYP := DGOBJ.GET_STRING('type');\r\n&gt;   IF (TYP = 'object') THEN\r\n&gt;     IF (DGOBJ.HAS('properties')) THEN\r\n&gt;       PROPELE := DGOBJ.GET('properties');\r\n&gt;     ELSE\r\n&gt;       SYS.DBMS_JSON0.RAISEERROR(-40594,\r\n&gt;         'the root element (type=object) does not have child \"properties\"');\r\n&gt;     END IF;\r\n&gt;   ELSIF (TYP = 'array') THEN\r\n&gt;     IF (DGOBJ.HAS('items')) THEN\r\n&gt;       ITEMELEM := DGOBJ.GET('items');\r\n&gt;       ITEMOBJ := TREAT(ITEMELEM AS JSON_OBJECT_T);\r\n&gt;       IF (ITEMOBJ.HAS('properties')) THEN\r\n&gt;         PROPELE := ITEMOBJ.GET('properties');\r\n&gt;       ELSE\r\n&gt;         SYS.DBMS_JSON0.RAISEERROR(-40594,\r\n&gt;           'the root element (type=array) does not have grandchild \"properties\"');\r\n&gt;       END IF;\r\n&gt;     ELSE\r\n&gt;       SYS.DBMS_JSON0.RAISEERROR(-40594,\r\n&gt;         'the root element (type=array) does not have child \"items\"');\r\n225,226c504,505\r\n&lt;     SYS.DBMS_JSON0.RAISEERRORMESG(-40594,\r\n&lt;         'root element does not have child \"type\" or \"properties\"');\r\n---\r\n&gt;     SYS.DBMS_JSON0.RAISEERROR(-40594,\r\n&gt;           'the root element is neither an object nor an array');\r\n228c507\r\n&lt;   PROPELE := DGOBJ.GET('properties');\r\n---\r\n&gt;\r\n235c514,530\r\n&lt;       SYS.DBMS_JSON0.RAISEERRORMESG(-40594, 'checkDGMainObj: ' || SQLERRM);\r\n---\r\n&gt;       SYS.DBMS_JSON0.RAISEERROR(-40594, SQLERRM);\r\n&gt; END;\r\n&gt;\r\n&gt; PROCEDURE VALIDATELENGTH(PROP JSON_OBJECT_T, NAME VARCHAR2)\r\n&gt; IS\r\n&gt; BEGIN\r\n&gt;\r\n&gt;     IF (PROP.HAS('o:length') = FALSE) THEN\r\n&gt;       SYS.DBMS_JSON0.RAISEERROR(-40594,\r\n&gt;         NAME || ' is missing \"o:length\" property');\r\n&gt;     END IF;\r\n&gt;\r\n&gt;\r\n&gt;     IF (PROP.GET('o:length').IS_NUMBER = FALSE) THEN\r\n&gt;       SYS.DBMS_JSON0.RAISEERROR(-40594,\r\n&gt;         NAME || ': \"o:length\" is not a number');\r\n&gt;     END IF;\r\n252c547,555\r\n&lt;                       COLCNT IN OUT NUMBER)\r\n---\r\n&gt;                       COLCNT   IN OUT NUMBER,\r\n&gt;                       JTCOLCNT IN OUT NUMBER,\r\n&gt;                       JTPOS    IN OUT NUMBER,\r\n&gt;                       CNAME            VARCHAR2,\r\n&gt;                       IGNOREERROR    BOOLEAN,\r\n&gt;                       COLNAMEPREFIX  VARCHAR2,\r\n&gt;                       MIXEDCASECOLUMNS BOOLEAN,\r\n&gt;                       FROMVIEW         BOOLEAN,\r\n&gt;                       UNDERARRAY       BOOLEAN)\r\n258a562,563\r\n&gt; TYP     VARCHAR2(30);\r\n&gt; I       NUMBER;\r\n260c565,566\r\n&lt;   IF (COLCNT &gt;= 1000) THEN\r\n---\r\n&gt;\r\n&gt;   IF (FROMVIEW AND COLCNT &gt;= 1000) THEN\r\n262a569,603\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;   IF ((NOT FROMVIEW) AND (JTCOLCNT &gt;= COL1K)) THEN\r\n&gt;     IF (UNDERARRAY) THEN\r\n&gt;       RETURN;\r\n&gt;     END IF;\r\n&gt;     JDDL := JDDL||') JT'||TO_CHAR(JTPOS);\r\n&gt;     JDDL := JDDL||','||CHR(10)||'JSON_TABLE(';\r\n&gt;     JDDL := JDDL||DBMS_ASSERT.ENQUOTE_NAME(CNAME,FALSE);\r\n&gt;     JDDL := JDDL||', ''$[*]'' COLUMNS ';\r\n&gt;     JTCOLCNT := 0;\r\n&gt;     JTPOS := JTPOS + 1;\r\n&gt;     FIRST := TRUE;\r\n&gt;   END IF;\r\n&gt;\r\n267a609,618\r\n&gt;\r\n&gt;\r\n&gt;   IF (COLOBJ.HAS('o:preferred_column_name') = FALSE) THEN\r\n&gt;     SYS.DBMS_JSON0.RAISEERROR(-40594,\r\n&gt;                    'missing \"o:preferred_column_name\" in ' || PATH);\r\n&gt;   END IF;\r\n&gt;\r\n&gt;\r\n&gt;   JDDL := JDDL || CHR(10);\r\n&gt;\r\n270c621,623\r\n&lt;   VCNAME := VCERRCHECK(VCNAME);\r\n---\r\n&gt;   VCNAME := PATCHVCNAME(VCNAME, NULL, NULL, ERRST, RCLST, COLCNT, TRUE,\r\n&gt;                         IGNOREERROR, COLNAMEPREFIX, MIXEDCASECOLUMNS);\r\n&gt;   JDDL := JDDL || VCNAME;\r\n272,273c625,626\r\n&lt;   JDDL := JDDL || DBMS_ASSERT.ENQUOTE_NAME(VCNAME,FALSE);\r\n&lt;   IF (COLOBJ.GET_STRING('type') = 'array') THEN\r\n---\r\n&gt;   TYP := COLOBJ.GET_STRING('type');\r\n&gt;   IF (TYP = 'array') THEN\r\n275,276c628,629\r\n&lt;\r\n&lt;   ELSIF (COLOBJ.GET_STRING('type') = 'string') THEN\r\n---\r\n&gt;   ELSIF (TYP = 'string') THEN\r\n&gt;     VALIDATELENGTH(COLOBJ, VNM);\r\n284,287c637,641\r\n&lt;   ELSIF (COLOBJ.GET_STRING('type') = 'boolean' OR\r\n&lt;          COLOBJ.GET_STRING('type') = 'null') THEN\r\n&lt;     TYPESTR := ' varchar2('||COLOBJ.GET_STRING('o:length')||') path ';\r\n&lt;   ELSIF (COLOBJ.GET_STRING('type') = 'number') THEN\r\n---\r\n&gt;\r\n&gt;   ELSIF (TYP = 'boolean' OR TYP = 'null') THEN\r\n&gt;     VALIDATELENGTH(COLOBJ, VNM);\r\n&gt;     TYPESTR := ' varchar2('||COLOBJ.GET_NUMBER('o:length')||') path ';\r\n&gt;   ELSIF (TYP = 'number') THEN\r\n290c644\r\n&lt;   ELSIF (COLOBJ.GET_STRING('type') = 'GeoJSON') THEN\r\n---\r\n&gt;   ELSIF (TYP = 'GeoJSON') THEN\r\n293,296c647\r\n&lt;       SYS.DBMS_JSON0.RAISEERRORMESG(-40594, VNM || ': invalue \"type\" value');\r\n&lt;   END IF;\r\n&lt;   IF RCLST.COUNT &gt; 0 AND LOOKUP(RCLST, VNM) THEN\r\n&lt;     PUSHSTR(ERRST, VNM);\r\n---\r\n&gt;     SYS.DBMS_JSON0.RAISEERROR(-40594, VNM || 'has invalid type ' || TYP);\r\n300a652,653\r\n&gt;   JTCOLCNT := JTCOLCNT + 1;\r\n&gt;\r\n318c671\r\n&lt;   JDDL := JDDL || ' NESTED PATH ';\r\n---\r\n&gt;   JDDL := JDDL || CHR(10) || ' NESTED PATH ';\r\n360c713,715\r\n&lt;     PUSHSTR(RCSTK, COLNAME);\r\n---\r\n&gt;\r\n&gt;     RCSTK(COLNAME) := COLNAME;\r\n&gt;\r\n377c732,733\r\n&lt;                      FIRST IN OUT BOOLEAN, JDDL IN OUT CLOB,\r\n---\r\n&gt;                      FIRST IN OUT BOOLEAN,\r\n&gt;                      JDDL IN OUT CLOB,\r\n381c737,749\r\n&lt;                      COLCNT IN OUT NUMBER)\r\n---\r\n&gt;                      COLCNT   IN OUT NUMBER,\r\n&gt;                      JTCOLCNT IN OUT NUMBER,\r\n&gt;                      JTPOS    IN OUT NUMBER,\r\n&gt;                      CNAME              VARCHAR2,\r\n&gt;                      STEPS              STEPTAB,\r\n&gt;                      POS                NUMBER,\r\n&gt;                      INPATH             BOOLEAN,\r\n&gt;                      UNDERARRAY         BOOLEAN,\r\n&gt;                      PATHSTEPPED IN OUT BOOLEAN,\r\n&gt;                      IGNOREERROR    BOOLEAN,\r\n&gt;                      COLNAMEPREFIX  VARCHAR2,\r\n&gt;                      MIXEDCASECOLUMNS BOOLEAN,\r\n&gt;                      FROMVIEW         BOOLEAN)\r\n397c765,769\r\n&lt;   N NUMBER;\r\n---\r\n&gt;   N             NUMBER;\r\n&gt;   TYP           VARCHAR2(30);\r\n&gt;   CHILDINPATH   BOOLEAN;\r\n&gt;   ANYCHILDSTEPPED BOOLEAN := FALSE;\r\n&gt;\r\n407d778\r\n&lt;     MULTITYPED := PROPOBJ.HAS('oneOf');\r\n408a780\r\n&gt;     MULTITYPED := PROPOBJ.HAS('oneOf');\r\n420c792\r\n&lt;           SYS.DBMS_JSON0.RAISEERRORMESG(-40594,\r\n---\r\n&gt;           SYS.DBMS_JSON0.RAISEERROR(-40594,\r\n442c814,817\r\n&lt;         BUILDJCOLS(TEMPOBJ, PATH, FIRST, JDDL, MAXVC, ERRST, RCLST, COLCNT);\r\n---\r\n&gt;         BUILDJCOLS(TEMPOBJ, PATH, FIRST, JDDL, MAXVC, ERRST, RCLST, COLCNT,\r\n&gt;                    JTCOLCNT, JTPOS, CNAME,\r\n&gt;                    STEPS, POS, INPATH, UNDERARRAY, PATHSTEPPED,\r\n&gt;                    IGNOREERROR, COLNAMEPREFIX, MIXEDCASECOLUMNS, FROMVIEW);\r\n448a824,843\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;     CHILDINPATH := FALSE;\r\n&gt;     IF (INPATH) THEN\r\n&gt;       IF (POS &gt; STEPS.COUNT) THEN\r\n&gt;         CHILDINPATH := TRUE;\r\n&gt;       ELSIF (COLKEYS(I) = STEPS(POS)) THEN\r\n&gt;         CHILDINPATH := TRUE;\r\n&gt;         ANYCHILDSTEPPED := TRUE;\r\n&gt;       END IF;\r\n&gt;     END IF;\r\n&gt;\r\n&gt;\r\n451c846\r\n&lt;       SYS.DBMS_JSON0.RAISEERRORMESG(-40594,\r\n---\r\n&gt;       SYS.DBMS_JSON0.RAISEERROR(-40594,\r\n454a850\r\n&gt;     TYP := PROPOBJ.GET_STRING('type');\r\n456c852\r\n&lt;     IF (PROPOBJ.GET_STRING('type') = 'object') THEN\r\n---\r\n&gt;     IF (TYP = 'object') THEN\r\n465,466c861,864\r\n&lt;       BUILDJCOLS(PROPSOBJ, PATH ||'.'|| ESCAPEPATHSTEP(COLKEYS(I)), FIRST,JDDL,\r\n&lt;                  MAXVC, ERRST, RCLST, COLCNT);\r\n---\r\n&gt;       BUILDJCOLS(PROPSOBJ, PATH ||'.'|| ESCAPEPATHSTEP(COLKEYS(I)), FIRST,\r\n&gt;                  JDDL, MAXVC, ERRST, RCLST, COLCNT, JTCOLCNT, JTPOS, CNAME,\r\n&gt;                  STEPS, POS+1, CHILDINPATH, UNDERARRAY, PATHSTEPPED,\r\n&gt;                  IGNOREERROR, COLNAMEPREFIX, MIXEDCASECOLUMNS, FROMVIEW);\r\n469c867\r\n&lt;     ELSIF (PROPOBJ.GET_STRING('type') = 'array') THEN\r\n---\r\n&gt;     ELSIF (TYP = 'array') THEN\r\n472c870,879\r\n&lt;       IF (COLCNT &gt;= 1000) THEN\r\n---\r\n&gt;       IF (JTCOLCNT &gt;= COL1K) THEN\r\n&gt;         CONTINUE;\r\n&gt;       END IF;\r\n&gt;\r\n&gt;\r\n&gt;       IF (FROMVIEW AND COLCNT &gt;= 1000) THEN\r\n&gt;         CONTINUE;\r\n&gt;       END IF;\r\n&gt;\r\n&gt;       IF (NOT CHILDINPATH) THEN\r\n477,479c884,889\r\n&lt;         BUILDCOLUMN(PROPOBJ, PATH||'.'||ESCAPEPATHSTEP(COLKEYS(I)), FIRST,JDDL,\r\n&lt;                     MAXVC, ERRST, RCLST, COLCNT);\r\n&lt;       ELSE BEGIN\r\n---\r\n&gt;\r\n&gt;         BUILDCOLUMN(PROPOBJ, PATH||'.'||ESCAPEPATHSTEP(COLKEYS(I)), FIRST,\r\n&gt;                     JDDL, MAXVC, ERRST, RCLST, COLCNT, JTCOLCNT, JTPOS, CNAME,\r\n&gt;                     IGNOREERROR, COLNAMEPREFIX, MIXEDCASECOLUMNS,\r\n&gt;                     FROMVIEW, TRUE);\r\n&gt;       ELSE\r\n484c894,898\r\n&lt;         STARTNESTED(PATH||'.'||COLKEYS(I), FIRST, JDDL, FIRSTINNESTED);\r\n---\r\n&gt;         STARTNESTED(PATH||'.'||ESCAPEPATHSTEP(COLKEYS(I)), FIRST, JDDL,\r\n&gt;                     FIRSTINNESTED);\r\n&gt;\r\n&gt;\r\n&gt;         JTCOLCNT := JTCOLCNT + 1;\r\n488d901\r\n&lt;         BEGIN\r\n490,492c903,905\r\n&lt;                       ERRST, RCLST, COLCNT);\r\n&lt;           COLCNT := COLCNT + 1;\r\n&lt;         END;\r\n---\r\n&gt;                       ERRST, RCLST, COLCNT, JTCOLCNT, JTPOS, CNAME,\r\n&gt;                       IGNOREERROR, COLNAMEPREFIX, MIXEDCASECOLUMNS,\r\n&gt;                       FROMVIEW, TRUE);\r\n497d909\r\n&lt;         BEGIN\r\n501,502c913,915\r\n&lt;                      ERRST, RCLST, COLCNT);\r\n&lt;         END;\r\n---\r\n&gt;                      ERRST, RCLST, COLCNT, JTCOLCNT, JTPOS, CNAME,\r\n&gt;                      STEPS, POS+1, CHILDINPATH, TRUE, PATHSTEPPED,\r\n&gt;                      IGNOREERROR, COLNAMEPREFIX, MIXEDCASECOLUMNS, FROMVIEW);\r\n506c919\r\n&lt;       END;\r\n---\r\n&gt;\r\n511,517c924,935\r\n&lt;     ELSIF (PROPOBJ.GET_STRING('type') = 'number' OR\r\n&lt;            PROPOBJ.GET_STRING('type') = 'string' OR\r\n&lt;            PROPOBJ.GET_STRING('type') = 'boolean' OR\r\n&lt;            PROPOBJ.GET_STRING('type') = 'GeoJSON' OR\r\n&lt;            PROPOBJ.GET_STRING('type') = 'null') THEN\r\n&lt;       BUILDCOLUMN(PROPOBJ, PATH||'.'||ESCAPEPATHSTEP(COLKEYS(I)), FIRST, JDDL,\r\n&lt;                   MAXVC, ERRST, RCLST, COLCNT);\r\n---\r\n&gt;     ELSIF (TYP = 'number' OR\r\n&gt;            TYP = 'string' OR\r\n&gt;            TYP = 'boolean' OR\r\n&gt;            TYP = 'GeoJSON' OR\r\n&gt;            TYP = 'null') THEN\r\n&gt;\r\n&gt;       IF ((NOT UNDERARRAY) OR CHILDINPATH) THEN\r\n&gt;         BUILDCOLUMN(PROPOBJ, PATH||'.'||ESCAPEPATHSTEP(COLKEYS(I)), FIRST,\r\n&gt;                     JDDL, MAXVC, ERRST, RCLST, COLCNT, JTCOLCNT, JTPOS, CNAME,\r\n&gt;                     IGNOREERROR, COLNAMEPREFIX, MIXEDCASECOLUMNS,\r\n&gt;                     FROMVIEW, UNDERARRAY);\r\n&gt;       END IF;\r\n520,521c938,939\r\n&lt;       SYS.DBMS_JSON0.RAISEERRORMESG(-40594,\r\n&lt;           COLKEYS(I) || ' has invalid \"type\" value');\r\n---\r\n&gt;       SYS.DBMS_JSON0.RAISEERROR(-40594,\r\n&gt;           COLKEYS(I) || ' has invalid type ' || TYP);\r\n524a943,946\r\n&gt;\r\n&gt;   IF (ANYCHILDSTEPPED AND (POS = STEPS.COUNT)) THEN\r\n&gt;     PATHSTEPPED := TRUE;\r\n&gt;   END IF;\r\n535,539c957,964\r\n&lt;                           ERRST IN OUT STRSTK,\r\n&lt;                           ERRSTR IN OUT VARCHAR2,\r\n&lt;                           COLCNT IN OUT NUMBER,\r\n&lt;                           RESOURCEPATH VARCHAR2,\r\n&lt;                           MATERIALIZE BOOLEAN)\r\n---\r\n&gt;                           DDL   IN OUT CLOB,\r\n&gt;                           MATERIALIZE BOOLEAN,\r\n&gt;                           MVMODE      NUMBER,\r\n&gt;                           PATH           VARCHAR2,\r\n&gt;                           STEPS          STEPTAB,\r\n&gt;                           IGNOREERROR    BOOLEAN,\r\n&gt;                           COLNAMEPREFIX  VARCHAR2,\r\n&gt;                           MIXEDCASECOLUMNS BOOLEAN)\r\n545d969\r\n&lt; DDL    CLOB;\r\n547a972,974\r\n&gt; ERRST STRSTK;\r\n&gt; ERRSTR VARCHAR2(4000);\r\n&gt; COLCNT NUMBER := 0;\r\n549,550c976,980\r\n&lt; DUPCOL EXCEPTION;\r\n&lt; PRAGMA EXCEPTION_INIT(DUPCOL, -957);\r\n---\r\n&gt; JTCOLCNT  NUMBER := 0;\r\n&gt; JTPOS     NUMBER := 1;\r\n&gt; I         NUMBER := 0;\r\n&gt; PATHSTEPPED BOOLEAN := FALSE;\r\n&gt; FROMVIEW    BOOLEAN;\r\n552a983\r\n&gt;   ERRST := STRSTK();\r\n555,557c986,987\r\n&lt;   DBMS_LOB.CREATETEMPORARY(RELDDL,TRUE,DBMS_LOB.SESSION);\r\n&lt;   DBMS_LOB.CREATETEMPORARY(JSNDDL,TRUE,DBMS_LOB.SESSION);\r\n&lt;   DBMS_LOB.CREATETEMPORARY(DDL,TRUE,DBMS_LOB.SESSION);\r\n---\r\n&gt;   DBMS_LOB.CREATETEMPORARY(RELDDL,TRUE,DBMS_LOB.CALL);\r\n&gt;   DBMS_LOB.CREATETEMPORARY(JSNDDL,TRUE,DBMS_LOB.CALL);\r\n560c990,997\r\n&lt;   BUILDJCOLS(PROPS, '$', FIRSTJCOL, JSNDDL, MAXVC, ERRST, RCSTK, COLCNT);\r\n---\r\n&gt;   IF (VNAME IS NULL) THEN\r\n&gt;     FROMVIEW := FALSE;\r\n&gt;   ELSE\r\n&gt;     FROMVIEW := TRUE;\r\n&gt;   END IF;\r\n&gt;   BUILDJCOLS(PROPS, '$', FIRSTJCOL, JSNDDL, MAXVC, ERRST, RCSTK, COLCNT,\r\n&gt;              JTCOLCNT, JTPOS, CNAME, STEPS, 1, TRUE, FALSE, PATHSTEPPED,\r\n&gt;              IGNOREERROR, COLNAMEPREFIX, MIXEDCASECOLUMNS, FROMVIEW);\r\n563c1000,1004\r\n&lt;   COLCNT := COLCNT - RELCOLCNT;\r\n---\r\n&gt;   IF ((STEPS.COUNT &gt; 0) AND (NOT PATHSTEPPED)) THEN\r\n&gt;     DBMS_LOB.FREETEMPORARY(RELDDL);\r\n&gt;     DBMS_LOB.FREETEMPORARY(JSNDDL);\r\n&gt;     SYS.DBMS_JSON0.RAISEERROR(-40589, PATH);\r\n&gt;   END IF;\r\n566,567c1007,1011\r\n&lt;   IF (RELCOLCNT = 0 AND COLCNT = 0) THEN\r\n&lt;     RETURN;\r\n---\r\n&gt;   IF (ERRST.FIRST IS NOT NULL) THEN\r\n&gt;     DBMS_LOB.FREETEMPORARY(RELDDL);\r\n&gt;     DBMS_LOB.FREETEMPORARY(JSNDDL);\r\n&gt;     COLERRSTR(ERRST,ERRSTR);\r\n&gt;     SYS.DBMS_JSON0.RAISEERROR(-40593, ERRSTR);\r\n571,577c1015,1022\r\n&lt;   IF (MATERIALIZE) THEN\r\n&lt;     DDL := 'CREATE MATERIALIZED VIEW ';\r\n&lt;     IF (SYS.DBMS_JSON0.CHECKPK(OWNER, TNAME)) THEN\r\n&lt;       HASPK := TRUE;\r\n&lt;     END IF;\r\n&lt;   ELSE\r\n&lt;     DDL := 'CREATE OR REPLACE VIEW ';\r\n---\r\n&gt;\r\n&gt;   JTCOLCNT := COLCNT - RELCOLCNT;\r\n&gt;\r\n&gt;\r\n&gt;   IF (RELCOLCNT = 0 AND JTCOLCNT = 0) THEN\r\n&gt;     DBMS_LOB.FREETEMPORARY(RELDDL);\r\n&gt;     DBMS_LOB.FREETEMPORARY(JSNDDL);\r\n&gt;     RETURN;\r\n579,580c1024\r\n&lt;   DDL := DDL||DBMS_ASSERT.ENQUOTE_NAME(OWNER,FALSE)||'.';\r\n&lt;   DDL := DDL||DBMS_ASSERT.ENQUOTE_NAME(VNAME,FALSE);\r\n---\r\n&gt;\r\n582,583c1026,1047\r\n&lt;   IF (MATERIALIZE) THEN\r\n&lt;     DDL := DDL||'BUILD IMMEDIATE REFRESH FAST ON STATEMENT WITH ';\r\n---\r\n&gt;   IF (FROMVIEW) THEN\r\n&gt;     IF (MATERIALIZE) THEN\r\n&gt;       DDL := 'CREATE MATERIALIZED VIEW ';\r\n&gt;       IF (SYS.DBMS_JSON0.CHECKPK(OWNER, TNAME)) THEN\r\n&gt;         HASPK := TRUE;\r\n&gt;       END IF;\r\n&gt;     ELSE\r\n&gt;       DDL := 'CREATE OR REPLACE VIEW ';\r\n&gt;     END IF;\r\n&gt;     DDL := DDL||DBMS_ASSERT.ENQUOTE_NAME(OWNER,FALSE)||'.';\r\n&gt;     DDL := DDL||DBMS_ASSERT.ENQUOTE_NAME(VNAME,FALSE);\r\n&gt;\r\n&gt;     IF (MATERIALIZE) THEN\r\n&gt;       DDL := DDL||'BUILD IMMEDIATE REFRESH FAST ON ';\r\n&gt;       IF (MVMODE = MV_REFRESH_ON_STATEMENT) THEN\r\n&gt;         DDL := DDL || 'STATEMENT ';\r\n&gt;       ELSIF (MVMODE = MV_REFRESH_ON_COMMIT) THEN\r\n&gt;         DDL := DDL || 'COMMIT ';\r\n&gt;       ELSE\r\n&gt;         DDL := DDL || 'DEMAND ';\r\n&gt;     END IF;\r\n&gt;     DDL := DDL || 'WITH ';\r\n589,590c1053,1059\r\n&lt;   END IF;\r\n&lt;   DDL := DDL||' AS SELECT ';\r\n---\r\n&gt;     END IF;\r\n&gt;     DDL := DDL||' AS ';\r\n&gt;   ELSE\r\n&gt;     DDL := '';\r\n&gt;   END IF;\r\n&gt;\r\n&gt;   DDL := DDL||'SELECT ';\r\n600,604c1069,1071\r\n&lt;   IF (COLCNT = 0) THEN\r\n&lt;   BEGIN\r\n&lt;     DDL := DDL||'FROM '||DBMS_ASSERT.ENQUOTE_NAME(OWNER,FALSE);\r\n&lt;     DDL := DDL||'.'||DBMS_ASSERT.ENQUOTE_NAME(TNAME,FALSE)||' RT ';\r\n&lt;   END;\r\n---\r\n&gt;   IF (JTCOLCNT = 0) THEN\r\n&gt;     DDL := DDL||CHR(10)||'FROM '||DBMS_ASSERT.ENQUOTE_NAME(OWNER,FALSE);\r\n&gt;     DDL := DDL||'.'||DBMS_ASSERT.ENQUOTE_NAME(TNAME,FALSE)||' RT';\r\n609,611c1076,1089\r\n&lt;     DDL := DDL||'JT.* FROM '||DBMS_ASSERT.ENQUOTE_NAME(OWNER,FALSE);\r\n&lt;     DDL := DDL||'.'||DBMS_ASSERT.ENQUOTE_NAME(TNAME, FALSE)||' RT ';\r\n&lt;     DDL := DDL||', JSON_TABLE(';\r\n---\r\n&gt;     IF (JTPOS &gt; 1) THEN\r\n&gt;      FOR I IN 1..JTPOS\r\n&gt;      LOOP\r\n&gt;        IF (I &gt; 1) THEN\r\n&gt;          DDL := DDL||',';\r\n&gt;        END IF;\r\n&gt;        DDL := DDL||'JT'||I||'.*';\r\n&gt;      END LOOP;\r\n&gt;     ELSE\r\n&gt;      DDL := DDL||'JT.*';\r\n&gt;     END IF;\r\n&gt;     DDL := DDL||CHR(10)||'FROM '||DBMS_ASSERT.ENQUOTE_NAME(OWNER,FALSE);\r\n&gt;     DDL := DDL||'.'||DBMS_ASSERT.ENQUOTE_NAME(TNAME, FALSE)||' RT,';\r\n&gt;     DDL := DDL||CHR(10)||'JSON_TABLE(';\r\n613c1091\r\n&lt;     DDL := DDL||' FORMAT JSON, ''$'' COLUMNS ';\r\n---\r\n&gt;     DDL := DDL||', ''$[*]'' COLUMNS ';\r\n615,639c1093,1097\r\n&lt;     DDL := DDL||')JT';\r\n&lt;   END IF;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;   COLCNT := COLCNT + RELCOLCNT;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;   IF (COLCNT &lt;= 0) THEN\r\n&lt;     RETURN;\r\n&lt;   END IF;\r\n&lt;\r\n&lt;   EXECUTE IMMEDIATE DDL;\r\n&lt;\r\n&lt;   IF (RESOURCEPATH IS NOT NULL) THEN\r\n&lt;   BEGIN\r\n&lt;\r\n&lt;\r\n&lt;     EXECUTE IMMEDIATE 'declare cresRet boolean; begin cresRet := dbms_xdb.createresource(:resourcePath, :ddl); end;' USING RESOURCEPATH, DDL;\r\n&lt;   EXCEPTION\r\n&lt;     WHEN OTHERS THEN\r\n&lt;       NULL;\r\n&lt;   END;\r\n---\r\n&gt;     IF (JTPOS &gt; 1) THEN\r\n&gt;       DDL := DDL||') JT'||TO_CHAR(JTPOS);\r\n&gt;     ELSE\r\n&gt;       DDL := DDL||')JT';\r\n&gt;     END IF;\r\n642,654c1100\r\n&lt;   EXCEPTION\r\n&lt;     WHEN DUPCOL THEN\r\n&lt;       BEGIN\r\n&lt;         COLERRSTR(ERRST,ERRSTR);\r\n&lt;\r\n&lt;         DBMS_LOB.FREETEMPORARY(RELDDL);\r\n&lt;         DBMS_LOB.FREETEMPORARY(JSNDDL);\r\n&lt;         DBMS_LOB.FREETEMPORARY(DDL);\r\n&lt;         SYS.DBMS_JSON0.RAISEERROR(-40593, ERRSTR);\r\n&lt;       END;\r\n&lt;\r\n&lt;\r\n&lt;   DBMS_LOB.FREETEMPORARY(RELDDL);\r\n---\r\n&gt;   DBMS_LOB.FREETEMPORARY(RELDDL);\r\n656d1101\r\n&lt;   DBMS_LOB.FREETEMPORARY(DDL);\r\n658d1102\r\n&lt;   RETURN;\r\n680,682c1124,1125\r\n&lt;                    PATH VARCHAR2,\r\n&lt;                    TYP VARCHAR2,\r\n&lt;                    ADDNEW BOOLEAN,\r\n---\r\n&gt;                    PATH   VARCHAR2,\r\n&gt;                    TYP    VARCHAR2,\r\n684c1127,1131\r\n&lt;                    ERRST IN OUT STRSTK)\r\n---\r\n&gt;                    ERRST IN OUT STRSTK,\r\n&gt;                    COLCNT IN OUT NUMBER,\r\n&gt;                    IGNOREERROR      BOOLEAN,\r\n&gt;                    COLNAMEPREFIX    VARCHAR2,\r\n&gt;                    MIXEDCASECOLUMNS BOOLEAN)\r\n686,687c1133\r\n&lt;   NEW    BOOLEAN := ADDNEW;\r\n&lt;   OKNAME BOOLEAN;\r\n---\r\n&gt;   RCLST  STRSTK;\r\n692d1137\r\n&lt;   VC     VARCHAR2(130);\r\n694c1139,1141\r\n&lt;   VCEXISTS EXCEPTION;\r\n---\r\n&gt;   VCEXISTS BOOLEAN := FALSE;\r\n&gt;   KVCNAMEEXISTS EXCEPTION;\r\n&gt;   KVCEXISTS EXCEPTION;\r\n696c1143,1144\r\n&lt;   PRAGMA EXCEPTION_INIT(VCEXISTS, -1430);\r\n---\r\n&gt;   PRAGMA EXCEPTION_INIT(KVCNAMEEXISTS, -1430);\r\n&gt;   PRAGMA EXCEPTION_INIT(KVCEXISTS, -54015);\r\n701c1149,1150\r\n&lt;     SYS.DBMS_JSON0.RAISEERRORMESG(-40594, 'missing \"o:preferred_column_name\"');\r\n---\r\n&gt;     SYS.DBMS_JSON0.RAISEERROR(-40594,\r\n&gt;                    'missing \"o:preferred_column_name\" in ' || PATH);\r\n706,719c1155,1156\r\n&lt;   VC := PRVCNM;\r\n&lt;   PRVCNM := VCERRCHECK(PRVCNM);\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;   OKNAME := SYS.DBMS_JSON0.CHECKVCNAME(VC, OWNER, TNAME, CNAME);\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;   IF (OKNAME = FALSE) THEN\r\n&lt;     PUSHSTR(ERRST, VC);\r\n&lt;\r\n&lt;     RETURN;\r\n&lt;   END IF;\r\n---\r\n&gt;   PRVCNM := PATCHVCNAME(PRVCNM, OWNER, TNAME, ERRST, RCLST, COLCNT, FALSE,\r\n&gt;                         IGNOREERROR, COLNAMEPREFIX, MIXEDCASECOLUMNS);\r\n727,731c1164\r\n&lt;   IF (ADDNEW = TRUE) THEN\r\n&lt;     VCSTMT := VCSTMT || ' add ';\r\n&lt;   ELSE\r\n&lt;     VCSTMT := VCSTMT || ' modify ';\r\n&lt;   END IF;\r\n---\r\n&gt;   VCSTMT := VCSTMT || ' add ';\r\n744,745c1177\r\n&lt;     WHEN VCEXISTS THEN\r\n&lt;     BEGIN\r\n---\r\n&gt;     WHEN KVCEXISTS OR KVCNAMEEXISTS THEN\r\n747,750c1179,1181\r\n&lt;       CREATEVC(OWNER, TNAME, CNAME, PROPOBJ, PATH, TYP, FALSE, LIMITREACHED,\r\n&lt;                ERRST);\r\n&lt;       NEW := FALSE;\r\n&lt;     END;\r\n---\r\n&gt;\r\n&gt;\r\n&gt;       VCEXISTS := TRUE;\r\n760c1191\r\n&lt;   IF (NEW = TRUE AND LIMITREACHED = FALSE) THEN\r\n---\r\n&gt;   IF (VCEXISTS = FALSE AND LIMITREACHED = FALSE) THEN\r\n792a1224\r\n&gt;                   MAXVC NUMBER,\r\n794c1226,1230\r\n&lt;                   ERRST IN OUT STRSTK)\r\n---\r\n&gt;                   ERRST IN OUT STRSTK,\r\n&gt;                   COLCNT IN OUT NUMBER,\r\n&gt;                   IGNOREERROR      BOOLEAN,\r\n&gt;                   COLNAMEPREFIX    VARCHAR2,\r\n&gt;                   MIXEDCASECOLUMNS BOOLEAN)\r\n809d1244\r\n&lt; ARRAYTYPED    BOOLEAN := FALSE;\r\n847c1282,1284\r\n&lt;         ADDVC_H(OWNER, TABLENAME, COLNAME, PATH, TEMPOBJ, LIMITREACHED, ERRST);\r\n---\r\n&gt;         ADDVC_H(OWNER, TABLENAME, COLNAME, PATH, TEMPOBJ, MAXVC,\r\n&gt;                 LIMITREACHED, ERRST, COLCNT,\r\n&gt;                 IGNOREERROR, COLNAMEPREFIX, MIXEDCASECOLUMNS);\r\n857c1294\r\n&lt;       SYS.DBMS_JSON0.RAISEERRORMESG(-40594,\r\n---\r\n&gt;       SYS.DBMS_JSON0.RAISEERROR(-40594,\r\n868,869c1305,1306\r\n&lt;       SYS.DBMS_JSON0.RAISEERRORMESG(-40594,\r\n&lt;           COLKEYS(I) || ' has invalid \"type\" value');\r\n---\r\n&gt;       SYS.DBMS_JSON0.RAISEERROR(-40594,\r\n&gt;           COLKEYS(I) || ' has invalid type ' || TYP);\r\n873,886c1310\r\n&lt;     IF (PROPOBJ.HAS('o:length') = FALSE) THEN\r\n&lt;       SYS.DBMS_JSON0.RAISEERRORMESG(-40594,\r\n&lt;         COLKEYS(I) || ' is missing o:length property');\r\n&lt;     END IF;\r\n&lt;\r\n&lt;\r\n&lt;     IF (PROPOBJ.HAS('o:length') = TRUE AND\r\n&lt;         PROPOBJ.GET('o:length').IS_NUMBER = FALSE) THEN\r\n&lt;       SYS.DBMS_JSON0.RAISEERRORMESG(-40594,\r\n&lt;           COLKEYS(I) || ': \"o:length\" is not a number');\r\n&lt;     END IF;\r\n&lt;\r\n&lt;\r\n&lt;     IF (PROPOBJ.GET_STRING('type') = 'object') THEN\r\n---\r\n&gt;     IF (TYP = 'object') THEN\r\n894c1318,1319\r\n&lt;               PROPSOBJ, LIMITREACHED, ERRST);\r\n---\r\n&gt;               PROPSOBJ, MAXVC, LIMITREACHED, ERRST, COLCNT,\r\n&gt;               IGNOREERROR, COLNAMEPREFIX, MIXEDCASECOLUMNS);\r\n897c1322\r\n&lt;     ELSIF (PROPOBJ.GET_STRING('type') = 'number') THEN\r\n---\r\n&gt;     ELSIF (TYP = 'number') THEN\r\n899,907c1324,1341\r\n&lt;                PATH||'.'||ESCAPEPATHSTEP(COLKEYS(I)), 'number',\r\n&lt;                TRUE, LIMITREACHED, ERRST);\r\n&lt;\r\n&lt;     ELSIF (PROPOBJ.GET_STRING('type') = 'string' OR\r\n&lt;            PROPOBJ.GET_STRING('type') = 'boolean' OR\r\n&lt;            PROPOBJ.GET_STRING('type') = 'null') THEN\r\n&lt;       CREATEVC(OWNER, TNAME, CNAME, PROPOBJ, PATH||'.'||ESCAPEPATHSTEP(COLKEYS(I)),\r\n&lt;                'varchar2('|| PROPOBJ.GET_STRING('o:length')||')', TRUE,\r\n&lt;                LIMITREACHED, ERRST);\r\n---\r\n&gt;                PATH||'.'||ESCAPEPATHSTEP(COLKEYS(I)), TYP,\r\n&gt;                LIMITREACHED, ERRST, COLCNT,\r\n&gt;                IGNOREERROR, COLNAMEPREFIX, MIXEDCASECOLUMNS);\r\n&gt;\r\n&gt;     ELSIF (TYP = 'string' OR TYP = 'boolean' OR TYP = 'null') THEN\r\n&gt;       VALIDATELENGTH(PROPOBJ, COLKEYS(I));\r\n&gt;       IF (PROPOBJ.GET_NUMBER('o:length') &lt;= MAXVC) THEN\r\n&gt;         CREATEVC(OWNER, TNAME, CNAME, PROPOBJ,\r\n&gt;                  PATH||'.'||ESCAPEPATHSTEP(COLKEYS(I)),\r\n&gt;                  'varchar2('|| PROPOBJ.GET_STRING('o:length')||')',\r\n&gt;                  LIMITREACHED, ERRST, COLCNT,\r\n&gt;                  IGNOREERROR, COLNAMEPREFIX, MIXEDCASECOLUMNS);\r\n&gt;       ELSE\r\n&gt;         CREATEVC(OWNER, TNAME, CNAME, PROPOBJ,\r\n&gt;                PATH||'.'||ESCAPEPATHSTEP(COLKEYS(I)), 'clob',\r\n&gt;                LIMITREACHED, ERRST, COLCNT,\r\n&gt;                IGNOREERROR, COLNAMEPREFIX, MIXEDCASECOLUMNS);\r\n&gt;       END IF;\r\n909c1343\r\n&lt;     ELSIF (PROPOBJ.GET_STRING('type') = 'GeoJSON') THEN\r\n---\r\n&gt;     ELSIF (TYP = 'GeoJSON') THEN\r\n912c1346,1347\r\n&lt;                TRUE, LIMITREACHED, ERRST);\r\n---\r\n&gt;                LIMITREACHED, ERRST, COLCNT,\r\n&gt;                IGNOREERROR, COLNAMEPREFIX, MIXEDCASECOLUMNS);\r\n1051,1059c1486,1496\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt; PROCEDURE CREATE_VIEW(VIEWNAME VARCHAR2,\r\n&lt;                       TABLENAME VARCHAR2,\r\n&lt;                       JCOLNAME VARCHAR2,\r\n&lt;                       DATAGUIDE CLOB,\r\n&lt;                       RESOURCEPATH VARCHAR2 DEFAULT NULL,\r\n&lt;                       MATERIALIZE BOOLEAN DEFAULT FALSE)\r\n---\r\n&gt; FUNCTION GET_VIEW_SQL_H(VNAME  VARCHAR2,\r\n&gt;                         TABLENAME VARCHAR2,\r\n&gt;                         JCOLNAME  VARCHAR2,\r\n&gt;                         DATAGUIDE CLOB,\r\n&gt;                         MATERIALIZE    BOOLEAN,\r\n&gt;                         MVREFRESHMODE  NUMBER,\r\n&gt;                         PATH                    VARCHAR2,\r\n&gt;                         RESOLVENAMECONFLICTS    BOOLEAN,\r\n&gt;                         COLNAMEPREFIX           VARCHAR2,\r\n&gt;                         MIXEDCASECOLUMNS        BOOLEAN)\r\n&gt; RETURN CLOB\r\n1062d1498\r\n&lt; VNAME VARCHAR2(130);\r\n1066,1071c1502,1503\r\n&lt; ERRST STRSTK;\r\n&lt; ERRSTR VARCHAR2(4000);\r\n&lt; CRESRET BOOLEAN;\r\n&lt; COLCNT NUMBER := 0;\r\n&lt; DUPCOL EXCEPTION;\r\n&lt; PRAGMA EXCEPTION_INIT(DUPCOL, -957);\r\n---\r\n&gt; STEPS STEPTAB;\r\n&gt; DDL   CLOB;\r\n1077d1508\r\n&lt;   VNAME := ARGERRCHECK(VIEWNAME);\r\n1081,1082c1512,1517\r\n&lt;\r\n&lt;\r\n---\r\n&gt;\r\n&gt;   IF (MVREFRESHMODE NOT IN (MV_REFRESH_ON_STATEMENT,\r\n&gt;                     MV_REFRESH_ON_COMMIT, MV_REFRESH_ON_DEMAND)) THEN\r\n&gt;     SYS.DBMS_JSON0.RAISEERROR(-40837);\r\n&gt;   END IF;\r\n&gt;\r\n1087d1521\r\n&lt;   ERRST := STRSTK();\r\n1089,1090c1523,1555\r\n&lt;   BUILDCREATEVIEW(UNAME, VNAME, TNAME, CNAME, DGPROPS, ERRST,\r\n&lt;                   ERRSTR, COLCNT, RESOURCEPATH, MATERIALIZE);\r\n---\r\n&gt;   STEPS := STEPTAB();\r\n&gt;   PARSEJSONPATH(PATH, STEPS);\r\n&gt;\r\n&gt;   DBMS_LOB.CREATETEMPORARY(DDL,TRUE,DBMS_LOB.SESSION);\r\n&gt;\r\n&gt;   BUILDCREATEVIEW(UNAME, VNAME, TNAME, CNAME, DGPROPS, DDL,\r\n&gt;                   MATERIALIZE, MVREFRESHMODE, PATH, STEPS,\r\n&gt;                   RESOLVENAMECONFLICTS, COLNAMEPREFIX, MIXEDCASECOLUMNS);\r\n&gt;   RETURN DDL;\r\n&gt;\r\n&gt; END;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt; PROCEDURE CREATE_VIEW(VIEWNAME VARCHAR2,\r\n&gt;                       TABLENAME VARCHAR2,\r\n&gt;                       JCOLNAME VARCHAR2,\r\n&gt;                       DATAGUIDE CLOB,\r\n&gt;                       RESOURCEPATH  VARCHAR2 DEFAULT NULL,\r\n&gt;                       MATERIALIZE   BOOLEAN  DEFAULT FALSE,\r\n&gt;                       MVREFRESHMODE NUMBER   DEFAULT MV_REFRESH_ON_STATEMENT,\r\n&gt;                       PATH                    VARCHAR2 DEFAULT '$',\r\n&gt;                       RESOLVENAMECONFLICTS    BOOLEAN  DEFAULT FALSE,\r\n&gt;                       COLNAMEPREFIX           VARCHAR2 DEFAULT NULL,\r\n&gt;                       MIXEDCASECOLUMNS        BOOLEAN DEFAULT FALSE)\r\n&gt; IS\r\n&gt; VNAME       VARCHAR2(130);\r\n&gt; DDL         CLOB;\r\n&gt; BEGIN\r\n&gt;\r\n&gt;   VNAME := ARGERRCHECK(VIEWNAME);\r\n&gt;\r\n1091a1557,1616\r\n&gt;   DDL := GET_VIEW_SQL_H(VNAME, TABLENAME, JCOLNAME, DATAGUIDE, MATERIALIZE,\r\n&gt;                       MVREFRESHMODE, PATH, RESOLVENAMECONFLICTS, COLNAMEPREFIX,\r\n&gt;                       MIXEDCASECOLUMNS);\r\n&gt;\r\n&gt;   IF (DBMS_LOB.COMPARE(DDL, EMPTY_CLOB()) = 0) THEN\r\n&gt;     RETURN;\r\n&gt;   END IF;\r\n&gt;\r\n&gt;   BEGIN\r\n&gt;     EXECUTE IMMEDIATE DDL;\r\n&gt;\r\n&gt;   EXCEPTION\r\n&gt;     WHEN OTHERS THEN\r\n&gt;       DBMS_OUTPUT.PUT_LINE('DDL:['||DDL||']');\r\n&gt;\r\n&gt;       DBMS_LOB.FREETEMPORARY(DDL);\r\n&gt;       RAISE;\r\n&gt;   END;\r\n&gt;\r\n&gt;   IF (RESOURCEPATH IS NOT NULL) THEN\r\n&gt;   BEGIN\r\n&gt;\r\n&gt;\r\n&gt;     EXECUTE IMMEDIATE\r\n&gt;       'declare cresRet boolean;\r\n&gt;        begin cresRet := dbms_xdb.createresource(:resourcePath, :ddl);\r\n&gt;        end;' USING RESOURCEPATH, DDL;\r\n&gt;   EXCEPTION\r\n&gt;     WHEN OTHERS THEN\r\n&gt;\r\n&gt;       DBMS_LOB.FREETEMPORARY(DDL);\r\n&gt;   END;\r\n&gt;   END IF;\r\n&gt;\r\n&gt;\r\n&gt;   DBMS_LOB.FREETEMPORARY(DDL);\r\n&gt;   RETURN;\r\n&gt;\r\n&gt; END;\r\n&gt;\r\n&gt; FUNCTION GET_VIEW_SQL(VIEWNAME  VARCHAR2,\r\n&gt;                       TABLENAME VARCHAR2,\r\n&gt;                       JCOLNAME  VARCHAR2,\r\n&gt;                       DATAGUIDE CLOB,\r\n&gt;                       MATERIALIZE    BOOLEAN  DEFAULT FALSE,\r\n&gt;                       MVREFRESHMODE  NUMBER   DEFAULT MV_REFRESH_ON_STATEMENT,\r\n&gt;                       PATH                    VARCHAR2 DEFAULT '$',\r\n&gt;                       RESOLVENAMECONFLICTS    BOOLEAN  DEFAULT FALSE,\r\n&gt;                       COLNAMEPREFIX           VARCHAR2 DEFAULT NULL,\r\n&gt;                       MIXEDCASECOLUMNS        BOOLEAN DEFAULT FALSE)\r\n&gt; RETURN CLOB\r\n&gt; IS\r\n&gt;   VNAME       VARCHAR2(130);\r\n&gt; BEGIN\r\n&gt;\r\n&gt;   VNAME := NORMALIZEARG(VIEWNAME);\r\n&gt;\r\n&gt;   RETURN GET_VIEW_SQL_H(VNAME, TABLENAME, JCOLNAME, DATAGUIDE, MATERIALIZE,\r\n&gt;                       MVREFRESHMODE, PATH, RESOLVENAMECONFLICTS, COLNAMEPREFIX,\r\n&gt;                       MIXEDCASECOLUMNS);\r\n1103c1628,1630\r\n&lt;                               MATERIALIZE BOOLEAN DEFAULT FALSE)\r\n---\r\n&gt;                               MATERIALIZE BOOLEAN DEFAULT FALSE,\r\n&gt;                               MVREFRESHMODE NUMBER\r\n&gt;                                             DEFAULT MV_REFRESH_ON_STATEMENT)\r\n1110a1638\r\n&gt; STEPS STEPTAB;\r\n1122a1651,1659\r\n&gt;   IF (MVREFRESHMODE NOT IN (MV_REFRESH_ON_STATEMENT,\r\n&gt;                     MV_REFRESH_ON_COMMIT, MV_REFRESH_ON_DEMAND)) THEN\r\n&gt;     SYS.DBMS_JSON0.RAISEERROR(-40837);\r\n&gt;   END IF;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n1125c1662\r\n&lt;                                  MATERIALIZE);\r\n---\r\n&gt;                                  MATERIALIZE, MVREFRESHMODE);\r\n1135c1672,1675\r\n&lt;                               DATAGUIDE CLOB)\r\n---\r\n&gt;                               DATAGUIDE CLOB,\r\n&gt;                               RESOLVENAMECONFLICTS BOOLEAN  DEFAULT FALSE,\r\n&gt;                               COLNAMEPREFIX        VARCHAR2 DEFAULT NULL,\r\n&gt;                               MIXEDCASECOLUMNS     BOOLEAN DEFAULT FALSE)\r\n1141a1682\r\n&gt; MAXVC NUMBER;\r\n1143a1685\r\n&gt; COLCNT NUMBER := 0;\r\n1158c1700,1703\r\n&lt;   ADDVC_H(UNAME, TNAME, CNAME, '$', DGPROPS, LIMITREACHED, ERRST);\r\n---\r\n&gt;   MAXVC := SYS.DBMS_JSON0.GETMAXVCSIZE();\r\n&gt;   ADDVC_H(UNAME, TNAME, CNAME, '$', DGPROPS, MAXVC, LIMITREACHED,\r\n&gt;           ERRST, COLCNT,\r\n&gt;           RESOLVENAMECONFLICTS, COLNAMEPREFIX, MIXEDCASECOLUMNS);\r\n1160,1164c1705,1709\r\n&lt;   IF (ERRST.COUNT &gt; 0) THEN\r\n&lt;   BEGIN\r\n&lt;     COLERRSTR(ERRST,ERRSTR);\r\n&lt;     SYS.DBMS_JSON0.RAISEERROR(-40592, ERRSTR);\r\n&lt;   END;\r\n---\r\n&gt;   IF (ERRST.FIRST IS NOT NULL) THEN\r\n&gt;     BEGIN\r\n&gt;       COLERRSTR(ERRST,ERRSTR);\r\n&gt;       SYS.DBMS_JSON0.RAISEERROR(-40592, ERRSTR);\r\n&gt;     END;\r\n<\/pre>\n<div id=\"XDB.DBMS_JSON_INT.PACKAGE BODY.19.0.0.0_RU\">XDB.DBMS_JSON_INT &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n92c92,93\r\n&lt;                            MATERIALIZE BOOLEAN)\r\n---\r\n&gt;                            MATERIALIZE BOOLEAN,\r\n&gt;                            MVREFRESHMODE NUMBER)\r\n127c128,130\r\n&lt;               MATERIALIZE            INDICATOR SB4\r\n---\r\n&gt;               MATERIALIZE            INDICATOR SB4,\r\n&gt;               MVREFRESHMODE              OCINUMBER,\r\n&gt;               MVREFRESHMODE          INDICATOR SB4\r\n<\/pre>\n<div id=\"XDB.DBMS_SODA_ADMIN.PACKAGE BODY.19.0.0.0_RU\">XDB.DBMS_SODA_ADMIN &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n5a6,7\r\n&gt;\r\n&gt;   MAX_BINARY_SIZE                 CONSTANT VARCHAR2(50) := '32m';\r\n58a61,62\r\n&gt;   V_COMPATIBLE NUMBER := NULL;\r\n&gt;   V_SERVICE VARCHAR2(200) := NULL;\r\n301c305,306\r\n&lt;     IF (P_CONTENT_COLUMN_TYPE IN ('CLOB', 'NCLOB', 'BLOB')) THEN\r\n---\r\n&gt;     IF ((P_CONTENT_COLUMN_TYPE IN ('CLOB', 'NCLOB', 'BLOB')) AND\r\n&gt;         (P_CONTENT_COLUMN_JSON_FORMAT IS NULL)) THEN\r\n314,315c319,322\r\n&lt;     P_DESCRIPTOR := P_DESCRIPTOR||','||QUOTE_JSON_VALUE('validation')||\r\n&lt;                     ':'||QUOTE_JSON_VALUE(P_CONTENT_VALIDATION);\r\n---\r\n&gt;     IF (P_CONTENT_VALIDATION IS NOT NULL) THEN\r\n&gt;       P_DESCRIPTOR := P_DESCRIPTOR||','||QUOTE_JSON_VALUE('validation')||\r\n&gt;                       ':'||QUOTE_JSON_VALUE(P_CONTENT_VALIDATION);\r\n&gt;     END IF;\r\n623,626c630,691\r\n&lt;\r\n&lt;   PROCEDURE AJD_SETTINGS(P_CONTENT_COLUMN_JSON_FORMAT  OUT VARCHAR2,\r\n&lt;                          P_SIZE_LIMIT                  OUT VARCHAR2,\r\n&lt;                          P_URI_NAME                    IN NVARCHAR2,\r\n---\r\n&gt;   PROCEDURE ENFORCE_ATP_AND_ADW_SETTINGS(P_CONTENT_COLUMN_TYPE         IN VARCHAR2,\r\n&gt;                                  P_CONTENT_COLUMN_LEN          IN NUMBER,\r\n&gt;                                  P_CONTENT_VALIDATION          IN VARCHAR2,\r\n&gt;                                  P_CONTENT_LOB_COMPRESS        IN VARCHAR2,\r\n&gt;                                  P_CONTENT_LOB_CACHE           IN VARCHAR2,\r\n&gt;                                  P_CONTENT_LOB_ENCRYPT         IN VARCHAR2,\r\n&gt;                                  P_CONTENT_LOB_TS              IN VARCHAR2)\r\n&gt;   IS\r\n&gt;   BEGIN\r\n&gt;\r\n&gt;\r\n&gt;       IF ((P_CONTENT_COLUMN_TYPE &lt;&gt; 'BLOB') AND\r\n&gt;           (DBMS_SODA_ADMIN.V_COMPATIBLE &lt; 20)) THEN\r\n&gt;         SYS.DBMS_SODA_UTIL.RAISE_SYSTEM_ERROR(-40774,\r\n&gt;           'contentColumn.sqlType',\r\n&gt;           P_CONTENT_COLUMN_TYPE,\r\n&gt;           'BLOB');\r\n&gt;\r\n&gt;\r\n&gt;       ELSIF ((P_CONTENT_COLUMN_TYPE &lt;&gt; 'JSON') AND\r\n&gt;              (P_CONTENT_COLUMN_TYPE &lt;&gt; 'BLOB') AND\r\n&gt;              (DBMS_SODA_ADMIN.V_COMPATIBLE &gt;= 20)) THEN\r\n&gt;         SYS.DBMS_SODA_UTIL.RAISE_SYSTEM_ERROR(-40774,\r\n&gt;           'contentColumn.sqlType',\r\n&gt;           P_CONTENT_COLUMN_TYPE,\r\n&gt;           'JSON, BLOB');\r\n&gt;       ELSIF (P_CONTENT_COLUMN_LEN &lt;&gt; 0) THEN\r\n&gt;         SYS.DBMS_SODA_UTIL.RAISE_SYSTEM_ERROR(-40774,\r\n&gt;           'contentColumn.maxLength',\r\n&gt;           TO_CHAR(P_CONTENT_COLUMN_LEN),\r\n&gt;           TO_CHAR(0));\r\n&gt;       ELSIF (P_CONTENT_VALIDATION IS NOT NULL) THEN\r\n&gt;         SYS.DBMS_SODA_UTIL.RAISE_SYSTEM_ERROR(-40774,\r\n&gt;           'contentColumn.validation',\r\n&gt;           P_CONTENT_VALIDATION,\r\n&gt;           'NULL');\r\n&gt;       ELSIF (P_CONTENT_LOB_COMPRESS IS NOT NULL) THEN\r\n&gt;         SYS.DBMS_SODA_UTIL.RAISE_SYSTEM_ERROR(-40774,\r\n&gt;           'contentColumn.compress',\r\n&gt;           P_CONTENT_LOB_COMPRESS,\r\n&gt;           'NULL');\r\n&gt;       ELSIF (P_CONTENT_LOB_CACHE IS NOT NULL) THEN\r\n&gt;         SYS.DBMS_SODA_UTIL.RAISE_SYSTEM_ERROR(-40774,\r\n&gt;           'contentColumn.cache',\r\n&gt;           P_CONTENT_LOB_CACHE,\r\n&gt;           'NULL');\r\n&gt;       ELSIF (P_CONTENT_LOB_ENCRYPT IS NOT NULL) THEN\r\n&gt;         SYS.DBMS_SODA_UTIL.RAISE_SYSTEM_ERROR(-40774,\r\n&gt;           'contentColumn.encrypt',\r\n&gt;           P_CONTENT_LOB_ENCRYPT,\r\n&gt;           'NULL');\r\n&gt;       ELSIF (P_CONTENT_LOB_TS IS NOT NULL) THEN\r\n&gt;         SYS.DBMS_SODA_UTIL.RAISE_SYSTEM_ERROR(-40774,\r\n&gt;           'contentColumn.tablespace',\r\n&gt;           P_CONTENT_LOB_TS,\r\n&gt;           'NULL');\r\n&gt;       END IF;\r\n&gt;\r\n&gt;   END ENFORCE_ATP_AND_ADW_SETTINGS;\r\n&gt;\r\n&gt;   PROCEDURE ENFORCE_AJD_SETTINGS(P_URI_NAME                    IN NVARCHAR2,\r\n&gt;                          P_CREATE_MODE                 IN VARCHAR2,\r\n660,661d724\r\n&lt;       P_CONTENT_COLUMN_JSON_FORMAT := 'OSON';\r\n&lt;       P_SIZE_LIMIT := '32m';\r\n665c728,730\r\n&lt;       IF (P_SCHEMA_NAME &lt;&gt; SYS_CONTEXT('USERENV','CURRENT_SCHEMA')) THEN\r\n---\r\n&gt;       IF (P_CREATE_MODE &lt;&gt; 'DDL') THEN\r\n&gt;         SYS.DBMS_SODA_UTIL.RAISE_SYSTEM_ERROR(-40826, P_CREATE_MODE);\r\n&gt;       ELSIF (P_SCHEMA_NAME &lt;&gt; SYS_CONTEXT('USERENV','CURRENT_SCHEMA')) THEN\r\n706a772,775\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n707a777\r\n&gt;              (P_KEY_ASSIGNMENT_METHOD &lt;&gt; 'CLIENT') AND\r\n712c782\r\n&lt;           'UUID, OID');\r\n---\r\n&gt;           'UUID, CLIENT');\r\n718,723d787\r\n&lt;       ELSIF ((P_KEY_ASSIGNMENT_METHOD = 'UUID') AND\r\n&lt;              (P_KEY_PATH IS NOT NULL)) THEN\r\n&lt;         SYS.DBMS_SODA_UTIL.RAISE_SYSTEM_ERROR(-40774,\r\n&lt;           'keyColumn.path',\r\n&lt;           P_KEY_PATH,\r\n&lt;           'NULL');\r\n734a799,805\r\n&gt;\r\n&gt;\r\n&gt;       ELSIF (P_MEDIA_TYPE_COLUMN_NAME IS NOT NULL) THEN\r\n&gt;         SYS.DBMS_SODA_UTIL.RAISE_SYSTEM_ERROR(-40774,\r\n&gt;           'mediaTypeColumn.name',\r\n&gt;           P_MEDIA_TYPE_COLUMN_NAME,\r\n&gt;           'NULL');\r\n740c811,814\r\n&lt;       ELSIF (P_CONTENT_COLUMN_TYPE &lt;&gt; 'BLOB') THEN\r\n---\r\n&gt;\r\n&gt;\r\n&gt;       ELSIF ((P_CONTENT_COLUMN_TYPE &lt;&gt; 'BLOB') AND\r\n&gt;              (DBMS_SODA_ADMIN.V_COMPATIBLE &lt; 20)) THEN\r\n744a819,827\r\n&gt;\r\n&gt;\r\n&gt;       ELSIF ((P_CONTENT_COLUMN_TYPE &lt;&gt; 'JSON') AND\r\n&gt;              (P_CONTENT_COLUMN_TYPE &lt;&gt; 'BLOB') AND\r\n&gt;              (DBMS_SODA_ADMIN.V_COMPATIBLE &gt;= 20)) THEN\r\n&gt;         SYS.DBMS_SODA_UTIL.RAISE_SYSTEM_ERROR(-40774,\r\n&gt;           'contentColumn.sqlType',\r\n&gt;           P_CONTENT_COLUMN_TYPE,\r\n&gt;           'JSON, BLOB');\r\n750c833\r\n&lt;       ELSIF (P_CONTENT_VALIDATION &lt;&gt; 'STANDARD') THEN\r\n---\r\n&gt;       ELSIF (P_CONTENT_VALIDATION IS NOT NULL) THEN\r\n754,755c837,838\r\n&lt;           'STANDARD');\r\n&lt;       ELSIF (P_CONTENT_LOB_COMPRESS &lt;&gt; 'NONE') THEN\r\n---\r\n&gt;           'NULL');\r\n&gt;       ELSIF (P_CONTENT_LOB_COMPRESS IS NOT NULL) THEN\r\n759,760c842,843\r\n&lt;           'NONE');\r\n&lt;       ELSIF (P_CONTENT_LOB_CACHE &lt;&gt; 'true') THEN\r\n---\r\n&gt;           'NULL');\r\n&gt;       ELSIF (P_CONTENT_LOB_CACHE IS NOT NULL) THEN\r\n764,765c847,848\r\n&lt;           'true');\r\n&lt;       ELSIF (P_CONTENT_LOB_ENCRYPT &lt;&gt; 'NONE') THEN\r\n---\r\n&gt;           'NULL');\r\n&gt;       ELSIF (P_CONTENT_LOB_ENCRYPT IS NOT NULL) THEN\r\n769c852\r\n&lt;           'NONE');\r\n---\r\n&gt;           'NULL');\r\n806c889\r\n&lt;       ELSIF (P_VERSIONING_METHOD &lt;&gt; 'SHA256') THEN\r\n---\r\n&gt;       ELSIF (P_VERSIONING_METHOD &lt;&gt; 'UUID') THEN\r\n810,815c893\r\n&lt;           'SHA256');\r\n&lt;       ELSIF (P_MEDIA_TYPE_COLUMN_NAME IS NOT NULL) THEN\r\n&lt;         SYS.DBMS_SODA_UTIL.RAISE_SYSTEM_ERROR(-40774,\r\n&lt;           'mediaTypeColumn.name',\r\n&lt;           P_MEDIA_TYPE_COLUMN_NAME,\r\n&lt;           'NULL');\r\n---\r\n&gt;           'UUID');\r\n845c923,942\r\n&lt;   END AJD_SETTINGS;\r\n---\r\n&gt;   END ENFORCE_AJD_SETTINGS;\r\n&gt;\r\n&gt;   FUNCTION CHANGE_SCHEMA(P_DESCRIPTOR IN VARCHAR2,\r\n&gt;                          P_SCHEMA IN VARCHAR2)\r\n&gt;     RETURN VARCHAR2\r\n&gt;   IS\r\n&gt;     V_DESCRIPTOR JSON_OBJECT_T;\r\n&gt;   BEGIN\r\n&gt;\r\n&gt;     IF (P_DESCRIPTOR IS NULL)\r\n&gt;     THEN\r\n&gt;       SYS.DBMS_SODA_UTIL.RAISE_SYSTEM_ERROR(-40801);\r\n&gt;     END IF;\r\n&gt;\r\n&gt;     V_DESCRIPTOR := JSON_OBJECT_T.PARSE(P_DESCRIPTOR);\r\n&gt;     V_DESCRIPTOR.PUT('schemaName', P_SCHEMA);\r\n&gt;\r\n&gt;     RETURN V_DESCRIPTOR.TO_STRING;\r\n&gt;\r\n&gt;   END CHANGE_SCHEMA;\r\n919c1016,1017\r\n&lt;     V_AJD                        BOOLEAN       := FALSE;\r\n---\r\n&gt;     V_DEFAULT_METADATA           BOOLEAN       := FALSE;\r\n&gt;     V_CONSTRAINT                 BOOLEAN       := TRUE;\r\n949a1048\r\n&gt;\r\n951c1050\r\n&lt;       SYS.DBMS_SODA_UTIL.CHECKCOMPAT();\r\n---\r\n&gt;       DBMS_SODA_ADMIN.V_COMPATIBLE := SYS.DBMS_SODA_UTIL.CHECKANDGETCOMPAT;\r\n958,960c1057,1059\r\n&lt;\r\n&lt;\r\n&lt;     V_AJD := SYS.DBMS_SODA_UTIL.ISJDCS;\r\n---\r\n&gt;     IF (V_SERVICE IS NULL) THEN\r\n&gt;       V_SERVICE := SYS.DBMS_SODA_UTIL.GETSERVICENAME;\r\n&gt;     END IF;\r\n1110c1209,1219\r\n&lt;       V_VERSIONING_METHOD := 'SHA256';\r\n---\r\n&gt;\r\n&gt;\r\n&gt;       IF ((V_SERVICE = 'JDCS') OR\r\n&gt;           (V_SERVICE = 'DWCS') OR\r\n&gt;           (V_SERVICE = 'OLTP') OR\r\n&gt;           (V_SERVICE = 'PAAS')) THEN\r\n&gt;         V_VERSIONING_METHOD := 'UUID';\r\n&gt;       ELSE\r\n&gt;         V_VERSIONING_METHOD := 'SHA256';\r\n&gt;       END IF;\r\n&gt;\r\n1112c1221,1226\r\n&lt;       V_CONTENT_LOB_CACHE := 'true';\r\n---\r\n&gt;       IF ((V_SERVICE &lt;&gt; 'JDCS') AND\r\n&gt;           (V_SERVICE &lt;&gt; 'DWCS') AND\r\n&gt;           (V_SERVICE &lt;&gt; 'OLTP') AND\r\n&gt;           (V_SERVICE &lt;&gt; 'PAAS')) THEN\r\n&gt;         V_CONTENT_LOB_CACHE := 'true';\r\n&gt;       END IF;\r\n1114a1229\r\n&gt;       V_DEFAULT_METADATA := TRUE;\r\n1169a1285\r\n&gt;\r\n1171c1287,1301\r\n&lt;       V_CONTENT_COLUMN_TYPE := 'BLOB';\r\n---\r\n&gt;       IF (V_MEDIA_TYPE_COLUMN_NAME IS NOT NULL) THEN\r\n&gt;         V_CONTENT_COLUMN_TYPE := 'BLOB';\r\n&gt;       ELSE\r\n&gt;         V_CONTENT_COLUMN_TYPE := 'BLOB';\r\n&gt;         IF ((V_SERVICE = 'JDCS') OR\r\n&gt;             (V_SERVICE = 'OLTP') OR\r\n&gt;             (V_SERVICE = 'DWCS') OR\r\n&gt;             (V_SERVICE = 'PAAS')) THEN\r\n&gt;           V_CONTENT_COLUMN_JSON_FORMAT := 'OSON';\r\n&gt;           V_SIZE_LIMIT := MAX_BINARY_SIZE;\r\n&gt;         ELSE\r\n&gt;           V_CONTENT_COLUMN_JSON_FORMAT := NULL;\r\n&gt;           V_SIZE_LIMIT := NULL;\r\n&gt;         END IF;\r\n&gt;       END IF;\r\n1187a1318,1328\r\n&gt;       IF (((V_SERVICE = 'JDCS') OR\r\n&gt;            (V_SERVICE = 'OLTP') OR\r\n&gt;            (V_SERVICE = 'DWCS') OR\r\n&gt;            (V_SERVICE = 'PAAS')) AND\r\n&gt;           (V_MEDIA_TYPE_COLUMN_NAME IS NULL)) THEN\r\n&gt;          V_CONTENT_COLUMN_JSON_FORMAT := 'OSON';\r\n&gt;          V_SIZE_LIMIT := MAX_BINARY_SIZE;\r\n&gt;        ELSE\r\n&gt;          V_CONTENT_COLUMN_JSON_FORMAT := NULL;\r\n&gt;          V_SIZE_LIMIT := NULL;\r\n&gt;        END IF;\r\n1257,1258c1398,1401\r\n&lt;     IF (V_CONTENT_VALIDATION IS NULL) THEN\r\n&lt;       V_CONTENT_VALIDATION := 'STANDARD';\r\n---\r\n&gt;     IF (V_CONTENT_VALIDATION IS NULL) THEN\r\n&gt;       IF (V_CONTENT_COLUMN_JSON_FORMAT IS NULL) THEN\r\n&gt;         V_CONTENT_VALIDATION := 'STANDARD';\r\n&gt;       END IF;\r\n1268c1411,1412\r\n&lt;     IF (V_CONTENT_COLUMN_TYPE IN ('CLOB', 'NCLOB', 'BLOB')) THEN\r\n---\r\n&gt;     IF ((V_CONTENT_COLUMN_TYPE IN ('CLOB', 'NCLOB', 'BLOB')) AND\r\n&gt;         (V_CONTENT_COLUMN_JSON_FORMAT IS NULL)) THEN\r\n1316c1460,1465\r\n&lt;           SYS.DBMS_SODA_UTIL.RAISE_SYSTEM_ERROR(-40646, V_CONTENT_COLUMN_TYPE);\r\n---\r\n&gt;           IF (V_CONTENT_COLUMN_JSON_FORMAT = 'OSON') THEN\r\n&gt;             SYS.DBMS_SODA_UTIL.RAISE_SYSTEM_ERROR(-40822);\r\n&gt;           ELSE\r\n&gt;             SYS.DBMS_SODA_UTIL.RAISE_SYSTEM_ERROR(-40646,\r\n&gt;                                                   V_CONTENT_COLUMN_TYPE);\r\n&gt;           END IF;\r\n1318,1319d1466\r\n&lt;       ELSE\r\n&lt;         V_CONTENT_LOB_COMPRESS := 'NONE';\r\n1323c1470,1475\r\n&lt;           SYS.DBMS_SODA_UTIL.RAISE_SYSTEM_ERROR(-40646, V_CONTENT_COLUMN_TYPE);\r\n---\r\n&gt;           IF (V_CONTENT_COLUMN_JSON_FORMAT = 'OSON') THEN\r\n&gt;             SYS.DBMS_SODA_UTIL.RAISE_SYSTEM_ERROR(-40822);\r\n&gt;           ELSE\r\n&gt;             SYS.DBMS_SODA_UTIL.RAISE_SYSTEM_ERROR(-40646,\r\n&gt;                                                   V_CONTENT_COLUMN_TYPE);\r\n&gt;           END IF;\r\n1325,1326d1476\r\n&lt;       ELSE\r\n&lt;         V_CONTENT_LOB_CACHE := 'false';\r\n1330c1480,1485\r\n&lt;           SYS.DBMS_SODA_UTIL.RAISE_SYSTEM_ERROR(-40646, V_CONTENT_COLUMN_TYPE);\r\n---\r\n&gt;           IF (V_CONTENT_COLUMN_JSON_FORMAT = 'OSON') THEN\r\n&gt;             SYS.DBMS_SODA_UTIL.RAISE_SYSTEM_ERROR(-40822);\r\n&gt;           ELSE\r\n&gt;             SYS.DBMS_SODA_UTIL.RAISE_SYSTEM_ERROR(-40646,\r\n&gt;                                                   V_CONTENT_COLUMN_TYPE);\r\n&gt;           END IF;\r\n1332,1333d1486\r\n&lt;       ELSE\r\n&lt;         V_CONTENT_LOB_ENCRYPT  := 'NONE';\r\n1482,1484c1635,1660\r\n&lt;     IF (P_CREATE_MODE = 'MAP') THEN\r\n&lt;       V_CREATE_MODE := P_CREATE_MODE;\r\n&lt;     ELSIF (P_CREATE_MODE = 'DDL') THEN\r\n---\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;     IF ((P_CREATE_MODE = 'MAP') OR (P_CREATE_MODE = 'REPLACE_AND_MAP')) THEN\r\n&gt;       V_CREATE_MODE := 'MAP';\r\n&gt;     ELSIF ((P_CREATE_MODE = 'DDL') OR (P_CREATE_MODE = 'PRESERVE_DDL') OR\r\n&gt;            (P_CREATE_MODE = 'REPLACE_AND_PRESERVE_DDL')) THEN\r\n1487c1663,1675\r\n&lt;           V_CREATE_MODE := 'MAP';\r\n---\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;           IF ((P_CREATE_MODE = 'PRESERVE_DDL') OR\r\n&gt;               (P_CREATE_MODE = 'REPLACE_AND_PRESERVE_DDL')) THEN\r\n&gt;             SYS.DBMS_SODA_UTIL.RAISE_SYSTEM_ERROR(-40802, P_CREATE_MODE);\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;           ELSE\r\n&gt;             V_CREATE_MODE := 'MAP';\r\n&gt;           END IF;\r\n1489c1677\r\n&lt;           V_CREATE_MODE := P_CREATE_MODE;\r\n---\r\n&gt;           V_CREATE_MODE := 'DDL';\r\n1497a1686,1688\r\n&gt;     ELSIF (P_CREATE_MODE = 'DDL_WITHOUT_DEPENDENTS') THEN\r\n&gt;       V_CONSTRAINT := FALSE;\r\n&gt;       V_CREATE_MODE := 'DDL';\r\n1526a1718,1728\r\n&gt;     IF (V_KEY_ASSIGNMENT_METHOD IN ('EXTRACT', 'INSERT', 'OID')) THEN\r\n&gt;\r\n&gt;      IF (V_KEY_PATH IS NULL) THEN\r\n&gt;        SYS.DBMS_SODA_UTIL.RAISE_SYSTEM_ERROR(-40746, V_KEY_ASSIGNMENT_METHOD);\r\n&gt;\r\n&gt;\r\n&gt;      ELSIF (V_KEY_COLUMN_TYPE &lt;&gt; 'VARCHAR2') THEN\r\n&gt;       SYS.DBMS_SODA_UTIL.RAISE_SYSTEM_ERROR(-40828, 'VARCHAR2');\r\n&gt;      ELSIF (V_KEY_COLUMN_LEN &lt;&gt; MAX_KEY_LENGTH) THEN\r\n&gt;       SYS.DBMS_SODA_UTIL.RAISE_SYSTEM_ERROR(-40829, MAX_KEY_LENGTH);\r\n&gt;      END IF;\r\n1528,1530c1730,1733\r\n&lt;     IF ((V_KEY_PATH IS NULL) AND\r\n&lt;         (V_KEY_ASSIGNMENT_METHOD IN ('EXTRACT','INSERT','OID'))) THEN\r\n&lt;       SYS.DBMS_SODA_UTIL.RAISE_SYSTEM_ERROR(-40746, V_KEY_ASSIGNMENT_METHOD);\r\n---\r\n&gt;     ELSE\r\n&gt;       IF (V_KEY_PATH IS NOT NULL) THEN\r\n&gt;         SYS.DBMS_SODA_UTIL.RAISE_SYSTEM_ERROR(-40827, V_KEY_ASSIGNMENT_METHOD);\r\n&gt;       END IF;\r\n1569a1773,1782\r\n&gt;     IF (V_CONTENT_COLUMN_JSON_FORMAT = 'OSON') THEN\r\n&gt;       IF (V_CONTENT_VALIDATION IS NOT NULL) THEN\r\n&gt;         SYS.DBMS_SODA_UTIL.RAISE_SYSTEM_ERROR(-40823);\r\n&gt;       ELSIF (V_CONTENT_LOB_TS IS NOT NULL) THEN\r\n&gt;         SYS.DBMS_SODA_UTIL.RAISE_SYSTEM_ERROR(-40824);\r\n&gt;       ELSIF (V_MEM_OPTIMIZE_READ &lt;&gt; 'false') THEN\r\n&gt;         SYS.DBMS_SODA_UTIL.RAISE_SYSTEM_ERROR(-40825);\r\n&gt;       END IF;\r\n&gt;     END IF;\r\n&gt;\r\n1574,1577c1787,1800\r\n&lt;     IF (V_AJD) THEN\r\n&lt;       AJD_SETTINGS(\r\n&lt;         V_CONTENT_COLUMN_JSON_FORMAT,\r\n&lt;         V_SIZE_LIMIT,\r\n---\r\n&gt;     IF (((V_SERVICE = 'DWCS') OR\r\n&gt;          (V_SERVICE = 'OLTP') OR\r\n&gt;          (V_SERVICE = 'PAAS')) AND\r\n&gt;         (V_MEDIA_TYPE_COLUMN_NAME IS NULL)) THEN\r\n&gt;       ENFORCE_ATP_AND_ADW_SETTINGS(\r\n&gt;         V_CONTENT_COLUMN_TYPE,\r\n&gt;         V_CONTENT_COLUMN_LEN,\r\n&gt;         V_CONTENT_VALIDATION,\r\n&gt;         V_CONTENT_LOB_COMPRESS,\r\n&gt;         V_CONTENT_LOB_CACHE,\r\n&gt;         V_CONTENT_LOB_ENCRYPT,\r\n&gt;         V_CONTENT_LOB_TS);\r\n&gt;     ELSIF (V_SERVICE = 'JDCS') THEN\r\n&gt;       ENFORCE_AJD_SETTINGS(\r\n1578a1802\r\n&gt;         V_CREATE_MODE,\r\n1719,1732c1943,1982\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;         EXCEPTION WHEN DUP_VAL_ON_INDEX THEN\r\n&lt;           DECLARE\r\n&lt;             V_EXISTING_DESCRIPTOR VARCHAR2(4000);\r\n&lt;             V_EXISTING_CREATE_TIME TIMESTAMP(6);\r\n&lt;           BEGIN\r\n&lt;             DBMS_SODA_DML.DO_READ_DESCRIPTOR(P_URI_NAME,\r\n&lt;                                              V_OWNER,\r\n&lt;                                              V_EXISTING_DESCRIPTOR,\r\n&lt;                                              V_EXISTING_CREATE_TIME);\r\n&lt;\r\n&lt;             IF (P_DESCRIPTOR &lt;&gt; V_EXISTING_DESCRIPTOR) THEN\r\n---\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;       EXCEPTION WHEN DUP_VAL_ON_INDEX THEN\r\n&gt;         DECLARE\r\n&gt;           V_EXISTING_DESCRIPTOR VARCHAR2(4000);\r\n&gt;           V_EXISTING_CREATE_TIME TIMESTAMP(6);\r\n&gt;           V_UPDATED_COUNT NUMBER := 0;\r\n&gt;         BEGIN\r\n&gt;           DBMS_SODA_DML.DO_READ_DESCRIPTOR(P_URI_NAME,\r\n&gt;                                            V_OWNER,\r\n&gt;                                            V_EXISTING_DESCRIPTOR,\r\n&gt;                                            V_EXISTING_CREATE_TIME);\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;           IF (P_DESCRIPTOR &lt;&gt; V_EXISTING_DESCRIPTOR) THEN\r\n&gt;             IF ((P_CREATE_MODE = 'REPLACE_AND_MAP') OR\r\n&gt;                 (P_CREATE_MODE = 'REPLACE_AND_PRESERVE_DDL')) THEN\r\n&gt;               DBMS_SODA_DML.DO_UPDATE(P_URI_NAME, V_OWNER, V_SCHEMA,\r\n&gt;                                       V_OBJECT_NAME, V_OBJECT_TYPE,\r\n&gt;                                       V_CREATE_TIME, V_CREATE_MODE,\r\n&gt;                                       P_DESCRIPTOR, V_UPDATED_COUNT);\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;               IF (V_UPDATED_COUNT = 0) THEN\r\n&gt;                 IF (I = 3) THEN\r\n&gt;                   ROLLBACK;\r\n&gt;                   SYS.DBMS_SODA_UTIL.RAISE_SYSTEM_ERROR(-40670);\r\n&gt;                 ELSE\r\n&gt;                   CONTINUE;\r\n&gt;                 END IF;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;               ELSE\r\n&gt;                 EXIT;\r\n&gt;               END IF;\r\n&gt;             ELSE\r\n1733a1984,1989\r\n&gt;               IF (V_DEFAULT_METADATA = TRUE) THEN\r\n&gt;                 P_DESCRIPTOR := V_EXISTING_DESCRIPTOR;\r\n&gt;                 P_CREATE_TIME := TO_CHAR(V_EXISTING_CREATE_TIME,\r\n&gt;                                          'YYYY-MM-DD\"T\"HH24:MI:SS.FF');\r\n&gt;                 RETURN;\r\n&gt;               END IF;\r\n1735,1738c1991,2006\r\n&lt;\r\n&lt;             ELSE\r\n&lt;               P_CREATE_TIME := TO_CHAR(V_EXISTING_CREATE_TIME,\r\n&lt;                                        'YYYY-MM-DD\"T\"HH24:MI:SS.FF');\r\n---\r\n&gt;             END IF;\r\n&gt;\r\n&gt;           ELSE\r\n&gt;             P_CREATE_TIME := TO_CHAR(V_EXISTING_CREATE_TIME,\r\n&gt;                                      'YYYY-MM-DD\"T\"HH24:MI:SS.FF');\r\n&gt;             ROLLBACK;\r\n&gt;             RETURN;\r\n&gt;           END IF;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;\r\n&gt;           EXCEPTION WHEN NO_DATA_FOUND THEN\r\n&gt;             IF (I = 3) THEN\r\n1740c2008,2010\r\n&lt;               RETURN;\r\n---\r\n&gt;               SYS.DBMS_SODA_UTIL.RAISE_SYSTEM_ERROR(-40670);\r\n&gt;             ELSE\r\n&gt;               CONTINUE;\r\n1742,1754d2011\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;\r\n&lt;             EXCEPTION WHEN NO_DATA_FOUND THEN\r\n&lt;               IF (I = 3) THEN\r\n&lt;                 ROLLBACK;\r\n&lt;                 SYS.DBMS_SODA_UTIL.RAISE_SYSTEM_ERROR(-40670);\r\n&lt;               ELSE\r\n&lt;                 CONTINUE;\r\n&lt;               END IF;\r\n1762c2019,2020\r\n&lt;     IF (V_CREATE_MODE &lt;&gt; 'DDL') THEN\r\n---\r\n&gt;     IF ((V_CREATE_MODE &lt;&gt; 'DDL') OR (P_CREATE_MODE = 'PRESERVE_DDL') OR\r\n&gt;         (P_CREATE_MODE = 'REPLACE_AND_PRESERVE_DDL')) THEN\r\n1781c2039,2043\r\n&lt;           V_SQLTEXT := V_SQLTEXT||' not null, ';\r\n---\r\n&gt;           IF (V_CONSTRAINT) THEN\r\n&gt;             V_SQLTEXT := V_SQLTEXT||' not null, ';\r\n&gt;           ELSE\r\n&gt;             V_SQLTEXT := V_SQLTEXT||', ';\r\n&gt;           END IF;\r\n1786c2048,2053\r\n&lt;             ' varchar2(255) default ''application\/json'' not null, ';\r\n---\r\n&gt;             ' varchar2(255) default ''application\/json''';\r\n&gt;           IF (V_CONSTRAINT) THEN\r\n&gt;             V_SQLTEXT := V_SQLTEXT||' not null, ';\r\n&gt;           ELSE\r\n&gt;             V_SQLTEXT := V_SQLTEXT||', ';\r\n&gt;           END IF;\r\n1791c2058,2063\r\n&lt;             ' timestamp default sys_extract_utc(SYSTIMESTAMP) not null, ';\r\n---\r\n&gt;             ' timestamp default sys_extract_utc(SYSTIMESTAMP)';\r\n&gt;           IF (V_CONSTRAINT) THEN\r\n&gt;             V_SQLTEXT := V_SQLTEXT||' not null, ';\r\n&gt;           ELSE\r\n&gt;             V_SQLTEXT := V_SQLTEXT||', ';\r\n&gt;           END IF;\r\n1796c2068,2073\r\n&lt;             ' timestamp default sys_extract_utc(SYSTIMESTAMP) not null, ';\r\n---\r\n&gt;             ' timestamp default sys_extract_utc(SYSTIMESTAMP)';\r\n&gt;           IF (V_CONSTRAINT) THEN\r\n&gt;             V_SQLTEXT := V_SQLTEXT||' not null, ';\r\n&gt;           ELSE\r\n&gt;             V_SQLTEXT := V_SQLTEXT||', ';\r\n&gt;           END IF;\r\n1802c2079,2084\r\n&lt;             V_SQLTEXT := V_SQLTEXT||' number not null, ';\r\n---\r\n&gt;             V_SQLTEXT := V_SQLTEXT||' number';\r\n&gt;             IF (V_CONSTRAINT) THEN\r\n&gt;               V_SQLTEXT := V_SQLTEXT||' not null, ';\r\n&gt;             ELSE\r\n&gt;               V_SQLTEXT := V_SQLTEXT||', ';\r\n&gt;             END IF;\r\n1804c2086,2091\r\n&lt;             V_SQLTEXT := V_SQLTEXT||' number not null, ';\r\n---\r\n&gt;             V_SQLTEXT := V_SQLTEXT||' number';\r\n&gt;             IF (V_CONSTRAINT) THEN\r\n&gt;               V_SQLTEXT := V_SQLTEXT||' not null, ';\r\n&gt;             ELSE\r\n&gt;               V_SQLTEXT := V_SQLTEXT||', ';\r\n&gt;             END IF;\r\n1808c2095,2100\r\n&lt;             V_SQLTEXT := V_SQLTEXT||' varchar2(255) not null, ';\r\n---\r\n&gt;             V_SQLTEXT := V_SQLTEXT||' varchar2(255)';\r\n&gt;             IF (V_CONSTRAINT) THEN\r\n&gt;               V_SQLTEXT := V_SQLTEXT||' not null, ';\r\n&gt;             ELSE\r\n&gt;               V_SQLTEXT := V_SQLTEXT||', ';\r\n&gt;             END IF;\r\n1818c2110,2114\r\n&lt;           V_SQLTEXT := V_SQLTEXT||' not null, ';\r\n---\r\n&gt;           IF (V_CONSTRAINT) THEN\r\n&gt;             V_SQLTEXT := V_SQLTEXT||' not null, ';\r\n&gt;           ELSE\r\n&gt;             V_SQLTEXT := V_SQLTEXT||', ';\r\n&gt;           END IF;\r\n1826,1828d2121\r\n&lt;         V_SQLTEXT := V_SQLTEXT||', ';\r\n&lt;\r\n&lt;         V_SQLTEXT := V_SQLTEXT||'primary key ('||V_QUOT_KEY_NAME||')';\r\n1829a2123,2126\r\n&gt;         IF (V_CONSTRAINT) THEN\r\n&gt;           V_SQLTEXT := V_SQLTEXT||', ';\r\n&gt;           V_SQLTEXT := V_SQLTEXT||'primary key ('||V_QUOT_KEY_NAME||')';\r\n&gt;         END IF;\r\n1832d2128\r\n&lt;         V_SQLTEXT := V_SQLTEXT||', check (';\r\n1834,1840c2130,2151\r\n&lt;         IF (V_NESTED_CHECK) THEN\r\n&lt;           V_SQLTEXT := V_SQLTEXT||'('||V_QUOT_CONTENT_NAME||' is null) or (';\r\n&lt;         END IF;\r\n&lt;         IF (V_MEDIA_TYPE_COLUMN_NAME IS NOT NULL) THEN\r\n&lt;           IF (NOT(V_NESTED_CHECK)) THEN\r\n&lt;             V_SQLTEXT := V_SQLTEXT||'(';\r\n&lt;             V_NESTED_CHECK := TRUE;\r\n---\r\n&gt;         IF (V_CONSTRAINT) THEN\r\n&gt;           V_SQLTEXT := V_SQLTEXT||', check (';\r\n&gt;\r\n&gt;           IF (V_NESTED_CHECK) THEN\r\n&gt;             V_SQLTEXT := V_SQLTEXT||'('||V_QUOT_CONTENT_NAME||' is null) or (';\r\n&gt;           END IF;\r\n&gt;           IF (V_MEDIA_TYPE_COLUMN_NAME IS NOT NULL) THEN\r\n&gt;             IF (NOT(V_NESTED_CHECK)) THEN\r\n&gt;               V_SQLTEXT := V_SQLTEXT||'(';\r\n&gt;               V_NESTED_CHECK := TRUE;\r\n&gt;             END IF;\r\n&gt;             V_SQLTEXT := V_SQLTEXT||V_QUOT_MEDIATYPE_NAME||\r\n&gt;                          ' &lt;&gt; ''application\/json'') or (';\r\n&gt;           END IF;\r\n&gt;           V_SQLTEXT := V_SQLTEXT||V_QUOT_CONTENT_NAME||' is json';\r\n&gt;           IF (V_CONTENT_COLUMN_JSON_FORMAT = 'OSON') THEN\r\n&gt;             V_SQLTEXT := V_SQLTEXT||' format oson';\r\n&gt;           ELSIF (V_CONTENT_COLUMN_TYPE IN ('BLOB','RAW')) THEN\r\n&gt;             V_SQLTEXT := V_SQLTEXT||' format json';\r\n&gt;           END IF;\r\n&gt;           IF (V_SIZE_LIMIT IS NOT NULL) THEN\r\n&gt;             V_SQLTEXT := V_SQLTEXT||' (size limit '||V_SIZE_LIMIT;\r\n1842,1853d2152\r\n&lt;           V_SQLTEXT := V_SQLTEXT||V_QUOT_MEDIATYPE_NAME||\r\n&lt;                        ' &lt;&gt; ''application\/json'') or (';\r\n&lt;         END IF;\r\n&lt;         V_SQLTEXT := V_SQLTEXT||V_QUOT_CONTENT_NAME||' is json';\r\n&lt;         IF (V_CONTENT_COLUMN_JSON_FORMAT = 'OSON') THEN\r\n&lt;           V_SQLTEXT := V_SQLTEXT||' format oson';\r\n&lt;         ELSIF (V_CONTENT_COLUMN_TYPE IN ('BLOB','RAW')) THEN\r\n&lt;           V_SQLTEXT := V_SQLTEXT||' format json';\r\n&lt;         END IF;\r\n&lt;         IF (V_SIZE_LIMIT IS NOT NULL) THEN\r\n&lt;           V_SQLTEXT := V_SQLTEXT||' (size limit '||V_SIZE_LIMIT;\r\n&lt;         END IF;\r\n1855,1862c2154,2159\r\n&lt;\r\n&lt;         IF (V_CONTENT_VALIDATION = 'STRICT') THEN\r\n&lt;           V_SQLTEXT := V_SQLTEXT||' strict with unique keys)';\r\n&lt;         ELSIF (V_CONTENT_VALIDATION = 'STANDARD') THEN\r\n&lt;           V_SQLTEXT := V_SQLTEXT||' strict)';\r\n&lt;         ELSE\r\n&lt;           V_SQLTEXT := V_SQLTEXT||')';\r\n&lt;         END IF;\r\n---\r\n&gt;\r\n&gt;           IF (V_CONTENT_VALIDATION = 'STRICT') THEN\r\n&gt;             V_SQLTEXT := V_SQLTEXT||' strict with unique keys';\r\n&gt;           ELSIF (V_CONTENT_VALIDATION = 'STANDARD') THEN\r\n&gt;             V_SQLTEXT := V_SQLTEXT||' strict';\r\n&gt;           END IF;\r\n1864,1868c2161\r\n&lt;\r\n&lt;\r\n&lt;         IF (V_SIZE_LIMIT IS NOT NULL) THEN\r\n&lt;           V_SQLTEXT := V_SQLTEXT||')';\r\n&lt;         END IF;\r\n---\r\n&gt;           V_SQLTEXT := V_SQLTEXT ||')';\r\n1870,1872c2163,2172\r\n&lt;         IF (V_NESTED_CHECK) THEN\r\n&lt;           V_SQLTEXT := V_SQLTEXT||')';\r\n&lt;         END IF;\r\n---\r\n&gt;\r\n&gt;\r\n&gt;           IF (V_SIZE_LIMIT IS NOT NULL) THEN\r\n&gt;             V_SQLTEXT := V_SQLTEXT||')';\r\n&gt;           END IF;\r\n&gt;\r\n&gt;           IF (V_NESTED_CHECK) THEN\r\n&gt;             V_SQLTEXT := V_SQLTEXT||')';\r\n&gt;           END IF;\r\n&gt;         END IF;\r\n1894c2194,2195\r\n&lt;         IF (V_CONTENT_COLUMN_TYPE IN ('CLOB','NCLOB','BLOB')) THEN\r\n---\r\n&gt;         IF ((V_CONTENT_COLUMN_TYPE IN ('CLOB','NCLOB','BLOB')) AND\r\n&gt;             (V_CONTENT_COLUMN_JSON_FORMAT IS NULL)) THEN\r\n1950,1951c2251,2252\r\n&lt;               NOT(V_FORCE_CREATE)) THEN\r\n&lt;             DBMS_SODA_DML.DO_UPDATE(P_URI_NAME, 'MAP', V_OWNER);\r\n---\r\n&gt;               NOT(V_FORCE_CREATE) AND (NOT(V_SERVICE = 'JDCS'))) THEN\r\n&gt;             DBMS_SODA_DML.DO_UPDATE_MODE(P_URI_NAME, 'MAP', V_OWNER);\r\n1991,2003c2292,2297\r\n&lt;         IF (V_LAST_MODIFIED_INDEX IS NOT NULL) THEN\r\n&lt;           V_SQLTEXT := 'create index '||V_QUOT_SCHEMA||'.'||\r\n&lt;                        V_QUOT_MODIFIED_INDEX||' on '||\r\n&lt;                        V_QUOT_OBJECT||' ('||V_QUOT_MODIFIED_NAME||\r\n&lt;                        ','||V_QUOT_KEY_NAME||')';\r\n&lt;\r\n&lt;           IF (P_VERBOSE) THEN\r\n&lt;             DBMS_OUTPUT.PUT_LINE(V_SQLTEXT);\r\n&lt;           END IF;\r\n&lt;\r\n&lt;           BEGIN\r\n&lt;             DO_DDL(V_SQLTEXT);\r\n&lt;           EXCEPTION WHEN OTHERS THEN\r\n---\r\n&gt;         IF (V_CONSTRAINT) THEN\r\n&gt;           IF (V_LAST_MODIFIED_INDEX IS NOT NULL) THEN\r\n&gt;             V_SQLTEXT := 'create index '||V_QUOT_SCHEMA||'.'||\r\n&gt;                          V_QUOT_MODIFIED_INDEX||' on '||\r\n&gt;                          V_QUOT_OBJECT||' ('||V_QUOT_MODIFIED_NAME||\r\n&gt;                          ','||V_QUOT_KEY_NAME||')';\r\n2005,2010c2299,2300\r\n&lt;             IF ((SQLCODE = XDB.DBMS_SODA_ADMIN.SQL_OBJECT_EXISTS) AND\r\n&lt;                 NOT(V_FORCE_CREATE)) THEN\r\n&lt;               NULL;\r\n&lt;             ELSE\r\n&lt;               ROLLBACK;\r\n&lt;               RAISE;\r\n---\r\n&gt;             IF (P_VERBOSE) THEN\r\n&gt;               DBMS_OUTPUT.PUT_LINE(V_SQLTEXT);\r\n2012,2013c2302,2316\r\n&lt;           END;\r\n&lt;         END IF;\r\n---\r\n&gt;\r\n&gt;             BEGIN\r\n&gt;               DO_DDL(V_SQLTEXT);\r\n&gt;             EXCEPTION WHEN OTHERS THEN\r\n&gt;\r\n&gt;               IF ((SQLCODE = XDB.DBMS_SODA_ADMIN.SQL_OBJECT_EXISTS) AND\r\n&gt;                   NOT(V_FORCE_CREATE)) THEN\r\n&gt;                 NULL;\r\n&gt;               ELSE\r\n&gt;                 ROLLBACK;\r\n&gt;                 RAISE;\r\n&gt;               END IF;\r\n&gt;             END;\r\n&gt;           END IF;\r\n&gt;         END IF;\r\n2106c2409,2411\r\n&lt;   PROCEDURE DROP_COLLECTION(P_URI_NAME IN NVARCHAR2)\r\n---\r\n&gt;   PROCEDURE DROP_COLLECTION(P_URI_NAME          IN NVARCHAR2,\r\n&gt;                             P_PURGE             IN VARCHAR2 DEFAULT 'FALSE',\r\n&gt;                             P_DROP_MAPPED_TABLE IN VARCHAR2 DEFAULT 'FALSE')\r\n2125c2430\r\n&lt;       SYS.DBMS_SODA_UTIL.CHECKCOMPAT();\r\n---\r\n&gt;       DBMS_SODA_ADMIN.V_COMPATIBLE := SYS.DBMS_SODA_UTIL.CHECKANDGETCOMPAT;\r\n2148c2453,2454\r\n&lt;     IF (V_CREATE_MODE = 'DDL') THEN\r\n---\r\n&gt;     IF (V_CREATE_MODE = 'DDL' OR\r\n&gt;         (V_CREATE_MODE = 'MAP' AND UPPER(P_DROP_MAPPED_TABLE) = 'TRUE')) THEN\r\n2154a2461,2463\r\n&gt;         IF (UPPER(P_PURGE) = 'TRUE') THEN\r\n&gt;           V_SQLTEXT := V_SQLTEXT||' purge';\r\n&gt;         END IF;\r\n2201,2204c2510,2514\r\n&lt;   PROCEDURE DROP_COLLECTIONS(P_COLLECTIONS OUT NVCNTAB,\r\n&lt;                              P_ERRORS OUT VCNTAB,\r\n&lt;                              P_FORCE IN VARCHAR2)\r\n&lt;\r\n---\r\n&gt;   PROCEDURE DROP_COLLECTIONS(P_COLLECTIONS         OUT NVCNTAB,\r\n&gt;                              P_ERRORS              OUT VCNTAB,\r\n&gt;                              P_FORCE               IN VARCHAR2,\r\n&gt;                              P_PURGE               IN VARCHAR2 DEFAULT 'FALSE',\r\n&gt;                              P_DROP_MAPPED_TABLE   IN VARCHAR2 DEFAULT 'FALSE')\r\n2217c2527\r\n&lt;       SYS.DBMS_SODA_UTIL.CHECKCOMPAT();\r\n---\r\n&gt;       DBMS_SODA_ADMIN.V_COMPATIBLE := SYS.DBMS_SODA_UTIL.CHECKANDGETCOMPAT;\r\n2225c2535,2537\r\n&lt;         DBMS_SODA_ADMIN.DROP_COLLECTION(COLLECTION_REC.URI_NAME);\r\n---\r\n&gt;         DBMS_SODA_ADMIN.DROP_COLLECTION(COLLECTION_REC.URI_NAME,\r\n&gt;                                         P_PURGE,\r\n&gt;                                         P_DROP_MAPPED_TABLE);\r\n2260c2572\r\n&lt;       SYS.DBMS_SODA_UTIL.CHECKCOMPAT();\r\n---\r\n&gt;       DBMS_SODA_ADMIN.V_COMPATIBLE := SYS.DBMS_SODA_UTIL.CHECKANDGETCOMPAT;\r\n2287c2599\r\n&lt;       SYS.DBMS_SODA_UTIL.CHECKCOMPAT();\r\n---\r\n&gt;       DBMS_SODA_ADMIN.V_COMPATIBLE := SYS.DBMS_SODA_UTIL.CHECKANDGETCOMPAT;\r\n2368a2681,2775\r\n&gt;   PROCEDURE GET_SERVICE_AND_COMPATIBLE(P_SERVICE OUT VARCHAR2,\r\n&gt;                                        P_COMPATIBLE OUT NUMBER)\r\n&gt;   IS\r\n&gt;   BEGIN\r\n&gt;\r\n&gt;\r\n&gt;     IF (DBMS_SODA_ADMIN.V_COMPATIBLE_CHECK_PASSED != TRUE) THEN\r\n&gt;       DBMS_SODA_ADMIN.V_COMPATIBLE := SYS.DBMS_SODA_UTIL.CHECKANDGETCOMPAT;\r\n&gt;       DBMS_SODA_ADMIN.V_COMPATIBLE_CHECK_PASSED := TRUE;\r\n&gt;     END IF;\r\n&gt;     P_COMPATIBLE := DBMS_SODA_ADMIN.V_COMPATIBLE;\r\n&gt;\r\n&gt;\r\n&gt;     IF (V_SERVICE IS NULL) THEN\r\n&gt;       V_SERVICE := SYS.DBMS_SODA_UTIL.GETSERVICENAME;\r\n&gt;     END IF;\r\n&gt;\r\n&gt;     P_SERVICE := V_SERVICE;\r\n&gt;\r\n&gt;   END GET_SERVICE_AND_COMPATIBLE;\r\n&gt;\r\n&gt;   PROCEDURE GET_DEFAULT_METADATA_C(P_METADATA OUT CLOB)\r\n&gt;   IS\r\n&gt;     V_METADATA VARCHAR2(4000) := NULL;\r\n&gt;   BEGIN\r\n&gt;     GET_DEFAULT_METADATA_V(V_METADATA);\r\n&gt;     P_METADATA := TO_CLOB(V_METADATA);\r\n&gt;   END GET_DEFAULT_METADATA_C;\r\n&gt;\r\n&gt;   PROCEDURE GET_DEFAULT_METADATA_V(P_METADATA OUT VARCHAR2)\r\n&gt;   IS\r\n&gt;     P_COMPATIBLE NUMBER := NULL;\r\n&gt;   BEGIN\r\n&gt;\r\n&gt;     IF (DBMS_SODA_ADMIN.V_COMPATIBLE_CHECK_PASSED != TRUE) THEN\r\n&gt;         DBMS_SODA_ADMIN.V_COMPATIBLE := SYS.DBMS_SODA_UTIL.CHECKANDGETCOMPAT;\r\n&gt;         DBMS_SODA_ADMIN.V_COMPATIBLE_CHECK_PASSED := TRUE;\r\n&gt;     END IF;\r\n&gt;     P_COMPATIBLE := DBMS_SODA_ADMIN.V_COMPATIBLE;\r\n&gt;\r\n&gt;\r\n&gt;     IF (V_SERVICE IS NULL) THEN\r\n&gt;       V_SERVICE := SYS.DBMS_SODA_UTIL.GETSERVICENAME;\r\n&gt;     END IF;\r\n&gt;\r\n&gt;     P_METADATA := '{\"keyColumn\":{\"name\":\"ID\",' ||\r\n&gt;                                 '\"sqlType\":\"VARCHAR2\",' ||\r\n&gt;                                 '\"maxLength\":255,' ||\r\n&gt;                                 '\"assignmentMethod\":\"UUID\"},';\r\n&gt;     IF ((V_SERVICE = 'JDCS') OR\r\n&gt;         (V_SERVICE = 'OLTP') OR\r\n&gt;         (V_SERVICE = 'DWCS') OR\r\n&gt;         (V_SERVICE = 'PAAS')) THEN\r\n&gt;       IF (P_COMPATIBLE &gt;= 20) THEN\r\n&gt;         P_METADATA := P_METADATA ||\r\n&gt;                       '\"contentColumn\":{\"name\":\"JSON_DOCUMENT\",' ||\r\n&gt;                                        '\"sqlType\":\"JSON\"},';\r\n&gt;       ELSE\r\n&gt;         P_METADATA := P_METADATA ||\r\n&gt;                       '\"contentColumn\":{\"name\":\"JSON_DOCUMENT\",' ||\r\n&gt;                                        '\"sqlType\":\"BLOB\",' ||\r\n&gt;                                        '\"jsonFormat\":\"OSON\"},';\r\n&gt;       END IF;\r\n&gt;       P_METADATA := P_METADATA ||\r\n&gt;                     '\"lastModifiedColumn\":{\"name\":\"LAST_MODIFIED\"},' ||\r\n&gt;                     '\"versionColumn\":{\"name\":\"VERSION\",' ||\r\n&gt;                                      '\"method\":\"UUID\"},';\r\n&gt;     ELSE\r\n&gt;       IF (P_COMPATIBLE &gt;= 20) THEN\r\n&gt;         P_METADATA := P_METADATA ||\r\n&gt;                       '\"contentColumn\":{\"name\":\"JSON_DOCUMENT\",' ||\r\n&gt;                                         '\"sqlType\":\"JSON\"},';\r\n&gt;         P_METADATA := P_METADATA ||\r\n&gt;                      '\"lastModifiedColumn\":{\"name\":\"LAST_MODIFIED\"},' ||\r\n&gt;                      '\"versionColumn\":{\"name\":\"VERSION\",' ||\r\n&gt;                                       '\"method\":\"UUID\"},';\r\n&gt;       ELSE\r\n&gt;         P_METADATA := P_METADATA ||\r\n&gt;                       '\"contentColumn\":{\"name\":\"JSON_DOCUMENT\",' ||\r\n&gt;                                        '\"sqlType\":\"BLOB\",' ||\r\n&gt;                                        '\"compress\":\"NONE\",' ||\r\n&gt;                                        '\"cache\":true,' ||\r\n&gt;                                        '\"encrypt\":\"NONE\",' ||\r\n&gt;                                        '\"validation\":\"STANDARD\"},';\r\n&gt;         P_METADATA := P_METADATA ||\r\n&gt;                      '\"lastModifiedColumn\":{\"name\":\"LAST_MODIFIED\"},' ||\r\n&gt;                      '\"versionColumn\":{\"name\":\"VERSION\",' ||\r\n&gt;                                       '\"method\":\"SHA256\"},';\r\n&gt;       END IF;\r\n&gt;     END IF;\r\n&gt;     P_METADATA := P_METADATA ||\r\n&gt;                   '\"creationTimeColumn\":{\"name\":\"CREATED_ON\"},' ||\r\n&gt;                   '\"readOnly\":false}';\r\n&gt;   END GET_DEFAULT_METADATA_V;\r\n&gt;\r\n2728a3136,3139\r\n&gt;           IF (P_DATATYPES(J) IS NULL)\r\n&gt;           THEN\r\n&gt;             P_DATATYPES(J) := 'VARCHAR2';\r\n&gt;           END IF;\r\n2851c3262\r\n&lt;       SYS.DBMS_SODA_UTIL.CHECKCOMPAT();\r\n---\r\n&gt;       DBMS_SODA_ADMIN.V_COMPATIBLE := SYS.DBMS_SODA_UTIL.CHECKANDGETCOMPAT;\r\n4036c4447,4448\r\n&lt;                                 P_DATA_GUIDE  IN    CLOB)\r\n---\r\n&gt;                                 P_DATA_GUIDE  IN    CLOB,\r\n&gt;                                 P_MATERIALIZE IN    BOOLEAN DEFAULT FALSE)\r\n4054c4466\r\n&lt;       SYS.DBMS_SODA_UTIL.CHECKCOMPAT();\r\n---\r\n&gt;       DBMS_SODA_ADMIN.V_COMPATIBLE := SYS.DBMS_SODA_UTIL.CHECKANDGETCOMPAT;\r\n4084c4496,4497\r\n&lt;                           V_CONTENT_COLUMN_NAME, P_DATA_GUIDE);\r\n---\r\n&gt;                           V_CONTENT_COLUMN_NAME, P_DATA_GUIDE,\r\n&gt;                           MATERIALIZE =&gt; P_MATERIALIZE);\r\n<\/pre>\n<div id=\"XDB.DBMS_SODA_DML.PACKAGE BODY.19.0.0.0_RU\">XDB.DBMS_SODA_DML &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n21a22,45\r\n&gt; PROCEDURE DO_UPDATE(P_URI_NAME IN NVARCHAR2,\r\n&gt;                     P_OWNER    IN VARCHAR2,\r\n&gt;                     P_SCHEMA_NAME IN VARCHAR2,\r\n&gt;                     P_OBJECT_NAME IN VARCHAR2,\r\n&gt;                     P_OBJECT_TYPE IN VARCHAR2,\r\n&gt;                     P_CREATE_TIME IN TIMESTAMP,\r\n&gt;                     P_CREATE_MODE IN VARCHAR2,\r\n&gt;                     P_DESCRIPTOR  IN VARCHAR2,\r\n&gt;                     P_ROW_COUNT OUT NUMBER)\r\n&gt; IS\r\n&gt; BEGIN\r\n&gt;     UPDATE XDB.JSON$COLLECTION_METADATA\r\n&gt;     SET OBJECT_SCHEMA = P_SCHEMA_NAME,\r\n&gt;         OBJECT_NAME = P_OBJECT_NAME,\r\n&gt;         OBJECT_TYPE = P_OBJECT_TYPE,\r\n&gt;         CREATED_ON = P_CREATE_TIME,\r\n&gt;         CREATE_MODE = P_CREATE_MODE,\r\n&gt;         JSON_DESCRIPTOR = P_DESCRIPTOR\r\n&gt;     WHERE   OWNER    = P_OWNER\r\n&gt;         AND URI_NAME = P_URI_NAME;\r\n&gt;     P_ROW_COUNT := SQL%ROWCOUNT;\r\n&gt; END DO_UPDATE;\r\n&gt;\r\n&gt;\r\n40,42c64,66\r\n&lt; PROCEDURE DO_UPDATE(P_URI_NAME    IN NVARCHAR2,\r\n&lt;                     P_CREATE_MODE IN VARCHAR2,\r\n&lt;                     P_OWNER       IN VARCHAR2)\r\n---\r\n&gt; PROCEDURE DO_UPDATE_MODE(P_URI_NAME    IN NVARCHAR2,\r\n&gt;                          P_CREATE_MODE IN VARCHAR2,\r\n&gt;                          P_OWNER       IN VARCHAR2)\r\n49c73\r\n&lt; END DO_UPDATE;\r\n---\r\n&gt; END DO_UPDATE_MODE;\r\n53c77,78\r\n&lt;                   P_CREATE_MODE OUT VARCHAR2)\r\n---\r\n&gt;                   P_CREATE_MODE OUT VARCHAR2,\r\n&gt;                   P_TIMEOUT     IN  PLS_INTEGER DEFAULT NULL)\r\n54a80\r\n&gt;   V_STMT VARCHAR2(2000);\r\n56,61c82,92\r\n&lt;     SELECT CREATE_MODE\r\n&lt;       INTO P_CREATE_MODE\r\n&lt;       FROM XDB.JSON$COLLECTION_METADATA\r\n&lt;      WHERE OWNER = P_OWNER\r\n&lt;        AND URI_NAME = P_URI_NAME\r\n&lt;        FOR UPDATE;\r\n---\r\n&gt;   V_STMT := 'select CREATE_MODE\r\n&gt;                from xdb.JSON$COLLECTION_METADATA\r\n&gt;               where OWNER = :1' ||\r\n&gt;               ' and URI_NAME = :2' ||\r\n&gt;               ' for update';\r\n&gt;   IF (P_TIMEOUT IS NOT NULL) THEN\r\n&gt;     V_STMT := V_STMT || ' wait ' || P_TIMEOUT;\r\n&gt;   END IF;\r\n&gt;   EXECUTE IMMEDIATE V_STMT\r\n&gt;      INTO P_CREATE_MODE\r\n&gt;     USING P_OWNER, P_URI_NAME;\r\n<\/pre>\n<div id=\"XDB.DBMS_SODA_DOM.PACKAGE BODY.19.0.0.0_RU\">XDB.DBMS_SODA_DOM &#8211; PACKAGE BODY (RU):<\/div>\n<pre class=\"EnlighterJSRAW enlighter-collapse\" data-enlighter-language=\"diff\" data-enlighter-linenumbers=\"false\">\r\n58a59,61\r\n&gt;     IF (JVAL IS NULL) THEN\r\n&gt;       RETURN NULL;\r\n&gt;     END IF;\r\n85a89,91\r\n&gt;     IF (JVAL IS NULL) THEN\r\n&gt;       RETURN NULL;\r\n&gt;     END IF;\r\n114a121,123\r\n&gt;     IF (JVAL IS NULL) THEN\r\n&gt;       RETURN NULL;\r\n&gt;     END IF;\r\n138a148,150\r\n&gt;     IF (JVAL IS NULL) THEN\r\n&gt;       RETURN NULL;\r\n&gt;     END IF;\r\n164a177,179\r\n&gt;     IF (JVAL IS NULL) THEN\r\n&gt;       RETURN NULL;\r\n&gt;     END IF;\r\n187a203,205\r\n&gt;     IF (JVAL IS NULL) THEN\r\n&gt;       RETURN NULL;\r\n&gt;     END IF;\r\n219c237,239\r\n&lt;           (EXCEPTIONS = 'INVALID_PATCH_SPEC')) OR (EXCEPTIONS = 'ALL')) THEN\r\n---\r\n&gt;           (EXCEPTIONS = 'INVALID_PATCH_SPEC')) OR\r\n&gt;           ((EXCEPTIONS = 'ALL') AND\r\n&gt;            (SQLCODE != XDB.DBMS_SODA_DOM.PATCH_ROOT_REMOVAL_ERROR))) THEN\r\n242c262,264\r\n&lt;           (EXCEPTIONS = 'INVALID_PATCH_SPEC')) OR (EXCEPTIONS = 'ALL')) THEN\r\n---\r\n&gt;           (EXCEPTIONS = 'INVALID_PATCH_SPEC')) OR\r\n&gt;           ((EXCEPTIONS = 'ALL') AND\r\n&gt;            (SQLCODE != XDB.DBMS_SODA_DOM.PATCH_ROOT_REMOVAL_ERROR))) THEN\r\n272c294,296\r\n&lt;           (EXCEPTIONS = 'INVALID_PATCH_SPEC')) OR (EXCEPTIONS = 'ALL')) THEN\r\n---\r\n&gt;           (EXCEPTIONS = 'INVALID_PATCH_SPEC')) OR\r\n&gt;           ((EXCEPTIONS = 'ALL') AND\r\n&gt;            (SQLCODE != XDB.DBMS_SODA_DOM.PATCH_ROOT_REMOVAL_ERROR))) THEN\r\n294c318,320\r\n&lt;           (EXCEPTIONS = 'INVALID_PATCH_SPEC')) OR (EXCEPTIONS = 'ALL')) THEN\r\n---\r\n&gt;           (EXCEPTIONS = 'INVALID_PATCH_SPEC')) OR\r\n&gt;           ((EXCEPTIONS = 'ALL') AND\r\n&gt;            (SQLCODE != XDB.DBMS_SODA_DOM.PATCH_ROOT_REMOVAL_ERROR))) THEN\r\n319c345,347\r\n&lt;           (EXCEPTIONS = 'INVALID_PATCH_SPEC')) OR (EXCEPTIONS = 'ALL')) THEN\r\n---\r\n&gt;           (EXCEPTIONS = 'INVALID_PATCH_SPEC')) OR\r\n&gt;           ((EXCEPTIONS = 'ALL') AND\r\n&gt;            (SQLCODE != XDB.DBMS_SODA_DOM.PATCH_ROOT_REMOVAL_ERROR))) THEN\r\n341c369,371\r\n&lt;           (EXCEPTIONS = 'INVALID_PATCH_SPEC')) OR (EXCEPTIONS = 'ALL')) THEN\r\n---\r\n&gt;           (EXCEPTIONS = 'INVALID_PATCH_SPEC')) OR\r\n&gt;           ((EXCEPTIONS = 'ALL') AND\r\n&gt;            (SQLCODE != XDB.DBMS_SODA_DOM.PATCH_ROOT_REMOVAL_ERROR))) THEN\r\n<\/pre>\n<hr \/>\n<div class='watch-action'><div class='watch-position align-left'><div class='action-like'><a class='lbg-style2 like-4838 jlk' href='javascript:void(0)' data-task='like' data-post_id='4838' data-nonce='de4404f630' rel='nofollow'><img class='wti-pixel' src='https:\/\/www.dbarj.com.br\/wp-content\/plugins\/wti-like-post\/images\/pixel.gif' title='Like' \/><span class='lc-4838 lc'>0<\/span><\/a><\/div><\/div> <div class='status-4838 status align-left'><\/div><\/div><div class='wti-clear'><\/div>","protected":false},"excerpt":{"rendered":"<p>Oracle October 2020 Critical Patch Advisory changed objects performed by each database patch. For more details and the catalog, check the main post: Dissecting 201020 BP, PSU, RU and RUR What exactly changed for each? (click to see detailed line changes) 11.2.0.4 SYS.DBMS_PDB &#8211; PACKAGE BODY 11g (BP) 12.1.0.2 DVSYS.DBMS_MACADM &#8211; PACKAGE BODY 12cR1 (PSU) &hellip; <\/p>\n<p><a class=\"more-link btn\" href=\"https:\/\/www.dbarj.com.br\/pt-br\/2020\/10\/oracle-october-2020-critical-patch-advisory-pl-sql-detailed-changes\/\">Continue lendo<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19,2],"tags":[],"class_list":["post-4838","post","type-post","status-publish","format-standard","hentry","category-security","category-database","item-wrap"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Oracle October 2020 Critical Patch Advisory - PL\/SQL detailed changes - DBA - Rodrigo Jorge - Oracle Tips and Guides<\/title>\n<meta name=\"description\" content=\"Oracle October 2020 Critical Patch Advisory changed objects performed by each database patch.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbarj.com.br\/pt-br\/2020\/10\/oracle-october-2020-critical-patch-advisory-pl-sql-detailed-changes\/\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"DBA RJ\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"152 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/2020\\\/10\\\/oracle-october-2020-critical-patch-advisory-pl-sql-detailed-changes\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/2020\\\/10\\\/oracle-october-2020-critical-patch-advisory-pl-sql-detailed-changes\\\/\"},\"author\":{\"name\":\"DBA RJ\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/#\\\/schema\\\/person\\\/28a44ca3a6633fe4156ad1ea209d40a9\"},\"headline\":\"Oracle October 2020 Critical Patch Advisory &#8211; PL\\\/SQL detailed changes\",\"datePublished\":\"2020-10-28T13:31:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/2020\\\/10\\\/oracle-october-2020-critical-patch-advisory-pl-sql-detailed-changes\\\/\"},\"wordCount\":1660,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/#\\\/schema\\\/person\\\/28a44ca3a6633fe4156ad1ea209d40a9\"},\"articleSection\":[\"Database Security\",\"Oracle Database General\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/2020\\\/10\\\/oracle-october-2020-critical-patch-advisory-pl-sql-detailed-changes\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/2020\\\/10\\\/oracle-october-2020-critical-patch-advisory-pl-sql-detailed-changes\\\/\",\"url\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/2020\\\/10\\\/oracle-october-2020-critical-patch-advisory-pl-sql-detailed-changes\\\/\",\"name\":\"Oracle October 2020 Critical Patch Advisory - PL\\\/SQL detailed changes - DBA - Rodrigo Jorge - Oracle Tips and Guides\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/#website\"},\"datePublished\":\"2020-10-28T13:31:05+00:00\",\"description\":\"Oracle October 2020 Critical Patch Advisory changed objects performed by each database patch.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/2020\\\/10\\\/oracle-october-2020-critical-patch-advisory-pl-sql-detailed-changes\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/2020\\\/10\\\/oracle-october-2020-critical-patch-advisory-pl-sql-detailed-changes\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/2020\\\/10\\\/oracle-october-2020-critical-patch-advisory-pl-sql-detailed-changes\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Oracle October 2020 Critical Patch Advisory - PL\\\/SQL detailed changes\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/#website\",\"url\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/\",\"name\":\"DBA - Rodrigo Jorge - Oracle Tips and Guides\",\"description\":\"Blog about Databases, Security and High Availability\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/#\\\/schema\\\/person\\\/28a44ca3a6633fe4156ad1ea209d40a9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/#\\\/schema\\\/person\\\/28a44ca3a6633fe4156ad1ea209d40a9\",\"name\":\"DBA RJ\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/RodrigoJorgePOUG19.png\",\"url\":\"https:\\\/\\\/www.dbarj.com.br\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/RodrigoJorgePOUG19.png\",\"contentUrl\":\"https:\\\/\\\/www.dbarj.com.br\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/RodrigoJorgePOUG19.png\",\"width\":712,\"height\":712,\"caption\":\"DBA RJ\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/RodrigoJorgePOUG19.png\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Oracle October 2020 Critical Patch Advisory - PL\/SQL detailed changes - DBA - Rodrigo Jorge - Oracle Tips and Guides","description":"Oracle October 2020 Critical Patch Advisory changed objects performed by each database patch.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbarj.com.br\/pt-br\/2020\/10\/oracle-october-2020-critical-patch-advisory-pl-sql-detailed-changes\/","twitter_misc":{"Escrito por":"DBA RJ","Est. tempo de leitura":"152 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbarj.com.br\/pt-br\/2020\/10\/oracle-october-2020-critical-patch-advisory-pl-sql-detailed-changes\/#article","isPartOf":{"@id":"https:\/\/www.dbarj.com.br\/pt-br\/2020\/10\/oracle-october-2020-critical-patch-advisory-pl-sql-detailed-changes\/"},"author":{"name":"DBA RJ","@id":"https:\/\/www.dbarj.com.br\/pt-br\/#\/schema\/person\/28a44ca3a6633fe4156ad1ea209d40a9"},"headline":"Oracle October 2020 Critical Patch Advisory &#8211; PL\/SQL detailed changes","datePublished":"2020-10-28T13:31:05+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbarj.com.br\/pt-br\/2020\/10\/oracle-october-2020-critical-patch-advisory-pl-sql-detailed-changes\/"},"wordCount":1660,"commentCount":0,"publisher":{"@id":"https:\/\/www.dbarj.com.br\/pt-br\/#\/schema\/person\/28a44ca3a6633fe4156ad1ea209d40a9"},"articleSection":["Database Security","Oracle Database General"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbarj.com.br\/pt-br\/2020\/10\/oracle-october-2020-critical-patch-advisory-pl-sql-detailed-changes\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbarj.com.br\/pt-br\/2020\/10\/oracle-october-2020-critical-patch-advisory-pl-sql-detailed-changes\/","url":"https:\/\/www.dbarj.com.br\/pt-br\/2020\/10\/oracle-october-2020-critical-patch-advisory-pl-sql-detailed-changes\/","name":"Oracle October 2020 Critical Patch Advisory - PL\/SQL detailed changes - DBA - Rodrigo Jorge - Oracle Tips and Guides","isPartOf":{"@id":"https:\/\/www.dbarj.com.br\/pt-br\/#website"},"datePublished":"2020-10-28T13:31:05+00:00","description":"Oracle October 2020 Critical Patch Advisory changed objects performed by each database patch.","breadcrumb":{"@id":"https:\/\/www.dbarj.com.br\/pt-br\/2020\/10\/oracle-october-2020-critical-patch-advisory-pl-sql-detailed-changes\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbarj.com.br\/pt-br\/2020\/10\/oracle-october-2020-critical-patch-advisory-pl-sql-detailed-changes\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbarj.com.br\/pt-br\/2020\/10\/oracle-october-2020-critical-patch-advisory-pl-sql-detailed-changes\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.dbarj.com.br\/pt-br\/"},{"@type":"ListItem","position":2,"name":"Oracle October 2020 Critical Patch Advisory - PL\/SQL detailed changes"}]},{"@type":"WebSite","@id":"https:\/\/www.dbarj.com.br\/pt-br\/#website","url":"https:\/\/www.dbarj.com.br\/pt-br\/","name":"DBA - Rodrigo Jorge - Oracle Tips and Guides","description":"Blog about Databases, Security and High Availability","publisher":{"@id":"https:\/\/www.dbarj.com.br\/pt-br\/#\/schema\/person\/28a44ca3a6633fe4156ad1ea209d40a9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbarj.com.br\/pt-br\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":["Person","Organization"],"@id":"https:\/\/www.dbarj.com.br\/pt-br\/#\/schema\/person\/28a44ca3a6633fe4156ad1ea209d40a9","name":"DBA RJ","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2019\/09\/RodrigoJorgePOUG19.png","url":"https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2019\/09\/RodrigoJorgePOUG19.png","contentUrl":"https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2019\/09\/RodrigoJorgePOUG19.png","width":712,"height":712,"caption":"DBA RJ"},"logo":{"@id":"https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2019\/09\/RodrigoJorgePOUG19.png"}}]}},"_links":{"self":[{"href":"https:\/\/www.dbarj.com.br\/pt-br\/wp-json\/wp\/v2\/posts\/4838","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbarj.com.br\/pt-br\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbarj.com.br\/pt-br\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbarj.com.br\/pt-br\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbarj.com.br\/pt-br\/wp-json\/wp\/v2\/comments?post=4838"}],"version-history":[{"count":0,"href":"https:\/\/www.dbarj.com.br\/pt-br\/wp-json\/wp\/v2\/posts\/4838\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.dbarj.com.br\/pt-br\/wp-json\/wp\/v2\/media?parent=4838"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbarj.com.br\/pt-br\/wp-json\/wp\/v2\/categories?post=4838"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbarj.com.br\/pt-br\/wp-json\/wp\/v2\/tags?post=4838"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}