Add hint + improve code
This commit is contained in:
parent
b0dff8a0f6
commit
38778e2e78
@ -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,
|
||||||
|
|||||||
@ -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()`)';
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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_owner() AS owner_,
|
||||||
app.get_item('$TABLE_NAME') AS table_name
|
app.get_item('$TABLE_NAME') AS table_name
|
||||||
FROM users u
|
FROM DUAL
|
||||||
WHERE u.user_id = app.get_user_id()
|
|
||||||
)
|
)
|
||||||
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'
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user