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

Skip to content

Commit 6639c6a

Browse files
pesseSamuel Nitsche
authored andcommitted
Removed autonomous_transaction from cursor init
Fixes #462 Added additional test for cursor comparison on temporary tables
1 parent 0b77ce1 commit 6639c6a

4 files changed

Lines changed: 66 additions & 1 deletion

File tree

source/expectations/data_values/ut_data_value_refcursor.tpb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ create or replace type body ut_data_value_refcursor as
4141
l_xml xmltype;
4242
c_bulk_rows constant integer := 1000;
4343
l_current_date_format varchar2(4000);
44-
pragma autonomous_transaction;
4544
begin
4645
self.is_cursor_null := ut_utils.boolean_to_int(a_value is null);
4746
self.self_type := $$plsql_unit;

test/install_tests.sql

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
@@ut_reporters/test_coverage.pks
99
@@ut_reporters/test_coverage_sonar_reporter.pks
1010
@@ut_reporters/test_coveralls_reporter.pks
11+
@@ut_runner/test_ut_runner.pks
12+
@ut_expectations/test_expectations_cursor.pks
1113

1214
@core.pkb
1315
@ut_utils/test_ut_utils.pkb
@@ -18,6 +20,8 @@
1820
@@ut_reporters/test_coverage.pkb
1921
@@ut_reporters/test_coverage_sonar_reporter.pkb
2022
@@ut_reporters/test_coveralls_reporter.pkb
23+
@@ut_runner/test_ut_runner.pkb
24+
@ut_expectations/test_expectations_cursor.pkb
2125

2226
show errors
2327

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
create or replace package body test_expectations_cursor is
2+
3+
procedure setup_temp_table_test
4+
as
5+
pragma autonomous_transaction;
6+
begin
7+
execute immediate 'create global temporary table gtt_test_table (
8+
value varchar2(250)
9+
) on commit delete rows';
10+
11+
end;
12+
13+
procedure cleanup_temp_table_test
14+
as
15+
pragma autonomous_transaction;
16+
begin
17+
execute immediate 'drop table gtt_test_table';
18+
end;
19+
20+
procedure test_cursor_w_temp_table
21+
as
22+
pragma autonomous_transaction;
23+
v_expected t_gtt_data_t;
24+
25+
c_expected sys_refcursor;
26+
c_actual sys_refcursor;
27+
begin
28+
29+
v_expected(1).value := 'Test-entry';
30+
31+
-- insert test-data into temporary table
32+
execute immediate 'insert into gtt_test_table ( value ) values ( ''Test-entry'' )';
33+
34+
-- test
35+
open c_expected for select * from table(v_expected);
36+
open c_actual for 'select * from gtt_test_table';
37+
38+
ut.expect( c_actual ).to_equal( a_expected => c_expected );
39+
40+
end;
41+
end;
42+
/
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
create or replace package test_expectations_cursor is
2+
3+
--%suite(expectations - cursor)
4+
--%suitepath(utplsql.core.expectations.cursor)
5+
6+
7+
procedure setup_temp_table_test;
8+
procedure cleanup_temp_table_test;
9+
10+
--%test(Test cursor on temporary table)
11+
--%beforetest(setup_temp_table_test)
12+
--%aftertest(cleanup_temp_table_test)
13+
procedure test_cursor_w_temp_table;
14+
15+
type t_gtt_data_r is record (
16+
value varchar2(250)
17+
);
18+
type t_gtt_data_t is table of t_gtt_data_r index by binary_integer;
19+
end;
20+
/

0 commit comments

Comments
 (0)