@@ -231,8 +231,7 @@ create or replace package body ut_compound_data_helper is
231231 elsif a_data_info.is_sql_diffable = 1 and a_data_info.column_type in ('DATE','TIMESTAMP','TIMESTAMP WITH TIME ZONE',
232232 'TIMESTAMP WITH LOCAL TIME ZONE') then
233233 l_col_type := 'VARCHAR2(50)';
234- elsif a_data_info.is_sql_diffable = 1 and a_data_info.column_type in ('INTERVAL DAY TO SECOND',
235- 'INTERVAL YEAR TO MONTH', 'BINARY_FLOAT', 'BINARY_DOUBLE') then
234+ elsif a_data_info.is_sql_diffable = 1 and type_no_length(a_data_info.column_type) then
236235 l_col_type := a_data_info.column_type;
237236 else
238237 l_col_type := a_data_info.column_type
@@ -570,6 +569,8 @@ create or replace package body ut_compound_data_helper is
570569 --clob/blob/xmltype/object/nestedcursor/nestedtable
571570 if a_type_name IN (g_type_name_map(dbms_sql.blob_type),
572571 g_type_name_map(dbms_sql.clob_type),
572+ g_type_name_map(dbms_sql.long_type),
573+ g_type_name_map(dbms_sql.long_raw_type),
573574 g_type_name_map(dbms_sql.bfile_type),
574575 g_anytype_name_map(dbms_types.typecode_namedcollection))
575576 then
@@ -605,6 +606,16 @@ create or replace package body ut_compound_data_helper is
605606 'Check the query and data for errors.';
606607 end;
607608
609+ function type_no_length ( a_type_name varchar2) return boolean is
610+ begin
611+ return case
612+ when a_type_name in ('INTERVAL DAY TO SECOND','INTERVAL YEAR TO MONTH', 'BINARY_FLOAT', 'BINARY_DOUBLE','ROWID') then
613+ true
614+ else
615+ false
616+ end;
617+ end;
618+
608619begin
609620 g_anytype_name_map(dbms_types.typecode_date) := 'DATE';
610621 g_anytype_name_map(dbms_types.typecode_number) := 'NUMBER';
0 commit comments