@@ -125,6 +125,7 @@ create or replace package body ut_expectation_processor as
125125 l_line_no integer;
126126 l_owner varchar2(1000);
127127 l_object_name varchar2(1000);
128+ l_object_full_name varchar2(1000);
128129 l_result varchar2(4000);
129130 -- in 12.2 format_call_stack reportes not only package name, but also the procedure name
130131 -- when 11g and 12c reports only package name
@@ -135,9 +136,10 @@ create or replace package body ut_expectation_processor as
135136 if l_caller_stack_line like '%.%' then
136137 l_line_no := to_number( regexp_substr(l_caller_stack_line,'(0x)?[0-9a-f]+\s+(\d+)',subexpression => 2) );
137138 l_owner := regexp_substr(l_caller_stack_line,'([A-Za-z0-9$#_]+)\.([A-Za-z0-9$#_]|\.)+',subexpression => 1);
138- l_object_name := regexp_substr(l_caller_stack_line,'([A-Za-z0-9$#_]+)\.(([A-Za-z0-9$#_]|\.)+)',subexpression => 2);
139+ l_object_name := regexp_substr(l_caller_stack_line,'([A-Za-z0-9$#_]+)\.([A-Za-z0-9$#_]+)',subexpression => 2);
140+ l_object_full_name := regexp_substr(l_caller_stack_line,'([A-Za-z0-9$#_]+)\.(([A-Za-z0-9$#_]|\.)+)',subexpression => 2);
139141 if l_owner is not null and l_object_name is not null and l_line_no is not null then
140- l_result := 'at "' || l_owner || '.' || l_object_name || '", line '|| l_line_no || ' '
142+ l_result := 'at "' || l_owner || '.' || l_object_full_name || '", line '|| l_line_no || ' '
141143 || ut_metadata.get_source_definition_line(l_owner, l_object_name, l_line_no);
142144 end if;
143145 end if;
0 commit comments