Skip to content

Long column names cause cursor comparison to fail (3.1.6) #952

@jgebal

Description

@jgebal

Describe the bug
When doing a cursor comparison of query that uses long column names the cursor comparison fails with internal framework error.

Provide version info
utPLSQL v3.1.6

Information about client software
not applicable

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Example code

CREATE OR REPLACE PACKAGE ut_long_name IS

  --%suite

  --%test
  PROCEDURE long_name;
  
END ut_long_name;
/

CREATE OR REPLACE PACKAGE BODY ut_long_name IS

  --
  -- test
  --
  PROCEDURE long_name IS
    l_actual   sys_refcursor;
    l_expected sys_refcursor;
  BEGIN
    -- populate actual
    open l_actual for
    select rownum as id, '1' some_column_with_a_pretty_long_enough_name from dual;
  
    open l_expected for
    select rownum as id, '1' some_column_with_a_pretty_long_enough_name from dual;

    ut.expect(l_actual).to_equal(l_expected).include('ID,SOME_COLUMN_WITH_A_PRETTY_LONG_ENOUGH_NAME').join_by('ID');
  END long_name;
  
END ut_long_name;
/


set serverout on
exec ut.run('ut_long_name');

ut_long_name
  long_name [.473 sec] (FAILED - 1)
 
Failures:
 
  1) long_name
      ORA-06502: PL/SQL: numeric or value error: character string buffer too small
      ORA-06512: at "UTP3.UT_DATA_VALUE_REFCURSOR", line 103
      ORA-06512: at "UTP3.UT_CURSOR_COLUMN", line 22
      ORA-06512: at "UTP3.UT_CURSOR_COLUMN", line 48
      ORA-06512: at "UTP3.UT_CURSOR_DETAILS", line 106
      ORA-06512: at "UTP3.UT_DATA_VALUE_REFCURSOR", line 90
      ORA-06512: at "UTP3.UT_DATA_VALUE_REFCURSOR", line 22
      ORA-06512: at "UTP3.UT", line 83
      ORA-06512: at "xxx.UT_LONG_NAME", line 17
      ORA-06512: at "UTP3.UT_DATA_VALUE_REFCURSOR", line 103
      ORA-06512: at "UTP3.UT_CURSOR_COLUMN", line 22
      ORA-06512: at "UTP3.UT_CURSOR_COLUMN", line 48
      ORA-06512: at "UTP3.UT_CURSOR_DETAILS", line 106
      ORA-06512: at "UTP3.UT_DATA_VALUE_REFCURSOR", line 90
      ORA-06512: at "UTP3.UT_DATA_VALUE_REFCURSOR", line 22
      ORA-06512: at "UTP3.UT", line 83
      ORA-06512: at "xxx.UT_LONG_NAME", line 17
      ORA-06512: at line 6
Finished in .484254 seconds
1 tests, 0 failed, 1 errored, 0 disabled, 0 warning(s)

Additional context
not needed

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions