New flag columns for modules (autonomous transactions, result cache...)

This commit is contained in:
Jan Kvetina 2022-01-20 21:58:57 +01:00
parent b3c9bfd07a
commit 0dc92ef6ae
2 changed files with 198 additions and 52 deletions

View File

@ -22,7 +22,7 @@ wwv_flow_api.create_page(
,p_page_template_options=>'#DEFAULT#'
,p_required_role=>wwv_flow_api.id(9556407311505078)
,p_last_updated_by=>'DEV'
,p_last_upd_yyyymmddhh24miss=>'20220120070200'
,p_last_upd_yyyymmddhh24miss=>'20220120205608'
);
wwv_flow_api.create_page_plug(
p_id=>wwv_flow_api.id(14931272082872321)
@ -439,6 +439,10 @@ wwv_flow_api.create_region_column_group(
p_id=>wwv_flow_api.id(14933425852872343)
,p_heading=>'Body'
);
wwv_flow_api.create_region_column_group(
p_id=>wwv_flow_api.id(16466272937696710)
,p_heading=>'Flags'
);
wwv_flow_api.create_region_column(
p_id=>wwv_flow_api.id(14931760880872326)
,p_name=>'PACKAGE_NAME'
@ -513,7 +517,7 @@ wwv_flow_api.create_region_column(
,p_item_type=>'NATIVE_NUMBER_FIELD'
,p_heading=>'Overload'
,p_heading_alignment=>'RIGHT'
,p_display_sequence=>60
,p_display_sequence=>40
,p_value_alignment=>'RIGHT'
,p_group_id=>wwv_flow_api.id(14933225335872341)
,p_use_group_for=>'BOTH'
@ -540,7 +544,7 @@ wwv_flow_api.create_region_column(
,p_item_type=>'NATIVE_NUMBER_FIELD'
,p_heading=>'Spec Start'
,p_heading_alignment=>'RIGHT'
,p_display_sequence=>70
,p_display_sequence=>120
,p_value_alignment=>'RIGHT'
,p_attribute_03=>'right'
,p_is_required=>false
@ -565,7 +569,7 @@ wwv_flow_api.create_region_column(
,p_item_type=>'NATIVE_NUMBER_FIELD'
,p_heading=>'Spec End'
,p_heading_alignment=>'RIGHT'
,p_display_sequence=>80
,p_display_sequence=>130
,p_value_alignment=>'RIGHT'
,p_attribute_03=>'right'
,p_is_required=>false
@ -590,7 +594,7 @@ wwv_flow_api.create_region_column(
,p_item_type=>'NATIVE_NUMBER_FIELD'
,p_heading=>'Spec Lines'
,p_heading_alignment=>'RIGHT'
,p_display_sequence=>90
,p_display_sequence=>140
,p_value_alignment=>'RIGHT'
,p_attribute_03=>'right'
,p_is_required=>false
@ -615,7 +619,7 @@ wwv_flow_api.create_region_column(
,p_item_type=>'NATIVE_NUMBER_FIELD'
,p_heading=>'Start'
,p_heading_alignment=>'RIGHT'
,p_display_sequence=>100
,p_display_sequence=>150
,p_value_alignment=>'RIGHT'
,p_group_id=>wwv_flow_api.id(14933425852872343)
,p_use_group_for=>'BOTH'
@ -642,7 +646,7 @@ wwv_flow_api.create_region_column(
,p_item_type=>'NATIVE_NUMBER_FIELD'
,p_heading=>'End'
,p_heading_alignment=>'RIGHT'
,p_display_sequence=>110
,p_display_sequence=>160
,p_value_alignment=>'RIGHT'
,p_group_id=>wwv_flow_api.id(14933425852872343)
,p_use_group_for=>'BOTH'
@ -669,7 +673,7 @@ wwv_flow_api.create_region_column(
,p_item_type=>'NATIVE_NUMBER_FIELD'
,p_heading=>'Lines'
,p_heading_alignment=>'RIGHT'
,p_display_sequence=>120
,p_display_sequence=>170
,p_value_alignment=>'RIGHT'
,p_group_id=>wwv_flow_api.id(14933425852872343)
,p_use_group_for=>'BOTH'
@ -696,9 +700,9 @@ wwv_flow_api.create_region_column(
,p_item_type=>'NATIVE_SINGLE_CHECKBOX'
,p_heading=>'Private'
,p_heading_alignment=>'CENTER'
,p_display_sequence=>50
,p_display_sequence=>60
,p_value_alignment=>'CENTER'
,p_group_id=>wwv_flow_api.id(14933225335872341)
,p_group_id=>wwv_flow_api.id(16466272937696710)
,p_use_group_for=>'BOTH'
,p_attribute_01=>'N'
,p_attribute_02=>'Y'
@ -727,7 +731,7 @@ wwv_flow_api.create_region_column(
,p_item_type=>'NATIVE_NUMBER_FIELD'
,p_heading=>'IN'
,p_heading_alignment=>'RIGHT'
,p_display_sequence=>130
,p_display_sequence=>100
,p_value_alignment=>'RIGHT'
,p_group_id=>wwv_flow_api.id(14933304135872342)
,p_use_group_for=>'BOTH'
@ -754,7 +758,7 @@ wwv_flow_api.create_region_column(
,p_item_type=>'NATIVE_NUMBER_FIELD'
,p_heading=>'OUT'
,p_heading_alignment=>'RIGHT'
,p_display_sequence=>140
,p_display_sequence=>110
,p_value_alignment=>'RIGHT'
,p_group_id=>wwv_flow_api.id(14933304135872342)
,p_use_group_for=>'BOTH'
@ -781,7 +785,7 @@ wwv_flow_api.create_region_column(
,p_item_type=>'NATIVE_TEXTAREA'
,p_heading=>'Comment'
,p_heading_alignment=>'LEFT'
,p_display_sequence=>150
,p_display_sequence=>180
,p_value_alignment=>'LEFT'
,p_attribute_01=>'Y'
,p_attribute_02=>'N'
@ -812,9 +816,9 @@ wwv_flow_api.create_region_column(
,p_item_type=>'NATIVE_SINGLE_CHECKBOX'
,p_heading=>'Function'
,p_heading_alignment=>'CENTER'
,p_display_sequence=>40
,p_display_sequence=>50
,p_value_alignment=>'CENTER'
,p_group_id=>wwv_flow_api.id(14933225335872341)
,p_group_id=>wwv_flow_api.id(16466272937696710)
,p_use_group_for=>'BOTH'
,p_attribute_01=>'N'
,p_attribute_02=>'Y'
@ -859,6 +863,99 @@ wwv_flow_api.create_region_column(
,p_is_primary_key=>false
,p_include_in_export=>true
);
wwv_flow_api.create_region_column(
p_id=>wwv_flow_api.id(16466359579696711)
,p_name=>'IS_AUTONOMOUS'
,p_source_type=>'DB_COLUMN'
,p_source_expression=>'IS_AUTONOMOUS'
,p_data_type=>'VARCHAR2'
,p_is_query_only=>false
,p_item_type=>'NATIVE_SINGLE_CHECKBOX'
,p_heading=>'Autonomous'
,p_heading_alignment=>'CENTER'
,p_display_sequence=>70
,p_value_alignment=>'CENTER'
,p_group_id=>wwv_flow_api.id(16466272937696710)
,p_use_group_for=>'BOTH'
,p_attribute_01=>'N'
,p_attribute_02=>'Y'
,p_is_required=>false
,p_enable_filter=>true
,p_filter_operators=>'C:S:CASE_INSENSITIVE:REGEXP'
,p_filter_is_required=>false
,p_filter_text_case=>'MIXED'
,p_filter_exact_match=>true
,p_filter_lov_type=>'DISTINCT'
,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(16466482500696712)
,p_name=>'IS_CACHED'
,p_source_type=>'DB_COLUMN'
,p_source_expression=>'IS_CACHED'
,p_data_type=>'VARCHAR2'
,p_is_query_only=>false
,p_item_type=>'NATIVE_SINGLE_CHECKBOX'
,p_heading=>'Cached'
,p_heading_alignment=>'CENTER'
,p_display_sequence=>80
,p_value_alignment=>'CENTER'
,p_group_id=>wwv_flow_api.id(16466272937696710)
,p_use_group_for=>'BOTH'
,p_attribute_01=>'N'
,p_attribute_02=>'Y'
,p_is_required=>false
,p_enable_filter=>true
,p_filter_operators=>'C:S:CASE_INSENSITIVE:REGEXP'
,p_filter_is_required=>false
,p_filter_text_case=>'MIXED'
,p_filter_exact_match=>true
,p_filter_lov_type=>'DISTINCT'
,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(16466583762696713)
,p_name=>'IS_DEFINER'
,p_source_type=>'DB_COLUMN'
,p_source_expression=>'IS_DEFINER'
,p_data_type=>'VARCHAR2'
,p_is_query_only=>false
,p_item_type=>'NATIVE_SINGLE_CHECKBOX'
,p_heading=>'Definer'
,p_heading_alignment=>'CENTER'
,p_display_sequence=>90
,p_value_alignment=>'CENTER'
,p_group_id=>wwv_flow_api.id(16466272937696710)
,p_use_group_for=>'BOTH'
,p_attribute_01=>'N'
,p_attribute_02=>'Y'
,p_is_required=>false
,p_enable_filter=>true
,p_filter_operators=>'C:S:CASE_INSENSITIVE:REGEXP'
,p_filter_is_required=>false
,p_filter_text_case=>'MIXED'
,p_filter_exact_match=>true
,p_filter_lov_type=>'DISTINCT'
,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(14931649685872325)
,p_internal_uid=>14931649685872325
@ -909,7 +1006,7 @@ wwv_flow_api.create_ig_report_view(
wwv_flow_api.create_ig_report_column(
p_id=>wwv_flow_api.id(15054580481502742)
,p_view_id=>wwv_flow_api.id(15054065173502740)
,p_display_seq=>0
,p_display_seq=>1
,p_column_id=>wwv_flow_api.id(14931760880872326)
,p_is_visible=>false
,p_is_frozen=>false
@ -921,7 +1018,7 @@ wwv_flow_api.create_ig_report_column(
wwv_flow_api.create_ig_report_column(
p_id=>wwv_flow_api.id(15055494854502745)
,p_view_id=>wwv_flow_api.id(15054065173502740)
,p_display_seq=>1
,p_display_seq=>2
,p_column_id=>wwv_flow_api.id(14931800672872327)
,p_is_visible=>true
,p_is_frozen=>false
@ -930,47 +1027,47 @@ wwv_flow_api.create_ig_report_column(
wwv_flow_api.create_ig_report_column(
p_id=>wwv_flow_api.id(15057245108502750)
,p_view_id=>wwv_flow_api.id(15054065173502740)
,p_display_seq=>2
,p_display_seq=>3
,p_column_id=>wwv_flow_api.id(14932080641872329)
,p_is_visible=>true
,p_is_frozen=>false
,p_width=>90
,p_width=>80
);
wwv_flow_api.create_ig_report_column(
p_id=>wwv_flow_api.id(15058132388502752)
,p_view_id=>wwv_flow_api.id(15054065173502740)
,p_display_seq=>4
,p_display_seq=>11
,p_column_id=>wwv_flow_api.id(14932186256872330)
,p_is_visible=>false
,p_is_frozen=>false
,p_width=>90
,p_width=>80
);
wwv_flow_api.create_ig_report_column(
p_id=>wwv_flow_api.id(15059085287502754)
,p_view_id=>wwv_flow_api.id(15054065173502740)
,p_display_seq=>6
,p_display_seq=>12
,p_column_id=>wwv_flow_api.id(14932216175872331)
,p_is_visible=>false
,p_is_frozen=>false
,p_width=>90
,p_width=>80
);
wwv_flow_api.create_ig_report_column(
p_id=>wwv_flow_api.id(15059983746502756)
,p_view_id=>wwv_flow_api.id(15054065173502740)
,p_display_seq=>7
,p_display_seq=>13
,p_column_id=>wwv_flow_api.id(14932392053872332)
,p_is_visible=>false
,p_is_frozen=>false
,p_width=>90
,p_width=>80
);
wwv_flow_api.create_ig_report_column(
p_id=>wwv_flow_api.id(15060893769502758)
,p_view_id=>wwv_flow_api.id(15054065173502740)
,p_display_seq=>10
,p_display_seq=>14
,p_column_id=>wwv_flow_api.id(14932417414872333)
,p_is_visible=>true
,p_is_frozen=>false
,p_width=>90
,p_width=>80
,p_sort_order=>2
,p_sort_direction=>'ASC'
,p_sort_nulls=>'LAST'
@ -978,20 +1075,20 @@ wwv_flow_api.create_ig_report_column(
wwv_flow_api.create_ig_report_column(
p_id=>wwv_flow_api.id(15061704781502760)
,p_view_id=>wwv_flow_api.id(15054065173502740)
,p_display_seq=>11
,p_display_seq=>15
,p_column_id=>wwv_flow_api.id(14932537775872334)
,p_is_visible=>true
,p_is_frozen=>false
,p_width=>90
,p_width=>80
);
wwv_flow_api.create_ig_report_column(
p_id=>wwv_flow_api.id(15062637386502762)
,p_view_id=>wwv_flow_api.id(15054065173502740)
,p_display_seq=>12
,p_display_seq=>16
,p_column_id=>wwv_flow_api.id(14932661840872335)
,p_is_visible=>true
,p_is_frozen=>false
,p_width=>90
,p_width=>80
);
wwv_flow_api.create_ig_report_column(
p_id=>wwv_flow_api.id(15063524211502764)
@ -1000,30 +1097,42 @@ wwv_flow_api.create_ig_report_column(
,p_column_id=>wwv_flow_api.id(14932753295872336)
,p_is_visible=>true
,p_is_frozen=>false
,p_width=>90
,p_width=>80
);
wwv_flow_api.create_ig_report_column(
p_id=>wwv_flow_api.id(15064428089502766)
,p_view_id=>wwv_flow_api.id(15054065173502740)
,p_display_seq=>8
,p_display_seq=>9
,p_column_id=>wwv_flow_api.id(14932826179872337)
,p_is_visible=>true
,p_is_frozen=>false
,p_width=>90
,p_width=>70
);
wwv_flow_api.create_ig_report_column(
p_id=>wwv_flow_api.id(15065308029502769)
,p_view_id=>wwv_flow_api.id(15054065173502740)
,p_display_seq=>9
,p_display_seq=>10
,p_column_id=>wwv_flow_api.id(14932937325872338)
,p_is_visible=>true
,p_is_frozen=>false
,p_width=>90
,p_width=>70
);
wwv_flow_api.component_end;
end;
/
begin
wwv_flow_api.component_begin (
p_version_yyyy_mm_dd=>'2021.04.15'
,p_release=>'21.1.7'
,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(15066272572502771)
,p_view_id=>wwv_flow_api.id(15054065173502740)
,p_display_seq=>13
,p_display_seq=>17
,p_column_id=>wwv_flow_api.id(14933077407872339)
,p_is_visible=>true
,p_is_frozen=>false
@ -1031,16 +1140,16 @@ wwv_flow_api.create_ig_report_column(
wwv_flow_api.create_ig_report_column(
p_id=>wwv_flow_api.id(15068182252538368)
,p_view_id=>wwv_flow_api.id(15054065173502740)
,p_display_seq=>3
,p_display_seq=>4
,p_column_id=>wwv_flow_api.id(14933138200872340)
,p_is_visible=>true
,p_is_frozen=>false
,p_width=>90
,p_width=>80
);
wwv_flow_api.create_ig_report_column(
p_id=>wwv_flow_api.id(15178644954516095)
,p_view_id=>wwv_flow_api.id(15054065173502740)
,p_display_seq=>14
,p_display_seq=>0
,p_column_id=>wwv_flow_api.id(15123964223615722)
,p_is_visible=>false
,p_is_frozen=>false
@ -1049,6 +1158,33 @@ wwv_flow_api.create_ig_report_column(
,p_break_sort_direction=>'ASC'
,p_break_sort_nulls=>'LAST'
);
wwv_flow_api.create_ig_report_column(
p_id=>wwv_flow_api.id(16558849604411485)
,p_view_id=>wwv_flow_api.id(15054065173502740)
,p_display_seq=>6
,p_column_id=>wwv_flow_api.id(16466359579696711)
,p_is_visible=>true
,p_is_frozen=>false
,p_width=>90
);
wwv_flow_api.create_ig_report_column(
p_id=>wwv_flow_api.id(16559766735411488)
,p_view_id=>wwv_flow_api.id(15054065173502740)
,p_display_seq=>7
,p_column_id=>wwv_flow_api.id(16466482500696712)
,p_is_visible=>true
,p_is_frozen=>false
,p_width=>80
);
wwv_flow_api.create_ig_report_column(
p_id=>wwv_flow_api.id(16560570583411492)
,p_view_id=>wwv_flow_api.id(15054065173502740)
,p_display_seq=>8
,p_column_id=>wwv_flow_api.id(16466583762696713)
,p_is_visible=>false
,p_is_frozen=>false
,p_width=>80
);
wwv_flow_api.create_page_button(
p_id=>wwv_flow_api.id(15123829307615721)
,p_button_sequence=>10

View File

@ -131,9 +131,17 @@ SELECT
AND g.line < t.spec_start
) AS group_name,
--
CASE WHEN t.module_type = 'FUNCTION' THEN 'Y' END AS is_function,
t.overload,
--
CASE WHEN t.module_type = 'FUNCTION' THEN 'Y' END AS is_function,
CASE WHEN b.text IS NOT NULL THEN 'Y' END AS is_private,
CASE WHEN a.text IS NOT NULL THEN 'Y' END AS is_autonomous,
CASE WHEN t.result_cache = 'YES' THEN 'Y' END AS is_cached,
CASE WHEN t.authid = 'DEFINER' THEN 'Y' END AS is_definer,
--
a.args_in,
a.args_out,
--
t.spec_start,
t.spec_end,
t.spec_lines,
@ -141,12 +149,6 @@ SELECT
t.body_end,
t.body_lines,
--
CASE WHEN b.text IS NOT NULL THEN 'Y' END AS is_private,
CASE WHEN t.authid = 'DEFINER' THEN 'Y' END AS is_definer,
CASE WHEN t.result_cache = 'YES' THEN 'Y' END AS is_cached,
--
a.args_in,
a.args_out,
d.comment_
FROM t
JOIN x
@ -166,23 +168,31 @@ LEFT JOIN user_source b
ON b.name = t.package_name
AND b.type = 'PACKAGE'
AND b.line BETWEEN t.spec_start AND t.spec_end
AND REGEXP_LIKE(b.text, '^\s*(ACCESSIBLE BY)');
AND REGEXP_LIKE(b.text, '^\s*(ACCESSIBLE BY)')
LEFT JOIN user_source a
ON a.name = t.package_name
AND a.type = 'PACKAGE BODY'
AND a.line BETWEEN t.body_start AND t.body_end
AND REGEXP_LIKE(a.text, 'PRAGMA\s+AUTONOMOUS_TRANSACTION');
--
COMMENT ON TABLE obj_modules IS 'Find package modules (procedures and functions) and their boundaries (start-end lines)';
--
COMMENT ON COLUMN obj_modules.package_name IS 'Package name';
COMMENT ON COLUMN obj_modules.module_name IS 'Module name';
COMMENT ON COLUMN obj_modules.group_name IS 'Group name to have similar modules grouped together';
COMMENT ON COLUMN obj_modules.is_function IS 'Module type (function)';
COMMENT ON COLUMN obj_modules.overload IS 'Overload ID';
COMMENT ON COLUMN obj_modules.is_function IS 'Module type (function)';
COMMENT ON COLUMN obj_modules.is_private IS 'Flag for private procedures';
COMMENT ON COLUMN obj_modules.is_autonomous IS 'Contains autonomous transaction';
COMMENT ON COLUMN obj_modules.is_cached IS 'Has RESULT_CACHE activated';
COMMENT ON COLUMN obj_modules.is_definer IS 'Auth as definer';
COMMENT ON COLUMN obj_modules.args_in IS 'Number of IN arguments';
COMMENT ON COLUMN obj_modules.args_out IS 'Number of OUT arguments';
COMMENT ON COLUMN obj_modules.spec_start IS 'Module start in specification';
COMMENT ON COLUMN obj_modules.spec_end IS 'Module end in specification';
COMMENT ON COLUMN obj_modules.spec_lines IS 'Lines in specification';
COMMENT ON COLUMN obj_modules.body_start IS 'Module start in body';
COMMENT ON COLUMN obj_modules.body_end IS 'Module end in body';
COMMENT ON COLUMN obj_modules.body_lines IS 'Lines in body';
COMMENT ON COLUMN obj_modules.is_private IS 'Flag for private procedures';
COMMENT ON COLUMN obj_modules.args_in IS 'Number of IN arguments';
COMMENT ON COLUMN obj_modules.args_out IS 'Number of OUT arguments';
COMMENT ON COLUMN obj_modules.comment_ IS 'Description from package spec';