Add hint + improve code

This commit is contained in:
Jan Kvetina 2022-01-25 17:21:43 +01:00
parent b0dff8a0f6
commit 38778e2e78
5 changed files with 46 additions and 34 deletions

View File

@ -1,17 +1,16 @@
CREATE OR REPLACE VIEW logs_overview AS CREATE OR REPLACE VIEW logs_overview AS
WITH x AS ( WITH x AS (
SELECT SELECT /*+ MATERIALIZE */
app.get_app_id() AS app_id, app.get_app_id() AS app_id,
app.get_item('$RECENT_LOG_ID') AS recent_log_id, app.get_number_item('$RECENT_LOG_ID') AS recent_log_id,
app.get_item('$FLAG') AS flag, app.get_item('$FLAG') AS flag,
app.get_item('$PAGE_ID') AS page_id, app.get_number_item('$PAGE_ID') AS page_id,
app.get_item('$USER_ID') AS user_id, app.get_item('$USER_ID') AS user_id,
app.get_item('$SESSION_ID') AS session_id, app.get_number_item('$SESSION_ID') AS session_id,
app.get_item('$MODULE_NAME') AS module_name, app.get_item('$MODULE_NAME') AS module_name,
app.get_item('$ACTION_NAME') AS action_name, app.get_item('$ACTION_NAME') AS action_name,
app.get_date_item('G_TODAY') AS today app.get_date_item('G_TODAY') AS today
FROM users u FROM DUAL
WHERE u.user_id = app.get_user_id()
) )
SELECT SELECT
l.log_id, l.log_id,

View File

@ -1,4 +1,10 @@
CREATE OR REPLACE FORCE VIEW logs_tree AS CREATE OR REPLACE FORCE VIEW logs_tree AS
WITH x AS (
SELECT /*+ MATERIALIZE */
app.get_app_id() AS app_id,
app.get_log_tree_id() AS log_id
FROM DUAL
)
SELECT SELECT
l.log_id, l.log_id,
l.log_parent, l.log_parent,
@ -15,9 +21,10 @@ SELECT
l.session_id, l.session_id,
l.created_at l.created_at
FROM logs l FROM logs l
CROSS JOIN x
CONNECT BY l.log_parent = PRIOR l.log_id CONNECT BY l.log_parent = PRIOR l.log_id
START WITH l.log_id = app.get_log_tree_id() START WITH l.log_id = x.log_id
AND l.app_id IN (app.get_app_id(), 0) AND l.app_id IN (x.app_id, 0)
ORDER SIBLINGS BY l.log_id; ORDER SIBLINGS BY l.log_id;
-- --
COMMENT ON TABLE logs_tree IS '[CORE - DASHBOARD] All messages related to selected tree id (`app.get_log_tree_id()`)'; COMMENT ON TABLE logs_tree IS '[CORE - DASHBOARD] All messages related to selected tree id (`app.get_log_tree_id()`)';

View File

@ -1,13 +1,10 @@
CREATE OR REPLACE VIEW nav_regions AS CREATE OR REPLACE VIEW nav_regions AS
WITH x AS ( WITH x AS (
SELECT SELECT /*+ MATERIALIZE */
app.get_item('$PAGE_ID') AS page_id, app.get_app_id() AS app_id,
app.get_item('$AUTH_SCHEME') AS auth_scheme, app.get_number_item('$PAGE_ID') AS page_id,
a.app_id app.get_item('$AUTH_SCHEME') AS auth_scheme
FROM users u FROM DUAL
JOIN apps a
ON a.app_id = app.get_app_id()
WHERE u.user_id = app.get_user_id()
), ),
c AS ( c AS (
SELECT SELECT

View File

@ -1,10 +1,10 @@
CREATE OR REPLACE VIEW obj_tables_ref_pages AS CREATE OR REPLACE VIEW obj_tables_ref_pages AS
WITH x AS ( WITH x AS (
SELECT SELECT /*+ MATERIALIZE */
app.get_app_id() AS app_id, app.get_app_id() AS app_id,
app.get_item('$TABLE_NAME') AS table_name app.get_owner() AS owner_,
FROM users u app.get_item('$TABLE_NAME') AS table_name
WHERE u.user_id = app.get_user_id() FROM DUAL
) )
SELECT SELECT
r.page_id, r.page_id,
@ -31,7 +31,7 @@ WHERE r.query_type_code = 'TABLE'
SELECT DISTINCT d.name AS view_name SELECT DISTINCT d.name AS view_name
FROM user_dependencies d FROM user_dependencies d
CROSS JOIN x CROSS JOIN x
WHERE d.referenced_owner = app.get_owner() WHERE d.referenced_owner = x.owner_
AND d.type = 'VIEW' AND d.type = 'VIEW'
CONNECT BY NOCYCLE d.referenced_name = PRIOR d.name CONNECT BY NOCYCLE d.referenced_name = PRIOR d.name
AND d.referenced_type = 'VIEW' AND d.referenced_type = 'VIEW'

View File

@ -1,15 +1,24 @@
CREATE OR REPLACE VIEW sessions_overview AS CREATE OR REPLACE VIEW sessions_overview AS
WITH s AS ( WITH x AS (
SELECT /*+ MATERIALIZE */
app.get_app_id() AS app_id,
app.get_number_item('$SESSION_ID') AS session_id,
app.get_item('$USER_ID') AS user_id,
app.get_date_item('G_TODAY') AS today
FROM DUAL
),
s AS (
SELECT SELECT
s.*, s.*,
TRUNC(s.created_at) AS today TRUNC(s.created_at) AS today
FROM sessions s FROM sessions s
WHERE s.app_id = app.get_app_id() JOIN x
AND (s.session_id = app.get_item('$SESSION_ID') OR app.get_item('$SESSION_ID') IS NULL) ON s.app_id = x.app_id
AND (s.user_id = app.get_item('$USER_ID') OR app.get_item('$USER_ID') IS NULL) AND (s.session_id = x.session_id OR x.session_id IS NULL)
AND (s.user_id = x.user_id OR x.user_id IS NULL)
-- --
AND s.created_at >= app.get_date_item('G_TODAY') AND s.created_at >= x.today
AND s.created_at < app.get_date_item('G_TODAY') + 1 AND s.created_at < x.today + 1
), ),
l AS ( l AS (
SELECT SELECT