Add data type checks

This commit is contained in:
Jan Kvetina 2022-01-15 09:01:43 +01:00
parent 3462a721f5
commit eb8499239a
3 changed files with 823 additions and 54 deletions

View File

@ -80,7 +80,7 @@ wwv_flow_api.create_page_plug(
,p_region_css_classes=>'SHORT'
,p_region_template_options=>'#DEFAULT#:t-HeroRegion--hideIcon'
,p_plug_template=>wwv_flow_api.id(9070356145569920)
,p_plug_display_sequence=>70
,p_plug_display_sequence=>110
,p_include_in_reg_disp_sel_yn=>'Y'
,p_plug_display_point=>'BODY'
,p_plug_query_options=>'DERIVED_REPORT_COLUMNS'
@ -96,7 +96,7 @@ wwv_flow_api.create_page_plug(
,p_region_template_options=>'#DEFAULT#'
,p_component_template_options=>'#DEFAULT#'
,p_plug_template=>wwv_flow_api.id(9078290074569925)
,p_plug_display_sequence=>80
,p_plug_display_sequence=>120
,p_include_in_reg_disp_sel_yn=>'Y'
,p_plug_display_point=>'BODY'
,p_query_type=>'TABLE'
@ -746,7 +746,7 @@ wwv_flow_api.create_page_plug(
,p_region_css_classes=>'SHORT'
,p_region_template_options=>'#DEFAULT#:t-HeroRegion--hideIcon'
,p_plug_template=>wwv_flow_api.id(9070356145569920)
,p_plug_display_sequence=>170
,p_plug_display_sequence=>210
,p_include_in_reg_disp_sel_yn=>'Y'
,p_plug_display_point=>'BODY'
,p_plug_query_options=>'DERIVED_REPORT_COLUMNS'
@ -762,7 +762,7 @@ wwv_flow_api.create_page_plug(
,p_region_template_options=>'#DEFAULT#'
,p_component_template_options=>'#DEFAULT#'
,p_plug_template=>wwv_flow_api.id(9078290074569925)
,p_plug_display_sequence=>180
,p_plug_display_sequence=>220
,p_include_in_reg_disp_sel_yn=>'Y'
,p_plug_display_point=>'BODY'
,p_query_type=>'TABLE'
@ -962,7 +962,7 @@ wwv_flow_api.create_page_plug(
,p_region_template_options=>'#DEFAULT#'
,p_component_template_options=>'#DEFAULT#'
,p_plug_template=>wwv_flow_api.id(9078290074569925)
,p_plug_display_sequence=>200
,p_plug_display_sequence=>240
,p_include_in_reg_disp_sel_yn=>'Y'
,p_plug_display_point=>'BODY'
,p_query_type=>'TABLE'
@ -971,7 +971,10 @@ wwv_flow_api.create_page_plug(
,p_plug_source_type=>'NATIVE_IG'
,p_plug_query_options=>'DERIVED_REPORT_COLUMNS'
,p_plug_display_condition_type=>'EXISTS'
,p_plug_display_when_condition=>'SELECT 1 FROM obj_indexes_missing;'
,p_plug_display_when_condition=>wwv_flow_string.join(wwv_flow_t_varchar2(
'SELECT 1',
'FROM obj_indexes_missing',
'WHERE ROWNUM = 1;'))
,p_prn_units=>'MILLIMETERS'
,p_prn_paper_size=>'A4'
,p_prn_width=>297
@ -1273,15 +1276,18 @@ wwv_flow_api.create_ig_report_column(
wwv_flow_api.create_page_plug(
p_id=>wwv_flow_api.id(15558148926498013)
,p_plug_name=>'Missing Indexes'
,p_region_css_classes=>'SHORT'
,p_region_template_options=>'#DEFAULT#:t-HeroRegion--hideIcon'
,p_icon_css_classes=>'fa-warning'
,p_region_template_options=>'#DEFAULT#'
,p_plug_template=>wwv_flow_api.id(9070356145569920)
,p_plug_display_sequence=>190
,p_plug_display_sequence=>230
,p_include_in_reg_disp_sel_yn=>'Y'
,p_plug_display_point=>'BODY'
,p_plug_query_options=>'DERIVED_REPORT_COLUMNS'
,p_plug_display_condition_type=>'EXISTS'
,p_plug_display_when_condition=>'SELECT 1 FROM obj_indexes_missing;'
,p_plug_display_when_condition=>wwv_flow_string.join(wwv_flow_t_varchar2(
'SELECT 1',
'FROM obj_indexes_missing',
'WHERE ROWNUM = 1;'))
,p_attribute_01=>'N'
,p_attribute_02=>'HTML'
);
@ -1290,7 +1296,7 @@ wwv_flow_api.create_page_plug(
,p_plug_name=>'References (up) [LIST]'
,p_region_template_options=>'#DEFAULT#:margin-left-md:margin-right-md'
,p_plug_template=>wwv_flow_api.id(9078290074569925)
,p_plug_display_sequence=>130
,p_plug_display_sequence=>170
,p_include_in_reg_disp_sel_yn=>'Y'
,p_plug_grid_column_span=>3
,p_plug_display_point=>'BODY'
@ -1312,7 +1318,7 @@ wwv_flow_api.create_page_plug(
,p_icon_css_classes=>'fa-arrow-up'
,p_region_template_options=>'#DEFAULT#'
,p_plug_template=>wwv_flow_api.id(9070356145569920)
,p_plug_display_sequence=>90
,p_plug_display_sequence=>130
,p_include_in_reg_disp_sel_yn=>'Y'
,p_plug_grid_column_span=>3
,p_plug_display_point=>'BODY'
@ -1328,7 +1334,7 @@ wwv_flow_api.create_page_plug(
,p_icon_css_classes=>'fa-arrow-down'
,p_region_template_options=>'#DEFAULT#'
,p_plug_template=>wwv_flow_api.id(9070356145569920)
,p_plug_display_sequence=>100
,p_plug_display_sequence=>140
,p_include_in_reg_disp_sel_yn=>'Y'
,p_plug_new_grid_row=>false
,p_plug_grid_column_span=>3
@ -1344,7 +1350,7 @@ wwv_flow_api.create_page_plug(
,p_plug_name=>'References (down) [LIST]'
,p_region_template_options=>'#DEFAULT#:margin-left-md:margin-right-md'
,p_plug_template=>wwv_flow_api.id(9078290074569925)
,p_plug_display_sequence=>140
,p_plug_display_sequence=>180
,p_include_in_reg_disp_sel_yn=>'Y'
,p_plug_new_grid_row=>false
,p_plug_grid_column_span=>3
@ -1367,7 +1373,7 @@ wwv_flow_api.create_page_plug(
,p_icon_css_classes=>'fa-map-signs'
,p_region_template_options=>'#DEFAULT#'
,p_plug_template=>wwv_flow_api.id(9070356145569920)
,p_plug_display_sequence=>120
,p_plug_display_sequence=>160
,p_include_in_reg_disp_sel_yn=>'Y'
,p_plug_new_grid_row=>false
,p_plug_grid_column_span=>3
@ -1383,7 +1389,7 @@ wwv_flow_api.create_page_plug(
,p_plug_name=>'Referenced in Objects'
,p_region_template_options=>'#DEFAULT#:t-HeroRegion--hideIcon'
,p_plug_template=>wwv_flow_api.id(9070356145569920)
,p_plug_display_sequence=>110
,p_plug_display_sequence=>150
,p_include_in_reg_disp_sel_yn=>'Y'
,p_plug_new_grid_row=>false
,p_plug_grid_column_span=>3
@ -1399,7 +1405,7 @@ wwv_flow_api.create_page_plug(
,p_plug_name=>'References (pages) [LIST]'
,p_region_template_options=>'#DEFAULT#:margin-left-md:margin-right-md'
,p_plug_template=>wwv_flow_api.id(9078290074569925)
,p_plug_display_sequence=>160
,p_plug_display_sequence=>200
,p_include_in_reg_disp_sel_yn=>'Y'
,p_plug_new_grid_row=>false
,p_plug_grid_column_span=>3
@ -1423,7 +1429,7 @@ wwv_flow_api.create_page_plug(
,p_plug_name=>'References (objects) [LIST]'
,p_region_template_options=>'#DEFAULT#:margin-left-md:margin-right-md'
,p_plug_template=>wwv_flow_api.id(9078290074569925)
,p_plug_display_sequence=>150
,p_plug_display_sequence=>190
,p_include_in_reg_disp_sel_yn=>'Y'
,p_plug_new_grid_row=>false
,p_plug_grid_column_span=>3
@ -1440,6 +1446,654 @@ wwv_flow_api.create_page_plug(
,p_attribute_02=>'REFERENCED_NAME'
,p_attribute_06=>'REFERENCED_TYPE'
);
wwv_flow_api.create_page_plug(
p_id=>wwv_flow_api.id(15857248612343737)
,p_plug_name=>'Fix Data Types'
,p_icon_css_classes=>'fa-warning'
,p_region_template_options=>'#DEFAULT#'
,p_plug_template=>wwv_flow_api.id(9070356145569920)
,p_plug_display_sequence=>70
,p_include_in_reg_disp_sel_yn=>'Y'
,p_plug_display_point=>'BODY'
,p_plug_query_options=>'DERIVED_REPORT_COLUMNS'
,p_plug_display_condition_type=>'EXISTS'
,p_plug_display_when_condition=>wwv_flow_string.join(wwv_flow_t_varchar2(
'SELECT 1',
'FROM obj_constraints_fix_dt1',
'WHERE ROWNUM = 1;'))
,p_attribute_01=>'N'
,p_attribute_02=>'HTML'
);
wwv_flow_api.create_page_plug(
p_id=>wwv_flow_api.id(15857364770343738)
,p_plug_name=>'Fix Data Types [LIST]'
,p_region_template_options=>'#DEFAULT#'
,p_plug_template=>wwv_flow_api.id(9078290074569925)
,p_plug_display_sequence=>80
,p_include_in_reg_disp_sel_yn=>'Y'
,p_plug_display_point=>'BODY'
,p_query_type=>'TABLE'
,p_query_table=>'OBJ_CONSTRAINTS_FIX_DT1'
,p_include_rowid_column=>false
,p_plug_source_type=>'NATIVE_IG'
,p_plug_query_options=>'DERIVED_REPORT_COLUMNS'
,p_plug_display_condition_type=>'EXISTS'
,p_plug_display_when_condition=>wwv_flow_string.join(wwv_flow_t_varchar2(
'SELECT 1',
'FROM obj_constraints_fix_dt1',
'WHERE ROWNUM = 1;'))
,p_prn_units=>'MILLIMETERS'
,p_prn_paper_size=>'A4'
,p_prn_width=>297
,p_prn_height=>210
,p_prn_orientation=>'HORIZONTAL'
,p_prn_page_header=>'Fix Data Types [LIST]'
,p_prn_page_header_font_color=>'#000000'
,p_prn_page_header_font_family=>'Helvetica'
,p_prn_page_header_font_weight=>'normal'
,p_prn_page_header_font_size=>'12'
,p_prn_page_footer_font_color=>'#000000'
,p_prn_page_footer_font_family=>'Helvetica'
,p_prn_page_footer_font_weight=>'normal'
,p_prn_page_footer_font_size=>'12'
,p_prn_header_bg_color=>'#EEEEEE'
,p_prn_header_font_color=>'#000000'
,p_prn_header_font_family=>'Helvetica'
,p_prn_header_font_weight=>'bold'
,p_prn_header_font_size=>'10'
,p_prn_body_bg_color=>'#FFFFFF'
,p_prn_body_font_color=>'#000000'
,p_prn_body_font_family=>'Helvetica'
,p_prn_body_font_weight=>'normal'
,p_prn_body_font_size=>'10'
,p_prn_border_width=>.5
,p_prn_page_header_alignment=>'CENTER'
,p_prn_page_footer_alignment=>'CENTER'
,p_prn_border_color=>'#666666'
);
wwv_flow_api.create_region_column_group(
p_id=>wwv_flow_api.id(15858274633343747)
,p_heading=>'Parent Table'
);
wwv_flow_api.create_region_column_group(
p_id=>wwv_flow_api.id(15858387257343748)
,p_heading=>'Foreign Table'
);
wwv_flow_api.create_region_column(
p_id=>wwv_flow_api.id(15857567599343740)
,p_name=>'FOREIGN_TABLE'
,p_source_type=>'DB_COLUMN'
,p_source_expression=>'FOREIGN_TABLE'
,p_data_type=>'VARCHAR2'
,p_is_query_only=>false
,p_item_type=>'NATIVE_DISPLAY_ONLY'
,p_heading=>'Table Name'
,p_heading_alignment=>'LEFT'
,p_display_sequence=>10
,p_value_alignment=>'LEFT'
,p_group_id=>wwv_flow_api.id(15858387257343748)
,p_use_group_for=>'BOTH'
,p_attribute_02=>'VALUE'
,p_attribute_05=>'PLAIN'
,p_link_target=>'f?p=&APP_ID.:951:&SESSION.::&DEBUG.:951:P951_TABLE_NAME:&FOREIGN_TABLE.'
,p_link_text=>'&FOREIGN_TABLE.'
,p_enable_filter=>true
,p_filter_operators=>'C:S:CASE_INSENSITIVE:REGEXP'
,p_filter_is_required=>false
,p_filter_text_case=>'MIXED'
,p_filter_lov_type=>'NONE'
,p_use_as_row_header=>false
,p_enable_sort_group=>true
,p_enable_control_break=>true
,p_enable_hide=>true
,p_is_primary_key=>false
,p_duplicate_value=>true
,p_include_in_export=>true
);
wwv_flow_api.create_region_column(
p_id=>wwv_flow_api.id(15857607972343741)
,p_name=>'FOREIGN_COLUMN'
,p_source_type=>'DB_COLUMN'
,p_source_expression=>'FOREIGN_COLUMN'
,p_data_type=>'VARCHAR2'
,p_is_query_only=>false
,p_item_type=>'NATIVE_DISPLAY_ONLY'
,p_heading=>'Column Name'
,p_heading_alignment=>'LEFT'
,p_display_sequence=>20
,p_value_alignment=>'LEFT'
,p_group_id=>wwv_flow_api.id(15858387257343748)
,p_use_group_for=>'BOTH'
,p_attribute_02=>'VALUE'
,p_attribute_05=>'PLAIN'
,p_enable_filter=>true
,p_filter_operators=>'C:S:CASE_INSENSITIVE:REGEXP'
,p_filter_is_required=>false
,p_filter_text_case=>'MIXED'
,p_filter_lov_type=>'NONE'
,p_use_as_row_header=>false
,p_enable_sort_group=>true
,p_enable_control_break=>true
,p_enable_hide=>true
,p_is_primary_key=>false
,p_duplicate_value=>true
,p_include_in_export=>true
);
wwv_flow_api.create_region_column(
p_id=>wwv_flow_api.id(15857786190343742)
,p_name=>'FOREIGN_TYPE'
,p_source_type=>'DB_COLUMN'
,p_source_expression=>'FOREIGN_TYPE'
,p_data_type=>'VARCHAR2'
,p_is_query_only=>false
,p_item_type=>'NATIVE_DISPLAY_ONLY'
,p_heading=>'Data Type'
,p_heading_alignment=>'LEFT'
,p_display_sequence=>30
,p_value_alignment=>'LEFT'
,p_group_id=>wwv_flow_api.id(15858387257343748)
,p_use_group_for=>'BOTH'
,p_attribute_02=>'VALUE'
,p_attribute_05=>'PLAIN'
,p_enable_filter=>true
,p_filter_operators=>'C:S:CASE_INSENSITIVE:REGEXP'
,p_filter_is_required=>false
,p_filter_text_case=>'MIXED'
,p_filter_lov_type=>'NONE'
,p_use_as_row_header=>false
,p_enable_sort_group=>true
,p_enable_control_break=>true
,p_enable_hide=>true
,p_is_primary_key=>false
,p_duplicate_value=>true
,p_include_in_export=>true
);
wwv_flow_api.create_region_column(
p_id=>wwv_flow_api.id(15857844185343743)
,p_name=>'PARENT_TABLE'
,p_source_type=>'DB_COLUMN'
,p_source_expression=>'PARENT_TABLE'
,p_data_type=>'VARCHAR2'
,p_is_query_only=>false
,p_item_type=>'NATIVE_DISPLAY_ONLY'
,p_heading=>'Table Name'
,p_heading_alignment=>'LEFT'
,p_display_sequence=>40
,p_value_alignment=>'LEFT'
,p_group_id=>wwv_flow_api.id(15858274633343747)
,p_use_group_for=>'BOTH'
,p_attribute_02=>'VALUE'
,p_attribute_05=>'PLAIN'
,p_link_target=>'f?p=&APP_ID.:951:&SESSION.::&DEBUG.:951:P951_TABLE_NAME:&PARENT_TABLE.'
,p_link_text=>'&PARENT_TABLE.'
,p_enable_filter=>true
,p_filter_operators=>'C:S:CASE_INSENSITIVE:REGEXP'
,p_filter_is_required=>false
,p_filter_text_case=>'MIXED'
,p_filter_lov_type=>'NONE'
,p_use_as_row_header=>false
,p_enable_sort_group=>true
,p_enable_control_break=>true
,p_enable_hide=>true
,p_is_primary_key=>false
,p_duplicate_value=>true
,p_include_in_export=>true
);
wwv_flow_api.create_region_column(
p_id=>wwv_flow_api.id(15857924935343744)
,p_name=>'PARENT_COLUMN'
,p_source_type=>'DB_COLUMN'
,p_source_expression=>'PARENT_COLUMN'
,p_data_type=>'VARCHAR2'
,p_is_query_only=>false
,p_item_type=>'NATIVE_DISPLAY_ONLY'
,p_heading=>'Column Name'
,p_heading_alignment=>'LEFT'
,p_display_sequence=>50
,p_value_alignment=>'LEFT'
,p_group_id=>wwv_flow_api.id(15858274633343747)
,p_use_group_for=>'BOTH'
,p_attribute_02=>'VALUE'
,p_attribute_05=>'PLAIN'
,p_enable_filter=>true
,p_filter_operators=>'C:S:CASE_INSENSITIVE:REGEXP'
,p_filter_is_required=>false
,p_filter_text_case=>'MIXED'
,p_filter_lov_type=>'NONE'
,p_use_as_row_header=>false
,p_enable_sort_group=>true
,p_enable_control_break=>true
,p_enable_hide=>true
,p_is_primary_key=>false
,p_duplicate_value=>true
,p_include_in_export=>true
);
wwv_flow_api.create_region_column(
p_id=>wwv_flow_api.id(15858016460343745)
,p_name=>'PARENT_TYPE'
,p_source_type=>'DB_COLUMN'
,p_source_expression=>'PARENT_TYPE'
,p_data_type=>'VARCHAR2'
,p_is_query_only=>false
,p_item_type=>'NATIVE_DISPLAY_ONLY'
,p_heading=>'Data Type'
,p_heading_alignment=>'LEFT'
,p_display_sequence=>60
,p_value_alignment=>'LEFT'
,p_group_id=>wwv_flow_api.id(15858274633343747)
,p_use_group_for=>'BOTH'
,p_attribute_02=>'VALUE'
,p_attribute_05=>'PLAIN'
,p_enable_filter=>true
,p_filter_operators=>'C:S:CASE_INSENSITIVE:REGEXP'
,p_filter_is_required=>false
,p_filter_text_case=>'MIXED'
,p_filter_lov_type=>'NONE'
,p_use_as_row_header=>false
,p_enable_sort_group=>true
,p_enable_control_break=>true
,p_enable_hide=>true
,p_is_primary_key=>false
,p_duplicate_value=>true
,p_include_in_export=>true
);
wwv_flow_api.create_region_column(
p_id=>wwv_flow_api.id(15858130337343746)
,p_name=>'FIX'
,p_source_type=>'DB_COLUMN'
,p_source_expression=>'FIX'
,p_data_type=>'VARCHAR2'
,p_is_query_only=>false
,p_item_type=>'NATIVE_DISPLAY_ONLY'
,p_heading=>'Fix'
,p_heading_alignment=>'LEFT'
,p_display_sequence=>70
,p_value_alignment=>'LEFT'
,p_attribute_02=>'VALUE'
,p_attribute_05=>'PLAIN'
,p_enable_filter=>true
,p_filter_operators=>'C:S:CASE_INSENSITIVE:REGEXP'
,p_filter_is_required=>false
,p_filter_text_case=>'MIXED'
,p_filter_lov_type=>'NONE'
,p_use_as_row_header=>false
,p_enable_sort_group=>true
,p_enable_control_break=>true
,p_enable_hide=>true
,p_is_primary_key=>false
,p_duplicate_value=>true
,p_include_in_export=>true
);
wwv_flow_api.create_interactive_grid(
p_id=>wwv_flow_api.id(15857483577343739)
,p_internal_uid=>15857483577343739
,p_is_editable=>false
,p_lazy_loading=>false
,p_requires_filter=>false
,p_select_first_row=>false
,p_fixed_row_height=>true
,p_pagination_type=>'SET'
,p_show_total_row_count=>true
,p_show_toolbar=>true
,p_toolbar_buttons=>'SEARCH_COLUMN:SEARCH_FIELD:ACTIONS_MENU:SAVE'
,p_enable_save_public_report=>false
,p_enable_subscriptions=>true
,p_enable_flashback=>true
,p_define_chart_view=>true
,p_enable_download=>true
,p_download_formats=>'CSV:HTML:XLSX:PDF'
,p_enable_mail_download=>true
,p_fixed_header=>'PAGE'
,p_show_icon_view=>false
,p_show_detail_view=>false
,p_javascript_code=>wwv_flow_string.join(wwv_flow_t_varchar2(
'function(config) {',
' return unified_ig_toolbar(config, '''');',
'}',
''))
);
wwv_flow_api.create_ig_report(
p_id=>wwv_flow_api.id(15994495926667904)
,p_interactive_grid_id=>wwv_flow_api.id(15857483577343739)
,p_static_id=>'159945'
,p_type=>'PRIMARY'
,p_default_view=>'GRID'
,p_show_row_number=>false
,p_settings_area_expanded=>true
);
wwv_flow_api.create_ig_report_view(
p_id=>wwv_flow_api.id(15994691745667904)
,p_report_id=>wwv_flow_api.id(15994495926667904)
,p_view_type=>'GRID'
,p_stretch_columns=>true
,p_srv_exclude_null_values=>false
,p_srv_only_display_columns=>true
,p_edit_mode=>false
);
wwv_flow_api.create_ig_report_column(
p_id=>wwv_flow_api.id(15995168496667906)
,p_view_id=>wwv_flow_api.id(15994691745667904)
,p_display_seq=>1
,p_column_id=>wwv_flow_api.id(15857567599343740)
,p_is_visible=>true
,p_is_frozen=>false
,p_width=>220
,p_sort_order=>1
,p_sort_direction=>'ASC'
,p_sort_nulls=>'LAST'
);
wwv_flow_api.create_ig_report_column(
p_id=>wwv_flow_api.id(15996029612667912)
,p_view_id=>wwv_flow_api.id(15994691745667904)
,p_display_seq=>2
,p_column_id=>wwv_flow_api.id(15857607972343741)
,p_is_visible=>true
,p_is_frozen=>false
,p_width=>240
,p_sort_order=>2
,p_sort_direction=>'ASC'
,p_sort_nulls=>'LAST'
);
wwv_flow_api.create_ig_report_column(
p_id=>wwv_flow_api.id(15996916049667916)
,p_view_id=>wwv_flow_api.id(15994691745667904)
,p_display_seq=>2
,p_column_id=>wwv_flow_api.id(15857786190343742)
,p_is_visible=>true
,p_is_frozen=>false
,p_width=>160
);
wwv_flow_api.create_ig_report_column(
p_id=>wwv_flow_api.id(15997899826667918)
,p_view_id=>wwv_flow_api.id(15994691745667904)
,p_display_seq=>4
,p_column_id=>wwv_flow_api.id(15857844185343743)
,p_is_visible=>true
,p_is_frozen=>false
,p_width=>220
);
wwv_flow_api.create_ig_report_column(
p_id=>wwv_flow_api.id(15998794316667921)
,p_view_id=>wwv_flow_api.id(15994691745667904)
,p_display_seq=>5
,p_column_id=>wwv_flow_api.id(15857924935343744)
,p_is_visible=>true
,p_is_frozen=>false
,p_width=>240
);
wwv_flow_api.create_ig_report_column(
p_id=>wwv_flow_api.id(15999615982667923)
,p_view_id=>wwv_flow_api.id(15994691745667904)
,p_display_seq=>6
,p_column_id=>wwv_flow_api.id(15858016460343745)
,p_is_visible=>true
,p_is_frozen=>false
,p_width=>160
);
wwv_flow_api.create_ig_report_column(
p_id=>wwv_flow_api.id(16000581174667926)
,p_view_id=>wwv_flow_api.id(15994691745667904)
,p_display_seq=>6
,p_column_id=>wwv_flow_api.id(15858130337343746)
,p_is_visible=>true
,p_is_frozen=>false
);
wwv_flow_api.create_page_plug(
p_id=>wwv_flow_api.id(15858476289343749)
,p_plug_name=>'Check Data Types [LIST]'
,p_region_template_options=>'#DEFAULT#'
,p_component_template_options=>'#DEFAULT#'
,p_plug_template=>wwv_flow_api.id(9078290074569925)
,p_plug_display_sequence=>100
,p_include_in_reg_disp_sel_yn=>'Y'
,p_plug_display_point=>'BODY'
,p_query_type=>'TABLE'
,p_query_table=>'OBJ_CONSTRAINTS_FIX_DT2'
,p_include_rowid_column=>false
,p_plug_source_type=>'NATIVE_IG'
,p_plug_query_options=>'DERIVED_REPORT_COLUMNS'
,p_plug_display_condition_type=>'EXISTS'
,p_plug_display_when_condition=>wwv_flow_string.join(wwv_flow_t_varchar2(
'SELECT 1',
'FROM obj_constraints_fix_dt2',
'WHERE ROWNUM = 1;'))
,p_prn_units=>'MILLIMETERS'
,p_prn_paper_size=>'A4'
,p_prn_width=>297
,p_prn_height=>210
,p_prn_orientation=>'HORIZONTAL'
,p_prn_page_header=>'Check Data Types [LIST]'
,p_prn_page_header_font_color=>'#000000'
,p_prn_page_header_font_family=>'Helvetica'
,p_prn_page_header_font_weight=>'normal'
,p_prn_page_header_font_size=>'12'
,p_prn_page_footer_font_color=>'#000000'
,p_prn_page_footer_font_family=>'Helvetica'
,p_prn_page_footer_font_weight=>'normal'
,p_prn_page_footer_font_size=>'12'
,p_prn_header_bg_color=>'#EEEEEE'
,p_prn_header_font_color=>'#000000'
,p_prn_header_font_family=>'Helvetica'
,p_prn_header_font_weight=>'bold'
,p_prn_header_font_size=>'10'
,p_prn_body_bg_color=>'#FFFFFF'
,p_prn_body_font_color=>'#000000'
,p_prn_body_font_family=>'Helvetica'
,p_prn_body_font_weight=>'normal'
,p_prn_body_font_size=>'10'
,p_prn_border_width=>.5
,p_prn_page_header_alignment=>'CENTER'
,p_prn_page_footer_alignment=>'CENTER'
,p_prn_border_color=>'#666666'
);
wwv_flow_api.create_region_column(
p_id=>wwv_flow_api.id(16022500533727210)
,p_name=>'COLUMN_NAME'
,p_source_type=>'DB_COLUMN'
,p_source_expression=>'COLUMN_NAME'
,p_data_type=>'VARCHAR2'
,p_is_query_only=>false
,p_item_type=>'NATIVE_DISPLAY_ONLY'
,p_heading=>'Column Name'
,p_heading_alignment=>'LEFT'
,p_display_sequence=>10
,p_value_alignment=>'LEFT'
,p_attribute_02=>'VALUE'
,p_attribute_05=>'PLAIN'
,p_enable_filter=>true
,p_filter_operators=>'C:S:CASE_INSENSITIVE:REGEXP'
,p_filter_is_required=>false
,p_filter_text_case=>'MIXED'
,p_filter_lov_type=>'NONE'
,p_use_as_row_header=>false
,p_enable_sort_group=>true
,p_enable_control_break=>true
,p_enable_hide=>true
,p_is_primary_key=>false
,p_duplicate_value=>true
,p_include_in_export=>true
);
wwv_flow_api.create_region_column(
p_id=>wwv_flow_api.id(16022606906727211)
,p_name=>'DATA_TYPE'
,p_source_type=>'DB_COLUMN'
,p_source_expression=>'DATA_TYPE'
,p_data_type=>'VARCHAR2'
,p_is_query_only=>false
,p_item_type=>'NATIVE_DISPLAY_ONLY'
,p_heading=>'Data Type'
,p_heading_alignment=>'LEFT'
,p_display_sequence=>20
,p_value_alignment=>'LEFT'
,p_attribute_02=>'VALUE'
,p_attribute_05=>'PLAIN'
,p_enable_filter=>true
,p_filter_operators=>'C:S:CASE_INSENSITIVE:REGEXP'
,p_filter_is_required=>false
,p_filter_text_case=>'MIXED'
,p_filter_lov_type=>'NONE'
,p_use_as_row_header=>false
,p_enable_sort_group=>true
,p_enable_control_break=>true
,p_enable_hide=>true
,p_is_primary_key=>false
,p_duplicate_value=>true
,p_include_in_export=>true
);
wwv_flow_api.create_region_column(
p_id=>wwv_flow_api.id(16022707873727212)
,p_name=>'TABLES'
,p_source_type=>'DB_COLUMN'
,p_source_expression=>'TABLES'
,p_data_type=>'VARCHAR2'
,p_is_query_only=>false
,p_item_type=>'NATIVE_DISPLAY_ONLY'
,p_heading=>'Tables'
,p_heading_alignment=>'LEFT'
,p_display_sequence=>30
,p_value_alignment=>'LEFT'
,p_attribute_05=>'HTML'
,p_enable_filter=>true
,p_filter_operators=>'C:S:CASE_INSENSITIVE:REGEXP'
,p_filter_is_required=>false
,p_filter_text_case=>'MIXED'
,p_filter_lov_type=>'NONE'
,p_use_as_row_header=>false
,p_enable_sort_group=>true
,p_enable_control_break=>true
,p_enable_hide=>true
,p_is_primary_key=>false
,p_duplicate_value=>true
,p_include_in_export=>true
);
wwv_flow_api.create_region_column(
p_id=>wwv_flow_api.id(16022949248727214)
,p_name=>'FIX'
,p_source_type=>'DB_COLUMN'
,p_source_expression=>'FIX'
,p_data_type=>'VARCHAR2'
,p_is_query_only=>false
,p_item_type=>'NATIVE_DISPLAY_ONLY'
,p_heading=>'Fix'
,p_heading_alignment=>'LEFT'
,p_display_sequence=>40
,p_value_alignment=>'LEFT'
,p_attribute_02=>'VALUE'
,p_attribute_05=>'PLAIN'
,p_enable_filter=>true
,p_filter_operators=>'C:S:CASE_INSENSITIVE:REGEXP'
,p_filter_is_required=>false
,p_filter_text_case=>'MIXED'
,p_filter_lov_type=>'NONE'
,p_use_as_row_header=>false
,p_enable_sort_group=>false
,p_enable_hide=>true
,p_is_primary_key=>false
,p_duplicate_value=>true
,p_include_in_export=>true
);
wwv_flow_api.create_interactive_grid(
p_id=>wwv_flow_api.id(15858584498343750)
,p_internal_uid=>15858584498343750
,p_is_editable=>false
,p_lazy_loading=>false
,p_requires_filter=>false
,p_select_first_row=>false
,p_fixed_row_height=>true
,p_pagination_type=>'SET'
,p_show_total_row_count=>true
,p_show_toolbar=>true
,p_toolbar_buttons=>'SEARCH_COLUMN:SEARCH_FIELD:ACTIONS_MENU:SAVE'
,p_enable_save_public_report=>false
,p_enable_subscriptions=>true
,p_enable_flashback=>true
,p_define_chart_view=>true
,p_enable_download=>true
,p_download_formats=>'CSV:HTML:XLSX:PDF'
,p_enable_mail_download=>true
,p_fixed_header=>'PAGE'
,p_show_icon_view=>false
,p_show_detail_view=>false
,p_javascript_code=>wwv_flow_string.join(wwv_flow_t_varchar2(
'function(config) {',
' return unified_ig_toolbar(config, '''');',
'}',
''))
);
wwv_flow_api.create_ig_report(
p_id=>wwv_flow_api.id(16032281985732288)
,p_interactive_grid_id=>wwv_flow_api.id(15858584498343750)
,p_static_id=>'160323'
,p_type=>'PRIMARY'
,p_default_view=>'GRID'
,p_show_row_number=>false
,p_settings_area_expanded=>false
);
wwv_flow_api.create_ig_report_view(
p_id=>wwv_flow_api.id(16032493201732288)
,p_report_id=>wwv_flow_api.id(16032281985732288)
,p_view_type=>'GRID'
,p_stretch_columns=>true
,p_srv_exclude_null_values=>false
,p_srv_only_display_columns=>true
,p_edit_mode=>false
);
wwv_flow_api.create_ig_report_column(
p_id=>wwv_flow_api.id(16032944553732289)
,p_view_id=>wwv_flow_api.id(16032493201732288)
,p_display_seq=>0
,p_column_id=>wwv_flow_api.id(16022500533727210)
,p_is_visible=>true
,p_is_frozen=>false
,p_width=>240
,p_break_order=>5
,p_break_is_enabled=>true
,p_break_sort_direction=>'ASC'
,p_break_sort_nulls=>'LAST'
);
wwv_flow_api.create_ig_report_column(
p_id=>wwv_flow_api.id(16033725869732292)
,p_view_id=>wwv_flow_api.id(16032493201732288)
,p_display_seq=>1
,p_column_id=>wwv_flow_api.id(16022606906727211)
,p_is_visible=>true
,p_is_frozen=>false
,p_width=>160
);
wwv_flow_api.create_ig_report_column(
p_id=>wwv_flow_api.id(16034610773732294)
,p_view_id=>wwv_flow_api.id(16032493201732288)
,p_display_seq=>2
,p_column_id=>wwv_flow_api.id(16022707873727212)
,p_is_visible=>true
,p_is_frozen=>false
);
wwv_flow_api.create_ig_report_column(
p_id=>wwv_flow_api.id(16052860016808305)
,p_view_id=>wwv_flow_api.id(16032493201732288)
,p_display_seq=>3
,p_column_id=>wwv_flow_api.id(16022949248727214)
,p_is_visible=>true
,p_is_frozen=>false
);
wwv_flow_api.create_page_plug(
p_id=>wwv_flow_api.id(16022864966727213)
,p_plug_name=>'Check Data Types'
,p_icon_css_classes=>'fa-warning'
,p_region_template_options=>'#DEFAULT#'
,p_plug_template=>wwv_flow_api.id(9070356145569920)
,p_plug_display_sequence=>90
,p_include_in_reg_disp_sel_yn=>'Y'
,p_plug_display_point=>'BODY'
,p_plug_query_options=>'DERIVED_REPORT_COLUMNS'
,p_plug_display_condition_type=>'EXISTS'
,p_plug_display_when_condition=>wwv_flow_string.join(wwv_flow_t_varchar2(
'SELECT 1',
'FROM obj_constraints_fix_dt2',
'WHERE ROWNUM = 1;'))
,p_attribute_01=>'N'
,p_attribute_02=>'HTML'
);
wwv_flow_api.create_page_plug(
p_id=>wwv_flow_api.id(35088434106539076)
,p_plug_name=>'Tables [GRID]'
@ -1505,6 +2159,18 @@ wwv_flow_api.create_region_column_group(
p_id=>wwv_flow_api.id(15340441945749836)
,p_heading=>'Objects'
);
wwv_flow_api.component_end;
end;
/
begin
wwv_flow_api.component_begin (
p_version_yyyy_mm_dd=>'2021.04.15'
,p_release=>'21.1.6'
,p_default_workspace_id=>9014660246496943
,p_default_application_id=>770
,p_default_id_offset=>0
,p_default_owner=>'CORE'
);
wwv_flow_api.create_region_column_group(
p_id=>wwv_flow_api.id(15340522998749837)
,p_heading=>'Sizing'
@ -2212,18 +2878,6 @@ wwv_flow_api.create_region_column(
,p_duplicate_value=>true
,p_include_in_export=>false
);
wwv_flow_api.component_end;
end;
/
begin
wwv_flow_api.component_begin (
p_version_yyyy_mm_dd=>'2021.04.15'
,p_release=>'21.1.6'
,p_default_workspace_id=>9014660246496943
,p_default_application_id=>770
,p_default_id_offset=>0
,p_default_owner=>'CORE'
);
wwv_flow_api.create_interactive_grid(
p_id=>wwv_flow_api.id(36363019069639916)
,p_internal_uid=>36363019069639916
@ -2650,6 +3304,18 @@ wwv_flow_api.create_ig_report_column(
,p_is_frozen=>false
,p_width=>150
);
wwv_flow_api.component_end;
end;
/
begin
wwv_flow_api.component_begin (
p_version_yyyy_mm_dd=>'2021.04.15'
,p_release=>'21.1.6'
,p_default_workspace_id=>9014660246496943
,p_default_application_id=>770
,p_default_id_offset=>0
,p_default_owner=>'CORE'
);
wwv_flow_api.create_ig_report_column(
p_id=>wwv_flow_api.id(79146037607838460)
,p_view_id=>wwv_flow_api.id(51233641009807770)
@ -3366,18 +4032,6 @@ wwv_flow_api.create_interactive_grid(
'}',
''))
);
wwv_flow_api.component_end;
end;
/
begin
wwv_flow_api.component_begin (
p_version_yyyy_mm_dd=>'2021.04.15'
,p_release=>'21.1.6'
,p_default_workspace_id=>9014660246496943
,p_default_application_id=>770
,p_default_id_offset=>0
,p_default_owner=>'CORE'
);
wwv_flow_api.create_ig_report(
p_id=>wwv_flow_api.id(36859016343358778)
,p_interactive_grid_id=>wwv_flow_api.id(36660566409288406)
@ -3783,6 +4437,18 @@ wwv_flow_api.create_region_column(
,p_display_condition_type=>'ITEM_IS_NOT_NULL'
,p_display_condition=>'P951_PART_HEADER_2'
);
wwv_flow_api.component_end;
end;
/
begin
wwv_flow_api.component_begin (
p_version_yyyy_mm_dd=>'2021.04.15'
,p_release=>'21.1.6'
,p_default_workspace_id=>9014660246496943
,p_default_application_id=>770
,p_default_id_offset=>0
,p_default_owner=>'CORE'
);
wwv_flow_api.create_region_column(
p_id=>wwv_flow_api.id(66775051128928775)
,p_name=>'HEADER_3'
@ -4469,18 +5135,6 @@ wwv_flow_api.create_page_process(
,p_process_when=>'P951_SHRINK'
,p_process_when_type=>'ITEM_IS_NOT_NULL'
);
wwv_flow_api.component_end;
end;
/
begin
wwv_flow_api.component_begin (
p_version_yyyy_mm_dd=>'2021.04.15'
,p_release=>'21.1.6'
,p_default_workspace_id=>9014660246496943
,p_default_application_id=>770
,p_default_id_offset=>0
,p_default_owner=>'CORE'
);
wwv_flow_api.create_page_process(
p_id=>wwv_flow_api.id(14474500543097237)
,p_process_sequence=>30

View File

@ -0,0 +1,56 @@
CREATE OR REPLACE VIEW obj_constraints_fix_dt1 AS
WITH x AS (
SELECT
app.get_item('$TABLE_NAME') AS table_name
FROM users u
WHERE u.user_id = app.get_user_id()
),
s AS (
SELECT
a.table_name,
a.column_name,
c.position,
--
CASE
WHEN a.data_type = 'NUMBER' THEN
a.data_type ||
CASE WHEN a.data_precision IS NOT NULL THEN '(' || a.data_precision || DECODE(a.data_scale, 0, '', ', ' || a.data_scale) || ')' END
WHEN a.data_type IN ('CHAR', 'VARCHAR', 'VARCHAR2') THEN
a.data_type || '(' ||
DECODE(a.char_used, 'C', a.char_length || ' CHAR', a.data_length) || ')'
ELSE a.data_type
END AS data_type,
--
n.constraint_type,
c.constraint_name,
n.r_constraint_name
FROM user_tab_columns a
JOIN x
ON a.table_name = NVL(x.table_name, a.table_name)
JOIN user_tables t
ON t.table_name = a.table_name
JOIN user_cons_columns c
ON c.table_name = a.table_name
AND c.column_name = a.column_name
JOIN user_constraints n
ON n.constraint_name = c.constraint_name
AND n.constraint_type IN ('P', 'R')
ORDER BY a.table_name, n.constraint_type, n.constraint_name, a.column_name
)
SELECT
b.table_name AS foreign_table,
b.column_name AS foreign_column,
b.data_type AS foreign_type,
--
s.table_name AS parent_table,
s.column_name AS parent_column,
s.data_type AS parent_type,
--
'ALTER TABLE ' || LOWER(b.table_name) ||
' MODIFY ' || LOWER(b.column_name) || ' ' || s.data_type || ';' AS fix
FROM s
JOIN s b
ON b.r_constraint_name = s.constraint_name
AND b.position = s.position
WHERE s.data_type != b.data_type;

View File

@ -0,0 +1,59 @@
CREATE OR REPLACE VIEW obj_constraints_fix_dt2 AS
WITH x AS (
SELECT
app.get_item('$TABLE_NAME') AS table_name
FROM users u
WHERE u.user_id = app.get_user_id()
),
s AS (
SELECT
a.table_name,
a.column_name,
--
CASE
WHEN a.data_type = 'NUMBER' THEN
a.data_type ||
CASE WHEN a.data_precision IS NOT NULL THEN '(' || a.data_precision || DECODE(a.data_scale, 0, '', ', ' || a.data_scale) || ')' END
WHEN a.data_type IN ('CHAR', 'VARCHAR', 'VARCHAR2') THEN
a.data_type || '(' ||
DECODE(a.char_used, 'C', a.char_length || ' CHAR', a.data_length) || ')'
ELSE a.data_type
END AS data_type
FROM user_tab_columns a
JOIN x
ON a.table_name = NVL(x.table_name, a.table_name)
JOIN user_tables t
ON t.table_name = a.table_name
LEFT JOIN user_mviews m
ON m.mview_name = a.table_name
WHERE t.table_name NOT LIKE '%$' ESCAPE '\' -- skip DML err tables, audit tables...
AND m.mview_name IS NULL -- skip materialized views
)
SELECT
s.column_name,
s.data_type,
s.tables,
s.fix || ';' AS fix
FROM (
SELECT
s.column_name,
s.data_type,
--
LISTAGG('<a href="' ||
app.get_page_link(951,
in_names => 'P951_TABLE_NAME',
in_values => s.table_name
) || '">' || s.table_name || '</a>', ', ')
WITHIN GROUP (ORDER BY s.table_name) AS tables,
--
LISTAGG('ALTER TABLE ' || LOWER(s.table_name) ||
' MODIFY ' || LOWER(s.column_name) || ' ' || s.data_type, '; ')
WITHIN GROUP (ORDER BY s.table_name) AS fix,
--
COUNT(*) AS count_tables,
COUNT(DISTINCT s.data_type) OVER (PARTITION BY s.column_name) AS count_types
FROM s
GROUP BY s.column_name, s.data_type
) s
WHERE s.count_types > 1;