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

Skip to content

Commit fc905ac

Browse files
committed
Saving progress
1 parent 2b9d4f3 commit fc905ac

14 files changed

Lines changed: 298 additions & 249 deletions

source/expectations/data_values/ut_column_info.tpb

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,21 @@ create or replace type body ut_column_info as
1111
a_col_type_name varchar2,
1212
a_col_prec integer,
1313
a_col_scale integer,
14-
a_col_len integer,
15-
a_dbms_sql_desc boolean := false) is
14+
a_col_max_len integer,
15+
a_dbms_sql_desc boolean := false,
16+
a_parent_name varchar2 := null) is
1617
begin
1718
self.is_user_defined := 0;
1819
self.column_prec := a_col_prec;
19-
self.column_len := a_col_len;
20+
self.column_len := a_col_max_len;
2021
self.column_scale := a_col_scale;
21-
self.xml_valid_name := '"'||a_col_name||'"';
22-
self.column_name := a_col_name;
22+
self.column_name := TRIM( BOTH '''' FROM a_col_name);
23+
self.xml_valid_name := '"'||self.column_name||'"';
24+
self.hashed_name := case when a_parent_name is not null then
25+
ut_compound_data_helper.get_hash(utl_raw.cast_to_raw(a_parent_name||self.column_name))
26+
else
27+
null
28+
end;
2329
self.column_type := get_data_type(a_col_type,a_dbms_sql_desc);
2430
self.column_schema := a_col_schema_name;
2531
self.is_sql_diffable := ut_utils.boolean_to_int(ut_curr_usr_compound_helper.is_sql_compare_allowed(self.column_type));

source/expectations/data_values/ut_column_info.tps

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
create or replace type ut_column_info force authid current_user as object
22
(
33
xml_valid_name varchar2(100),
4+
hashed_name raw(30),
45
column_name varchar2(100),
56
column_type varchar2(100),
67
column_schema varchar2(100),
@@ -18,8 +19,9 @@ create or replace type ut_column_info force authid current_user as object
1819
a_col_type_name varchar2,
1920
a_col_prec integer,
2021
a_col_scale integer,
21-
a_col_len integer,
22-
a_dbms_sql_desc boolean := false)
22+
a_col_max_len integer,
23+
a_dbms_sql_desc boolean := false,
24+
a_parent_name varchar2 := null)
2325
)
2426
not final not instantiable
2527
/

source/expectations/data_values/ut_column_info_rec.tpb

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
create or replace type body ut_column_info_rec as
22

3-
member function get_anytype_attributes_info(a_anytype anytype)
3+
member function get_anytype_attributes_info(a_anytype anytype, a_col_name varchar2)
44
return ut_column_info_tab is
55
l_result ut_column_info_tab := ut_column_info_tab();
66
l_attribute_typecode pls_integer;
@@ -54,7 +54,9 @@ create or replace type body ut_column_info_rec as
5454
null,
5555
l_prec,
5656
l_scale,
57-
l_len);
57+
l_len,
58+
false,
59+
a_col_name);
5860
end loop;
5961
return l_result;
6062
end;
@@ -86,23 +88,29 @@ create or replace type body ut_column_info_rec as
8688
a_col_type_name varchar2,
8789
a_col_prec integer,
8890
a_col_scale integer,
89-
a_col_len integer,
90-
a_dbms_sql_desc boolean := false) is
91+
a_col_max_len integer,
92+
a_dbms_sql_desc boolean := false,
93+
a_parent_name varchar2) is
9194
l_anytype anytype;
9295
begin
9396
self.column_prec := a_col_prec;
94-
self.column_len := a_col_len;
97+
self.column_len := a_col_max_len;
9598
self.column_scale := a_col_scale;
96-
self.xml_valid_name := '"'||a_col_name||'"';
97-
self.column_name := a_col_name;
99+
self.column_name := TRIM(BOTH '''' FROM a_col_name);
100+
self.xml_valid_name := '"'||self.column_name||'"';
101+
self.hashed_name := case when a_parent_name is not null then
102+
ut_compound_data_helper.get_hash(utl_raw.cast_to_raw(a_parent_name||self.column_name))
103+
else
104+
null
105+
end;
98106
self.column_type := a_col_type_name;
99107
self.column_schema := a_col_schema_name;
100108
self.is_sql_diffable := 0;
101109
self.is_collection := ut_utils.boolean_to_int(ut_curr_usr_compound_helper.is_collection(a_col_schema_name,a_col_type_name));
102110
self.is_user_defined := 1;
103111

104112
l_anytype := get_user_defined_type(a_col_schema_name, a_col_type_name);
105-
self.nested_details := get_anytype_attributes_info(l_anytype);
113+
self.nested_details := get_anytype_attributes_info(l_anytype, self.column_name);
106114
end;
107115

108116
constructor function ut_column_info_rec(self in out nocopy ut_column_info_rec,
@@ -112,18 +120,20 @@ create or replace type body ut_column_info_rec as
112120
a_col_type_name varchar2,
113121
a_col_prec integer,
114122
a_col_scale integer,
115-
a_col_len integer,
116-
a_dbms_sql_desc boolean := false)
123+
a_col_max_len integer,
124+
a_dbms_sql_desc boolean := false,
125+
a_parent_name varchar2 := null)
117126
return self as result is
118127
begin
119128
if a_col_type = dbms_sql.user_defined_type then
120-
self.init(a_col_type, a_col_name, a_col_schema_name, a_col_type_name,a_col_prec,a_col_scale,a_col_len);
129+
self.init(a_col_type, a_col_name, a_col_schema_name, a_col_type_name,a_col_prec,a_col_scale,a_col_max_len);
121130
else
122131
(self as ut_column_info).init(a_col_type,
123132
a_col_name,
124133
a_col_schema_name,
125-
a_col_type_name,a_col_prec,a_col_scale,a_col_len,
126-
a_dbms_sql_desc);
134+
a_col_type_name,a_col_prec,a_col_scale,a_col_max_len,
135+
a_dbms_sql_desc,
136+
a_parent_name);
127137
end if;
128138
return;
129139
end;
Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
create or replace type ut_column_info_rec under ut_column_info
22
(
33
nested_details ut_column_info_tab,
4-
member function get_anytype_attributes_info(a_anytype anytype)
4+
parent_name varchar2(100),
5+
member function get_anytype_attributes_info(a_anytype anytype, a_col_name varchar2)
56
return ut_column_info_tab,
67
member function get_user_defined_type(a_owner varchar2, a_type_name varchar2)
78
return anytype,
@@ -12,17 +13,19 @@ create or replace type ut_column_info_rec under ut_column_info
1213
a_col_type_name varchar2,
1314
a_col_prec integer,
1415
a_col_scale integer,
15-
a_col_len integer,
16-
a_dbms_sql_desc boolean := false),
16+
a_col_max_len integer,
17+
a_dbms_sql_desc boolean := false,
18+
a_parent_name varchar2 := null),
1719
constructor function ut_column_info_rec(self in out nocopy ut_column_info_rec,
1820
a_col_type binary_integer,
1921
a_col_name varchar2,
2022
a_col_schema_name varchar2,
2123
a_col_type_name varchar2,
2224
a_col_prec integer,
2325
a_col_scale integer,
24-
a_col_len integer,
25-
a_dbms_sql_desc boolean := false)
26+
a_col_max_len integer,
27+
a_dbms_sql_desc boolean := false,
28+
a_parent_name varchar2 := null)
2629
return self as result
2730
)
2831
/

0 commit comments

Comments
 (0)