Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 093006d

Browse files
authored
Merge pull request #446 from utPLSQL/feature/data_value_cursor_fix
Fixed a bug with comparison od ref_cursors with more than 1000 rows.
2 parents ffc190b + 1c70cdc commit 093006d

3 files changed

Lines changed: 23 additions & 2 deletions

File tree

source/expectations/data_values/ut_data_value_refcursor.tpb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ create or replace type body ut_data_value_refcursor as
7070
l_xml := dbms_xmlgen.getxmltype(l_ctx);
7171

7272
insert into ut_cursor_data(cursor_data_guid, row_no, row_data)
73-
select self.data_value, rownum, value(a) from table( xmlsequence( extract(l_xml,'ROWSET/*') ) ) a;
73+
select self.data_value, self.row_count + rownum, value(a) from table( xmlsequence( extract(l_xml,'ROWSET/*') ) ) a;
7474

7575
exit when sql%rowcount = 0;
7676

tests/RunAll.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ exec ut_coverage.coverage_start_develop();
9797
@@lib/RunTest.sql ut_expectations/ut.expect.to_equal.cursor.ReturnsCursorDataForFailure.sql
9898
@@lib/RunTest.sql ut_expectations/ut.expect.to_equal.cursor.SupportsSQLandPLSQLdatatypes.sql
9999
@@lib/RunTest.sql ut_expectations/ut.expect.to_equal.cursor.UsesDefaultNLSSettingsForDatesFormatting.sql
100-
@@lib/RunTest.sql ut_expectations/ut.expect.to_equal.cursor.ReturnsCursorDataForFailure.sql
100+
@@lib/RunTest.sql ut_expectations/ut.expect.to_equal.cursor.worksOnLargeDatasets.sql
101101
@@ut_expectations/ut.expect.to_equal.GivesFailureForDifferentDataTypes.sql
102102
@@ut_expectations/ut.expect.to_equal.GivesFailureForDifferentValues.sql
103103
@@ut_expectations/ut.expect.to_equal.GivesFailureWhenActualIsNull.sql
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
--Arrange
2+
declare
3+
l_actual sys_refcursor;
4+
l_expected sys_refcursor;
5+
l_result integer;
6+
begin
7+
--Act
8+
open l_actual for select object_name from all_objects where rownum <=1100;
9+
open l_expected for select object_name from all_objects where rownum <=1100;
10+
ut.expect(l_actual).to_equal(l_expected);
11+
12+
--Assert
13+
l_result := ut_expectation_processor.get_status();
14+
--Assert
15+
if l_result = ut_utils.tr_success then
16+
:test_result := ut_utils.tr_success;
17+
else
18+
dbms_output.put_line('expected 1 data and got: '||l_result );
19+
end if;
20+
end;
21+
/

0 commit comments

Comments
 (0)