Skip to content

Cannot compile package parse_util in Oracle Database 18c #25

@PhilippSalvisberg

Description

@PhilippSalvisberg

Problem

Installation of plsql-utils fails in Oracle Database 18c with

Errors for PACKAGE BODY PLSCOPE.PARSE_UTIL:

LINE/COL ERROR
-------- -----------------------------------------------------------------
33/10    PL/SQL: Statement ignored
33/10    PLS-00306: wrong number or types of arguments in call to 'PARSEQUERY'

Reason

The utl_xml.parseQuery procedure has the following new signature:

PROCEDURE parseQuery   (currUid IN NUMBER,
                        schema  IN VARCHAR2,
                        sqltext IN CLOB,
                        lobloc  IN OUT NOCOPY CLOB
                       )
  ACCESSIBLE BY (PACKAGE SYS.DBMS_METADATA);

The following things are different to Oracle Database 12.2:

  • The first parameter currUid is new, this is not a problem to identify the user_id of the current user and pass it to the procedure.
  • The accessible by clause is new as well and it is prohibiting the use of this procedure in other packages than SYS.DBMS_METADATA

As a consequence of these changes the package parse_util cannot be compiled in Oracle Database 18c. Alternatives have to be elaborated.

Metadata

Metadata

Labels

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions