Skip to content

Commit b0bb4c3

Browse files
authored
Merge pull request #916 from utPLSQL/fix-message-id-in-output-buffer
Fix message id in output buffer
2 parents 584cfcd + 1b1d86c commit b0bb4c3

File tree

4 files changed

+23
-2
lines changed

4 files changed

+23
-2
lines changed

source/core/output_buffers/ut_output_clob_table_buffer.tpb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ create or replace type body ut_output_clob_table_buffer is
6666
select self.output_id, self.last_message_id + rownum, t.column_value, a_item_type
6767
from table(a_text_list) t
6868
where t.column_value is not null or a_item_type is not null;
69-
self.last_message_id := self.last_message_id + a_text_list.count;
69+
self.last_message_id := self.last_message_id + SQL%rowcount;
7070
commit;
7171
end;
7272

source/core/output_buffers/ut_output_table_buffer.tpb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ create or replace type body ut_output_table_buffer is
7575
select self.output_id, self.last_message_id + rownum, t.column_value, a_item_type
7676
from table(a_text_list) t
7777
where t.column_value is not null or a_item_type is not null;
78-
self.last_message_id := self.last_message_id + a_text_list.count;
78+
self.last_message_id := self.last_message_id + SQL%rowcount;
7979
commit;
8080
end;
8181

test/ut3_tester/core/test_output_buffer.pkb

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,24 @@ create or replace package body test_output_buffer is
4646
ut.expect(l_cur).to_be_empty;
4747
end;
4848

49+
50+
procedure test_doesnt_send_on_null_elem is
51+
l_cur sys_refcursor;
52+
l_result integer;
53+
l_buffer ut3.ut_output_buffer_base := ut3.ut_output_table_buffer();
54+
l_message_id varchar2(255);
55+
l_text varchar2(4000);
56+
begin
57+
ut3_tester_helper.run_helper.delete_buffer();
58+
--Act
59+
l_buffer.send_lines(ut3.ut_varchar2_rows(null));
60+
l_buffer.send_lines(ut3.ut_varchar2_rows('test'));
61+
62+
select message_id, text into l_message_id, l_text from table(ut3_tester_helper.run_helper.ut_output_buffer_tmp);
63+
ut.expect(l_message_id).to_equal('1');
64+
ut.expect(l_text).to_equal('test');
65+
end;
66+
4967
procedure test_send_line is
5068
l_result varchar2(4000);
5169
c_expected constant varchar2(4000) := lpad('a text',4000,',a text');

test/ut3_tester/core/test_output_buffer.pks

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ create or replace package test_output_buffer is
99
--%test(Does not send line if null text given)
1010
procedure test_doesnt_send_on_null_text;
1111

12+
--%test(Does not send line if null text given for multiline case)
13+
procedure test_doesnt_send_on_null_elem;
14+
1215
--%test(Sends a line into buffer table)
1316
procedure test_send_line;
1417

0 commit comments

Comments
 (0)