Remove Users dependency + add MATERIALIZE hint
This commit is contained in:
parent
9f0e6054a0
commit
b0dff8a0f6
@ -1,9 +1,8 @@
|
||||
CREATE OR REPLACE VIEW dashboard_overview AS
|
||||
WITH x AS (
|
||||
SELECT
|
||||
SELECT /*+ MATERIALIZE */
|
||||
app.get_app_id() AS app_id
|
||||
FROM users u
|
||||
WHERE u.user_id = app.get_user_id()
|
||||
FROM DUAL
|
||||
),
|
||||
s AS (
|
||||
SELECT
|
||||
|
||||
@ -1,12 +1,11 @@
|
||||
CREATE OR REPLACE VIEW events_chart AS
|
||||
WITH x AS (
|
||||
SELECT
|
||||
SELECT /*+ MATERIALIZE */
|
||||
app.get_app_id() AS app_id,
|
||||
app.get_item('$EVENT_ID') AS event_id,
|
||||
app.get_number_item('$EVENT_ID') AS event_id,
|
||||
app.get_item('$USER_ID') AS user_id,
|
||||
TRUNC(app.get_date_item('G_TODAY')) AS today
|
||||
FROM users u
|
||||
WHERE u.user_id = app.get_user_id()
|
||||
FROM DUAL
|
||||
),
|
||||
z AS (
|
||||
SELECT
|
||||
|
||||
@ -1,10 +1,9 @@
|
||||
CREATE OR REPLACE VIEW nav_badges AS
|
||||
WITH x AS (
|
||||
SELECT
|
||||
SELECT /*+ MATERIALIZE */
|
||||
app.get_app_id() AS app_id,
|
||||
app.is_developer_y() AS is_developer
|
||||
FROM users u
|
||||
WHERE u.user_id = app.get_user_id()
|
||||
FROM DUAL
|
||||
)
|
||||
SELECT -- today errors on dashboard
|
||||
900 AS page_id,
|
||||
|
||||
@ -1,11 +1,10 @@
|
||||
CREATE OR REPLACE VIEW nav_overview AS
|
||||
WITH x AS (
|
||||
SELECT
|
||||
SELECT /*+ MATERIALIZE */
|
||||
app.get_page_id() AS page_id,
|
||||
app.get_app_id() AS app_id,
|
||||
app.get_core_app_id() AS core_app_id
|
||||
FROM users u
|
||||
WHERE u.user_id = app.get_user_id()
|
||||
FROM DUAL
|
||||
),
|
||||
t AS (
|
||||
SELECT
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
CREATE OR REPLACE FORCE VIEW nav_top AS
|
||||
WITH curr AS (
|
||||
SELECT
|
||||
SELECT /*+ MATERIALIZE */
|
||||
app.get_app_id() AS app_id,
|
||||
app.get_page_id() AS page_id,
|
||||
app.get_page_parent() AS parent_id,
|
||||
@ -8,8 +8,7 @@ WITH curr AS (
|
||||
app.get_page_group() AS page_group,
|
||||
app.get_user_id() AS user_id,
|
||||
app.get_user_name() AS user_name
|
||||
FROM users u
|
||||
WHERE u.user_id = app.get_user_id()
|
||||
FROM DUAL
|
||||
),
|
||||
j AS (
|
||||
-- get javascript targets hidden in page item
|
||||
|
||||
@ -1,9 +1,8 @@
|
||||
CREATE OR REPLACE VIEW obj_columns AS
|
||||
WITH x AS (
|
||||
SELECT
|
||||
SELECT /*+ MATERIALIZE */
|
||||
app.get_item('$TABLE_NAME') AS table_name
|
||||
FROM users u
|
||||
WHERE u.user_id = app.get_user_id()
|
||||
FROM DUAL
|
||||
),
|
||||
c AS (
|
||||
SELECT
|
||||
|
||||
@ -1,9 +1,8 @@
|
||||
CREATE OR REPLACE VIEW obj_constraints AS
|
||||
WITH x AS (
|
||||
SELECT
|
||||
SELECT /*+ MATERIALIZE */
|
||||
app.get_item('$TABLE_NAME') AS table_name
|
||||
FROM users u
|
||||
WHERE u.user_id = app.get_user_id()
|
||||
FROM DUAL
|
||||
),
|
||||
n AS (
|
||||
SELECT XMLTYPE(DBMS_XMLGEN.GETXML('SELECT c.constraint_name AS name, c.search_condition AS text
|
||||
|
||||
@ -1,9 +1,8 @@
|
||||
CREATE OR REPLACE VIEW obj_constraints_fix_dt1 AS
|
||||
WITH x AS (
|
||||
SELECT
|
||||
SELECT /*+ MATERIALIZE */
|
||||
app.get_item('$TABLE_NAME') AS table_name
|
||||
FROM users u
|
||||
WHERE u.user_id = app.get_user_id()
|
||||
FROM DUAL
|
||||
),
|
||||
s AS (
|
||||
SELECT
|
||||
|
||||
@ -1,9 +1,8 @@
|
||||
CREATE OR REPLACE VIEW obj_constraints_fix_dt2 AS
|
||||
WITH x AS (
|
||||
SELECT
|
||||
SELECT /*+ MATERIALIZE */
|
||||
app.get_item('$TABLE_NAME') AS table_name
|
||||
FROM users u
|
||||
WHERE u.user_id = app.get_user_id()
|
||||
FROM DUAL
|
||||
),
|
||||
s AS (
|
||||
SELECT
|
||||
|
||||
@ -1,9 +1,8 @@
|
||||
CREATE OR REPLACE VIEW obj_indexes AS
|
||||
WITH x AS (
|
||||
SELECT
|
||||
SELECT /*+ MATERIALIZE */
|
||||
app.get_item('$TABLE_NAME') AS table_name
|
||||
FROM users u
|
||||
WHERE u.user_id = app.get_user_id()
|
||||
FROM DUAL
|
||||
)
|
||||
SELECT
|
||||
i.table_name,
|
||||
|
||||
@ -1,9 +1,8 @@
|
||||
CREATE OR REPLACE VIEW obj_indexes_missing AS
|
||||
WITH x AS (
|
||||
SELECT
|
||||
SELECT /*+ MATERIALIZE */
|
||||
app.get_item('$TABLE_NAME') AS table_name
|
||||
FROM users u
|
||||
WHERE u.user_id = app.get_user_id()
|
||||
FROM DUAL
|
||||
),
|
||||
f AS (
|
||||
SELECT
|
||||
|
||||
@ -1,10 +1,9 @@
|
||||
CREATE OR REPLACE VIEW obj_modules AS
|
||||
WITH x AS (
|
||||
SELECT
|
||||
SELECT /*+ MATERIALIZE */
|
||||
app.get_item('$PACKAGE_NAME') AS package_name,
|
||||
app.get_item('$MODULE_TYPE') AS module_type
|
||||
FROM users u
|
||||
WHERE u.user_id = app.get_user_id()
|
||||
FROM DUAL
|
||||
),
|
||||
p AS (
|
||||
SELECT
|
||||
|
||||
@ -1,9 +1,8 @@
|
||||
CREATE OR REPLACE VIEW obj_packages AS
|
||||
WITH x AS (
|
||||
SELECT
|
||||
SELECT /*+ MATERIALIZE */
|
||||
app.get_item('$PACKAGE_NAME') AS package_name
|
||||
FROM users u
|
||||
WHERE u.user_id = app.get_user_id()
|
||||
FROM DUAL
|
||||
),
|
||||
s AS (
|
||||
SELECT
|
||||
|
||||
@ -1,9 +1,8 @@
|
||||
CREATE OR REPLACE VIEW obj_partitions AS
|
||||
WITH x AS (
|
||||
SELECT
|
||||
SELECT /*+ MATERIALIZE */
|
||||
app.get_item('$TABLE_NAME') AS table_name
|
||||
FROM users u
|
||||
WHERE u.user_id = app.get_user_id()
|
||||
FROM DUAL
|
||||
),
|
||||
p AS (
|
||||
SELECT
|
||||
|
||||
@ -1,13 +1,12 @@
|
||||
CREATE OR REPLACE VIEW obj_tables AS
|
||||
WITH x AS (
|
||||
SELECT
|
||||
SELECT /*+ MATERIALIZE */
|
||||
app.get_item('$TABLE_NAME') AS table_name
|
||||
FROM users u
|
||||
WHERE u.user_id = app.get_user_id()
|
||||
FROM DUAL
|
||||
),
|
||||
s AS (
|
||||
-- columns count
|
||||
SELECT /* materialize */
|
||||
SELECT /*+ MATERIALIZE */
|
||||
c.table_name,
|
||||
COUNT(*) AS count_cols
|
||||
FROM user_tab_cols c
|
||||
@ -17,7 +16,7 @@ s AS (
|
||||
),
|
||||
c AS (
|
||||
-- constraints overview
|
||||
SELECT /* materialize */
|
||||
SELECT /*+ MATERIALIZE */
|
||||
c.table_name,
|
||||
NULLIF(SUM(CASE WHEN c.constraint_type = 'P' THEN 1 ELSE 0 END), 0) AS count_pk,
|
||||
NULLIF(SUM(CASE WHEN c.constraint_type = 'U' THEN 1 ELSE 0 END), 0) AS count_uq,
|
||||
@ -30,7 +29,7 @@ c AS (
|
||||
),
|
||||
i AS (
|
||||
-- indexes overview
|
||||
SELECT /* materialize */
|
||||
SELECT /*+ MATERIALIZE */
|
||||
i.table_name,
|
||||
COUNT(i.table_name) AS count_ix
|
||||
FROM user_indexes i
|
||||
@ -44,7 +43,7 @@ i AS (
|
||||
),
|
||||
g AS (
|
||||
-- triggers overview
|
||||
SELECT /* materialize */
|
||||
SELECT /*+ MATERIALIZE */
|
||||
g.table_name,
|
||||
COUNT(g.table_name) AS count_trg
|
||||
FROM user_triggers g
|
||||
@ -54,7 +53,7 @@ g AS (
|
||||
),
|
||||
p AS (
|
||||
-- partitions count
|
||||
SELECT /* materialize */
|
||||
SELECT /*+ MATERIALIZE */
|
||||
p.table_name,
|
||||
COUNT(*) AS partitions
|
||||
FROM user_tab_partitions p
|
||||
|
||||
@ -1,9 +1,8 @@
|
||||
CREATE OR REPLACE VIEW obj_tables_ref_down AS
|
||||
WITH x AS (
|
||||
SELECT
|
||||
SELECT /*+ MATERIALIZE */
|
||||
app.get_item('$TABLE_NAME') AS table_name
|
||||
FROM users u
|
||||
WHERE u.user_id = app.get_user_id()
|
||||
FROM DUAL
|
||||
),
|
||||
t AS (
|
||||
SELECT
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
CREATE OR REPLACE VIEW obj_tables_ref_objects AS
|
||||
WITH x AS (
|
||||
SELECT
|
||||
SELECT /*+ MATERIALIZE */
|
||||
app.get_app_id() AS app_id,
|
||||
app.get_owner() AS owner_,
|
||||
app.get_item('$TABLE_NAME') AS table_name
|
||||
FROM users u
|
||||
WHERE u.user_id = app.get_user_id()
|
||||
FROM DUAL
|
||||
)
|
||||
SELECT
|
||||
'<span style="margin-left: 2rem;">' || d.name || '</SPAN>' AS ref_name,
|
||||
@ -17,7 +17,8 @@ SELECT
|
||||
ELSE NULL
|
||||
END AS ref_link
|
||||
FROM user_dependencies d
|
||||
WHERE d.referenced_owner = app.get_owner()
|
||||
AND d.referenced_name = (SELECT x.table_name FROM x)
|
||||
JOIN x
|
||||
ON x.owner_ = d.referenced_owner
|
||||
AND x.table_name = d.referenced_name
|
||||
GROUP BY d.name;
|
||||
|
||||
|
||||
@ -1,9 +1,8 @@
|
||||
CREATE OR REPLACE VIEW obj_tables_ref_up AS
|
||||
WITH x AS (
|
||||
SELECT
|
||||
SELECT /*+ MATERIALIZE */
|
||||
app.get_item('$TABLE_NAME') AS table_name
|
||||
FROM users u
|
||||
WHERE u.user_id = app.get_user_id()
|
||||
FROM DUAL
|
||||
),
|
||||
t AS (
|
||||
SELECT
|
||||
|
||||
@ -1,12 +1,11 @@
|
||||
CREATE OR REPLACE VIEW obj_triggers AS
|
||||
WITH x AS (
|
||||
SELECT
|
||||
SELECT /*+ MATERIALIZE */
|
||||
app.get_app_id() AS app_id,
|
||||
app.get_item('$TABLE_NAME') AS table_name,
|
||||
app.get_item('$TRIGGER_NAME') AS trigger_name,
|
||||
app.get_date_item('G_TODAY') AS today
|
||||
FROM users u
|
||||
WHERE u.user_id = app.get_user_id()
|
||||
FROM DUAL
|
||||
),
|
||||
r AS (
|
||||
SELECT /* materialize */
|
||||
|
||||
@ -1,10 +1,9 @@
|
||||
CREATE OR REPLACE VIEW obj_views AS
|
||||
WITH x AS (
|
||||
SELECT
|
||||
SELECT /*+ MATERIALIZE */
|
||||
app.get_app_id() AS app_id,
|
||||
app.get_item('$VIEW_NAME') AS view_name
|
||||
FROM users u
|
||||
WHERE u.user_id = app.get_user_id()
|
||||
FROM DUAL
|
||||
),
|
||||
r AS (
|
||||
SELECT
|
||||
|
||||
@ -1,11 +1,10 @@
|
||||
CREATE OR REPLACE VIEW roles_cards AS
|
||||
WITH x AS (
|
||||
SELECT
|
||||
u.user_id,
|
||||
SELECT /*+ MATERIALIZE */
|
||||
app.get_app_id() AS app_id,
|
||||
app.get_user_id() AS user_id,
|
||||
app.is_developer_y() AS is_developer
|
||||
FROM users u
|
||||
WHERE u.user_id = app.get_user_id()
|
||||
FROM DUAL
|
||||
)
|
||||
SELECT
|
||||
r.role_id,
|
||||
|
||||
@ -1,12 +1,11 @@
|
||||
CREATE OR REPLACE VIEW scheduler_details AS
|
||||
WITH x AS (
|
||||
SELECT
|
||||
SELECT /*+ MATERIALIZE */
|
||||
app.get_app_id() AS app_id,
|
||||
app.get_date_item('G_TODAY') AS today,
|
||||
app.get_item('$JOB_NAME') AS job_name,
|
||||
app.get_item('$JOB_STATUS') AS job_status
|
||||
FROM users u
|
||||
WHERE u.user_id = app.get_user_id()
|
||||
FROM DUAL
|
||||
)
|
||||
SELECT
|
||||
REGEXP_SUBSTR(d.job_name, '^([^#]+)#(\d+)$', 1, 1, NULL, 2) AS log_id,
|
||||
|
||||
@ -1,12 +1,11 @@
|
||||
CREATE OR REPLACE VIEW sessions_chart AS
|
||||
WITH x AS (
|
||||
SELECT
|
||||
SELECT /*+ MATERIALIZE */
|
||||
app.get_app_id() AS app_id,
|
||||
app.get_item('$USER_ID') AS user_id,
|
||||
app.get_date_item('G_TODAY') AS today,
|
||||
10 AS buckets
|
||||
FROM users u
|
||||
WHERE u.user_id = app.get_user_id()
|
||||
FROM DUAL
|
||||
),
|
||||
z AS (
|
||||
SELECT
|
||||
|
||||
@ -1,12 +1,11 @@
|
||||
CREATE OR REPLACE VIEW settings_overview AS
|
||||
WITH x AS (
|
||||
SELECT
|
||||
SELECT /*+ MATERIALIZE */
|
||||
UPPER('SETT') AS package_name, -- app_actions spec
|
||||
UPPER('GET_') AS prefix,
|
||||
app.get_item('$SETTING_NAME') AS setting_name,
|
||||
app.get_app_id() AS app_id
|
||||
FROM users u
|
||||
WHERE u.user_id = app.get_user_id()
|
||||
FROM DUAL
|
||||
),
|
||||
p AS (
|
||||
SELECT p.procedure_name, a.data_type
|
||||
|
||||
@ -1,13 +1,14 @@
|
||||
CREATE OR REPLACE VIEW users_overview AS
|
||||
WITH x AS (
|
||||
SELECT
|
||||
app.get_app_id() AS app_id,
|
||||
app.get_user_id() AS user_id,
|
||||
SELECT /*+ MATERIALIZE */
|
||||
app.get_app_id() AS app_id,
|
||||
app.get_user_id() AS user_id,
|
||||
app.get_item('$USER_ID') AS filter_user_id,
|
||||
app.get_item('$ROLE_ID') AS filter_role_id,
|
||||
--
|
||||
TRUNC(NVL(app.get_date_item('G_TODAY'), SYSDATE)) AS today,
|
||||
CAST(TRUNC(NVL(app.get_date_item('G_TODAY'), SYSDATE)) AS TIMESTAMP) AS today_ts
|
||||
FROM users u
|
||||
WHERE u.user_id = app.get_user_id()
|
||||
FROM DUAL
|
||||
),
|
||||
s AS (
|
||||
SELECT
|
||||
@ -75,18 +76,20 @@ SELECT
|
||||
u.updated_by,
|
||||
u.updated_at
|
||||
FROM users u
|
||||
CROSS JOIN x
|
||||
LEFT JOIN s ON s.user_id = u.user_id
|
||||
LEFT JOIN l ON l.user_id = u.user_id
|
||||
LEFT JOIN r ON r.user_id = u.user_id
|
||||
LEFT JOIN b ON b.user_id = u.user_id
|
||||
WHERE u.user_id = NVL(app.get_item('$USER_ID'), u.user_id)
|
||||
--
|
||||
WHERE u.user_id = NVL(x.filter_user_id, u.user_id)
|
||||
AND (
|
||||
u.user_id IN (
|
||||
SELECT r.user_id
|
||||
FROM user_roles r
|
||||
WHERE r.role_id = app.get_item('$ROLE_ID')
|
||||
WHERE r.role_id = x.filter_role_id
|
||||
)
|
||||
OR app.get_item('$ROLE_ID') IS NULL
|
||||
OR x.filter_role_id IS NULL
|
||||
);
|
||||
--
|
||||
COMMENT ON TABLE users_overview IS '[CORE - DASHBOARD] Users';
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user