Forum Stats

  • 3,757,164 Users
  • 2,251,204 Discussions
  • 7,869,747 Comments

Discussions

Bug getting a list of arguments at the next level for table type procedure argument with OCI in Inst

4083582
4083582 Member Posts: 2
edited Sep 24, 2020 4:52AM in Oracle Call Interface (OCI)

We have a next test package.

CREATE OR REPLACE PACKAGE pg_test IS  TYPE T_VARCHAR2 IS TABLE OF VARCHAR2(50) INDEX BY BINARY_INTEGER;  PROCEDURE p_test  (     a_param0 IN         T_VARCHAR2,     a_param1 OUT NOCOPY T_VARCHAR2  );END pg_test;CREATE OR REPLACE PACKAGE BODY pg_test IS  PROCEDURE p_test  (     a_param0 IN         T_VARCHAR2,     a_param1 OUT NOCOPY T_VARCHAR2  )  IS  BEGIN    FOR ii IN 1..a_param0.COUNT    LOOP      a_param1(ii) := a_param0(ii);    END LOOP;  END p_test;END pg_test;

In Oracle 12.2.0.1.0, in accordance with "Example 7-3 Describing the Stored Procedure" in "7.4.2 Describing the Stored Procedure"

(https://docs.oracle.com/en/database/oracle/oracle-database/12.2/lnoci/describing-schema-metadata.html#GUID-620445C6-0F81-4DA8-AC79-CB046F52890B)

we got a list of arguments at the next level (when the argument is of a record or table type) by

OCIAttrGet((void *)arg, OCI_DTYPE_PARAM, (void *)&arglst1, (ub4 *)0, OCI_ATTR_LIST_ARGUMENTS, errh)

After migration to Oracle 19.3.0.0.0 and using Instant Client for Windows.x64 19.6.0.0.0

this call has stopped working although the documentation says that list of arguments at the next level must return

"8.2.11 Argument and Result Attributes"

(https://docs.oracle.com/en/database/oracle/oracle-database/19/lnoci/describing-schema-metadata.html#GUID-93E64E03-2D20-4CDB-B13F-1E39AA4116D1)

user11159261

Answers