Fix message id in output buffer by Pazus · Pull Request #916 · utPLSQL/utPLSQL · GitHub
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion source/core/output_buffers/ut_output_clob_table_buffer.tpb
2 changes: 1 addition & 1 deletion source/core/output_buffers/ut_output_table_buffer.tpb
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ create or replace type body ut_output_table_buffer is
select self.output_id, self.last_message_id + rownum, t.column_value, a_item_type
from table(a_text_list) t
where t.column_value is not null or a_item_type is not null;
self.last_message_id := self.last_message_id + a_text_list.count;
self.last_message_id := self.last_message_id + SQL%rowcount;
commit;
end;

Expand Down
18 changes: 18 additions & 0 deletions test/ut3_tester/core/test_output_buffer.pkb
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,24 @@ create or replace package body test_output_buffer is
ut.expect(l_cur).to_be_empty;
end;


procedure test_doesnt_send_on_null_elem is
l_cur sys_refcursor;
l_result integer;
l_buffer ut3.ut_output_buffer_base := ut3.ut_output_table_buffer();
l_message_id varchar2(255);
l_text varchar2(4000);
begin
ut3_tester_helper.run_helper.delete_buffer();
--Act
l_buffer.send_lines(ut3.ut_varchar2_rows(null));
l_buffer.send_lines(ut3.ut_varchar2_rows('test'));

select message_id, text into l_message_id, l_text from table(ut3_tester_helper.run_helper.ut_output_buffer_tmp);
ut.expect(l_message_id).to_equal('1');
ut.expect(l_text).to_equal('test');
end;

procedure test_send_line is
l_result varchar2(4000);
c_expected constant varchar2(4000) := lpad('a text',4000,',a text');
Expand Down
3 changes: 3 additions & 0 deletions test/ut3_tester/core/test_output_buffer.pks