Feat: New blog article page.
This commit is contained in:
@@ -45,6 +45,7 @@ BEGIN
|
||||
DECLARE v_id_type_error_bad_data INT;
|
||||
DECLARE v_id_type_error_no_permission INT;
|
||||
DECLARE v_is_super_user BIT;
|
||||
DECLARE v_priority_access_level_none INT;
|
||||
DECLARE v_priority_access_level_view INT;
|
||||
DECLARE v_time_start TIMESTAMP(6);
|
||||
|
||||
@@ -102,6 +103,7 @@ BEGIN
|
||||
SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1);
|
||||
SET v_id_permission_command_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'COMMAND_VIEW' LIMIT 1);
|
||||
SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1);
|
||||
SET v_priority_access_level_none := (SELECT ACCESS_LEVEL.priority FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'NONE' LIMIT 1);
|
||||
SET v_priority_access_level_view := (SELECT ACCESS_LEVEL.priority FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.id_access_level = v_id_access_level_view);
|
||||
|
||||
|
||||
@@ -191,6 +193,7 @@ BEGIN
|
||||
id_command_category INT NOT NULL
|
||||
, exists_valid_link BIT NOT NULL
|
||||
, id_user INT
|
||||
-- , active BIT
|
||||
, does_meet_id_filters BIT NOT NULL
|
||||
, does_meet_non_id_filters BIT NOT NULL
|
||||
);
|
||||
@@ -485,6 +488,8 @@ BEGIN
|
||||
ELSE
|
||||
INSERT INTO tmp_Command_Category_Calc_Command (
|
||||
id_command_category
|
||||
, exists_valid_link
|
||||
, id_user
|
||||
, does_meet_id_filters
|
||||
, does_meet_non_id_filters
|
||||
)
|
||||
@@ -569,6 +574,8 @@ BEGIN
|
||||
)
|
||||
SELECT
|
||||
COMMAND_CATEGORY.id_command_category
|
||||
, IFNULL(COMMAND_CATEGORY_ACCESS.exists_valid_link, 0) AS exists_valid_link
|
||||
, COMMAND_CATEGORY_ACCESS.id_user
|
||||
, CASE WHEN
|
||||
v_has_filter_command_category_id = 0
|
||||
OR COMMAND_CATEGORY_FILTERS.does_meet_id_filter = 1
|
||||
@@ -729,152 +736,6 @@ BEGIN
|
||||
ELSEIF EXISTS ()
|
||||
*/
|
||||
ELSE
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'Command Filters';
|
||||
WITH
|
||||
Command_Id_Filter AS (
|
||||
SELECT COMMAND.id_command
|
||||
FROM tmp_Split_Id_Calc_Command t_SPLIT_ID
|
||||
INNER JOIN fetchmetrics.DOG_Command COMMAND ON t_SPLIT_ID.as_int = COMMAND.id_command
|
||||
)
|
||||
, Command_Name_Filter AS (
|
||||
SELECT COMMAND.id_command
|
||||
FROM tmp_Split_Name_Calc_Command t_SPLIT_NAME
|
||||
INNER JOIN fetchmetrics.DOG_Command COMMAND ON COMMAND.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%')
|
||||
WHERE
|
||||
t_SPLIT_NAME.substring IS NOT NULL
|
||||
AND t_SPLIT_NAME.substring <> ''
|
||||
)
|
||||
, Command_Hand_Signal_Default_Description_Filter AS (
|
||||
SELECT COMMAND.id_command
|
||||
FROM tmp_Split_Hand_Signal_Default_Description_Calc_Command t_SPLIT_HSDD
|
||||
INNER JOIN fetchmetrics.DOG_Command COMMAND ON COMMAND.hand_signal_default_description LIKE CONCAT('%', t_SPLIT_HSDD.substring, '%')
|
||||
WHERE
|
||||
t_SPLIT_HSDD.substring IS NOT NULL
|
||||
AND t_SPLIT_HSDD.substring <> ''
|
||||
)
|
||||
, Command_Notes_Filter AS (
|
||||
SELECT COMMAND.id_command
|
||||
FROM tmp_Split_Notes_Calc_Command t_SPLIT_NOTES
|
||||
INNER JOIN fetchmetrics.DOG_Command COMMAND ON COMMAND.notes LIKE CONCAT('%', t_SPLIT_NOTES.substring, '%')
|
||||
WHERE
|
||||
t_SPLIT_NOTES.substring IS NOT NULL
|
||||
AND t_SPLIT_NOTES.substring <> ''
|
||||
)
|
||||
, Command_Filters AS (
|
||||
SELECT
|
||||
COMMAND_COMBINED.id_command
|
||||
, MAX(COMMAND_COMBINED.does_meet_id_filter) AS does_meet_id_filter
|
||||
, MAX(COMMAND_COMBINED.does_meet_name_filter) AS does_meet_name_filter
|
||||
, MAX(COMMAND_COMBINED.does_meet_hand_signal_default_description_filter) AS does_meet_hand_signal_default_description_filter
|
||||
, MAX(COMMAND_COMBINED.does_meet_notes_filter) AS does_meet_notes_filter
|
||||
FROM (
|
||||
SELECT
|
||||
COMMAND_ID_FILTER.id_command
|
||||
, 1 AS does_meet_id_filter
|
||||
, 0 AS does_meet_name_filter
|
||||
, 0 AS does_meet_hand_signal_default_description_filter
|
||||
, 0 AS does_meet_notes_filter
|
||||
FROM Command_Id_Filter COMMAND_ID_FILTER
|
||||
UNION
|
||||
SELECT
|
||||
COMMAND_NAME_FILTER.id_command
|
||||
, 0 AS does_meet_id_filter
|
||||
, 1 AS does_meet_name_filter
|
||||
, 0 AS does_meet_hand_signal_default_description_filter
|
||||
, 0 AS does_meet_notes_filter
|
||||
FROM Command_Name_Filter COMMAND_NAME_FILTER
|
||||
UNION
|
||||
SELECT
|
||||
COMMAND_HSDD_FILTER.id_command
|
||||
, 0 AS does_meet_id_filter
|
||||
, 0 AS does_meet_name_filter
|
||||
, 1 AS does_meet_hand_signal_default_description_filter
|
||||
, 0 AS does_meet_notes_filter
|
||||
FROM Command_Hand_Signal_Default_Description_Filter COMMAND_HSDD_FILTER
|
||||
UNION
|
||||
SELECT
|
||||
COMMAND_NOTES_FILTER.id_command
|
||||
, 0 AS does_meet_id_filter
|
||||
, 0 AS does_meet_name_filter
|
||||
, 0 AS does_meet_hand_signal_default_description_filter
|
||||
, 1 AS does_meet_notes_filter
|
||||
FROM Command_Notes_Filter COMMAND_NOTES_FILTER
|
||||
) COMMAND_COMBINED
|
||||
GROUP BY COMMAND_COMBINED.id_command
|
||||
)
|
||||
SELECT
|
||||
COMMAND.id_command
|
||||
, COMMAND.id_command_category
|
||||
, CASE WHEN
|
||||
v_has_filter_command_id = 0
|
||||
OR COMMAND_FILTERS.does_meet_id_filter = 1
|
||||
THEN 1 ELSE 0 END AS does_meet_id_filters
|
||||
, CASE WHEN
|
||||
(
|
||||
v_has_filter_command_name = 0
|
||||
AND v_has_filter_command_hand_signal_default_description = 0
|
||||
AND v_has_filter_command_notes = 0
|
||||
)
|
||||
OR COMMAND_FILTERS.does_meet_name_filter = 1
|
||||
OR COMMAND_FILTERS.does_meet_hand_signal_default_description_filter = 1
|
||||
OR COMMAND_FILTERS.does_meet_notes_filter = 1
|
||||
THEN 1 ELSE 0 END AS does_meet_non_id_filters
|
||||
, CASE WHEN t_COMMAND_CATEGORY.id_command_category IS NOT NULL THEN 1 ELSE 0 END AS does_command_category_already_exist_in_temp_table
|
||||
FROM fetchmetrics.DOG_Command COMMAND
|
||||
INNER JOIN tmp_Command_Category_Calc_Command t_COMMAND_CATEGORY ON COMMAND.id_command_category = t_COMMAND_CATEGORY.id_command_category
|
||||
LEFT JOIN Command_Filters COMMAND_FILTERS ON COMMAND.id_command = COMMAND_FILTERS.id_command
|
||||
LEFT JOIN fetchmetrics.DOG_Command_Category_User_Link COMMAND_CATEGORY_USER_LINK
|
||||
ON t_COMMAND_CATEGORY.id_command_category = COMMAND_CATEGORY_USER_LINK.id_command_category
|
||||
AND (
|
||||
(
|
||||
a_get_inactive_command_category = 1
|
||||
AND a_get_inactive_user = 1
|
||||
)
|
||||
OR COMMAND_CATEGORY_USER_LINK.active = 1
|
||||
)
|
||||
LEFT JOIN tmp_Calc_User_Access_Calc_Command t_USER
|
||||
ON COMMAND_CATEGORY_USER_LINK.id_user = t_USER.id_user
|
||||
AND (
|
||||
a_get_inactive_user = 1
|
||||
OR t_USER.active = 1
|
||||
)
|
||||
LEFT JOIN fetchmetrics.DOG_Access_Level ACCESS_LEVEL
|
||||
ON COMMAND_CATEGORY_USER_LINK.id_access_level = ACCESS_LEVEL.id_access_level
|
||||
AND ACCESS_LEVEL.active = 1
|
||||
WHERE
|
||||
(
|
||||
a_get_all_command = 1
|
||||
OR (
|
||||
v_has_filter_command_id = 1
|
||||
AND COMMAND_FILTERS.does_meet_id_filter = 1
|
||||
)
|
||||
OR (
|
||||
v_has_filter_command_name = 1
|
||||
AND COMMAND_FILTERS.does_meet_name_filter = 1
|
||||
)
|
||||
OR (
|
||||
v_has_filter_command_hand_signal_default_description = 1
|
||||
AND COMMAND_FILTERS.does_meet_hand_signal_default_description_filter = 1
|
||||
)
|
||||
OR (
|
||||
v_has_filter_command_notes = 1
|
||||
AND COMMAND_FILTERS.does_meet_notes_filter = 1
|
||||
)
|
||||
)
|
||||
AND (
|
||||
v_is_super_user = 1
|
||||
OR (
|
||||
t_USER.id_user IS NOT NULL
|
||||
AND IFNULL(ACCESS_LEVEL.priority, v_priority_access_level_none) <= v_priority_access_level_view
|
||||
)
|
||||
)
|
||||
AND (
|
||||
a_get_inactive_command = 1
|
||||
OR COMMAND.active = 1
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
INSERT INTO tmp_Command_Calc_Command (
|
||||
id_command
|
||||
, id_command_category
|
||||
@@ -954,6 +815,51 @@ BEGIN
|
||||
) COMMAND_COMBINED
|
||||
GROUP BY COMMAND_COMBINED.id_command
|
||||
)
|
||||
, Command_Category_Access AS (
|
||||
SELECT
|
||||
COMMAND_CATEGORY.id_command_category
|
||||
, CASE WHEN
|
||||
v_is_super_user = 1
|
||||
OR (
|
||||
t_USER.id_user IS NOT NULL
|
||||
AND IFNULL(ACCESS_LEVEL.priority, v_priority_access_level_none) <= v_priority_access_level_view
|
||||
)
|
||||
THEN 1 ELSE 0 END AS exists_valid_link
|
||||
, ROW_NUMBER() OVER (
|
||||
PARTITION BY COMMAND_CATEGORY.id_command_category
|
||||
ORDER BY
|
||||
CASE WHEN
|
||||
v_is_super_user = 1
|
||||
OR (
|
||||
t_USER.id_user IS NOT NULL
|
||||
AND IFNULL(ACCESS_LEVEL.priority, v_priority_access_level_none) <= v_priority_access_level_view
|
||||
)
|
||||
THEN 1 ELSE 0 END DESC
|
||||
, t_USER.does_meet_id_filters DESC
|
||||
, t_USER.does_meet_non_id_filters DESC
|
||||
) AS index_link_in_command_category
|
||||
, t_USER.id_user
|
||||
, COMMAND_CATEGORY.active
|
||||
FROM fetchmetrics.DOG_Command_Category COMMAND_CATEGORY
|
||||
LEFT JOIN fetchmetrics.DOG_Command_Category_User_Link COMMAND_CATEGORY_USER_LINK
|
||||
ON COMMAND_CATEGORY.id_command_category = COMMAND_CATEGORY_USER_LINK.id_command_category
|
||||
AND (
|
||||
(
|
||||
a_get_inactive_command_category = 1
|
||||
AND a_get_inactive_user = 1
|
||||
)
|
||||
OR COMMAND_CATEGORY_USER_LINK.active = 1
|
||||
)
|
||||
LEFT JOIN tmp_Calc_User_Access_Calc_Command t_USER
|
||||
ON COMMAND_CATEGORY_USER_LINK.id_user = t_USER.id_user
|
||||
AND (
|
||||
a_get_inactive_user = 1
|
||||
OR t_USER.active = 1
|
||||
)
|
||||
LEFT JOIN fetchmetrics.DOG_Access_Level ACCESS_LEVEL
|
||||
ON COMMAND_CATEGORY_USER_LINK.id_access_level = ACCESS_LEVEL.id_access_level
|
||||
AND ACCESS_LEVEL.active = 1
|
||||
)
|
||||
SELECT
|
||||
COMMAND.id_command
|
||||
, COMMAND.id_command_category
|
||||
@@ -973,28 +879,13 @@ BEGIN
|
||||
THEN 1 ELSE 0 END AS does_meet_non_id_filters
|
||||
, CASE WHEN t_COMMAND_CATEGORY.id_command_category IS NOT NULL THEN 1 ELSE 0 END AS does_command_category_already_exist_in_temp_table
|
||||
FROM fetchmetrics.DOG_Command COMMAND
|
||||
INNER JOIN tmp_Command_Category_Calc_Command t_COMMAND_CATEGORY ON COMMAND.id_command_category = t_COMMAND_CATEGORY.id_command_category
|
||||
LEFT JOIN tmp_Command_Category_Calc_Command t_COMMAND_CATEGORY ON COMMAND.id_command_category = t_COMMAND_CATEGORY.id_command_category
|
||||
LEFT JOIN Command_Filters COMMAND_FILTERS ON COMMAND.id_command = COMMAND_FILTERS.id_command
|
||||
LEFT JOIN fetchmetrics.DOG_Command_Category_User_Link COMMAND_CATEGORY_USER_LINK
|
||||
ON t_COMMAND_CATEGORY.id_command_category = COMMAND_CATEGORY_USER_LINK.id_command_category
|
||||
AND (
|
||||
(
|
||||
a_get_inactive_command_category = 1
|
||||
AND a_get_inactive_user = 1
|
||||
)
|
||||
OR COMMAND_CATEGORY_USER_LINK.active = 1
|
||||
)
|
||||
LEFT JOIN tmp_Calc_User_Access_Calc_Command t_USER
|
||||
ON COMMAND_CATEGORY_USER_LINK.id_user = t_USER.id_user
|
||||
AND (
|
||||
a_get_inactive_user = 1
|
||||
OR t_USER.active = 1
|
||||
)
|
||||
LEFT JOIN fetchmetrics.DOG_Access_Level ACCESS_LEVEL
|
||||
ON COMMAND_CATEGORY_USER_LINK.id_access_level = ACCESS_LEVEL.id_access_level
|
||||
AND ACCESS_LEVEL.active = 1
|
||||
LEFT JOIN Command_Category_Access COMMAND_CATEGORY_ACCESS
|
||||
ON COMMAND.id_command_category = COMMAND_CATEGORY_ACCESS.id_command_category
|
||||
AND COMMAND_CATEGORY_ACCESS.index_link_in_command_category = 1
|
||||
WHERE
|
||||
(
|
||||
(
|
||||
a_get_all_command = 1
|
||||
OR (
|
||||
v_has_filter_command_id = 1
|
||||
@@ -1013,17 +904,15 @@ BEGIN
|
||||
AND COMMAND_FILTERS.does_meet_notes_filter = 1
|
||||
)
|
||||
)
|
||||
AND (
|
||||
v_is_super_user = 1
|
||||
OR (
|
||||
t_USER.id_user IS NOT NULL
|
||||
AND IFNULL(ACCESS_LEVEL.priority, v_priority_access_level_none) <= v_priority_access_level_view
|
||||
)
|
||||
)
|
||||
AND (
|
||||
a_get_inactive_command = 1
|
||||
OR COMMAND.active = 1
|
||||
)
|
||||
AND IFNULL(COMMAND_CATEGORY_ACCESS.exists_valid_link, 0) = 1
|
||||
AND (
|
||||
a_get_inactive_command_category = 1
|
||||
OR COMMAND_CATEGORY_ACCESS.active = 1
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
END IF;
|
||||
@@ -1040,28 +929,29 @@ BEGIN
|
||||
END IF;
|
||||
|
||||
-- Missing Categories
|
||||
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Command t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
/*
|
||||
IF
|
||||
NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Command t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1)
|
||||
AND a_require_all_id_search_filters_met = 0
|
||||
AND a_require_all_non_id_search_filters_met = 0
|
||||
THEN
|
||||
|
||||
IF
|
||||
a_require_all_id_search_filters_met = 0
|
||||
AND a_require_all_non_id_search_filters_met = 0
|
||||
THEN
|
||||
INSERT INTO tmp_Command_Category_Calc_Command (
|
||||
id_command_category
|
||||
, does_meet_id_filters
|
||||
, does_meet_non_id_filters
|
||||
)
|
||||
SELECT DISTINCT
|
||||
COMMAND_CATEGORY.id_command_category
|
||||
, 0 AS does_meet_id_filters
|
||||
, 0 AS does_meet_non_id_filters
|
||||
FROM fetchmetrics.DOG_Command_Category COMMAND_CATEGORY
|
||||
INNER JOIN tmp_Command_Calc_Command t_COMMAND
|
||||
ON COMMAND_CATEGORY.id_command_category = t_COMMAND.id_command_category
|
||||
AND t_COMMAND.does_command_category_already_exist_in_temp_table = 0
|
||||
;
|
||||
END IF;
|
||||
INSERT INTO tmp_Command_Category_Calc_Command (
|
||||
id_command_category
|
||||
, does_meet_id_filters
|
||||
, does_meet_non_id_filters
|
||||
)
|
||||
SELECT DISTINCT
|
||||
COMMAND_CATEGORY.id_command_category
|
||||
, 0 AS does_meet_id_filters
|
||||
, 0 AS does_meet_non_id_filters
|
||||
FROM fetchmetrics.DOG_Command_Category COMMAND_CATEGORY
|
||||
INNER JOIN tmp_Command_Calc_Command t_COMMAND
|
||||
ON COMMAND_CATEGORY.id_command_category = t_COMMAND.id_command_category
|
||||
AND t_COMMAND.does_command_category_already_exist_in_temp_table = 0
|
||||
;
|
||||
END IF;
|
||||
*/
|
||||
|
||||
-- Filter records
|
||||
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Command t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
@@ -1088,109 +978,19 @@ BEGIN
|
||||
)
|
||||
)
|
||||
OR (
|
||||
a_require_any_id_search_filters_met = 1
|
||||
a_require_any_id_search_filters_met = 1
|
||||
AND t_COMMAND.does_meet_id_filters = 0
|
||||
AND t_COMMAND_CATEGORY.does_meet_id_filters = 0
|
||||
AND IFNULL(t_USER.does_meet_id_filters, 0) = 0
|
||||
)
|
||||
OR (
|
||||
a_require_any_non_id_search_filters_met = 1
|
||||
a_require_any_non_id_search_filters_met = 1
|
||||
AND t_COMMAND.does_meet_non_id_filters = 0
|
||||
AND t_COMMAND_CATEGORY.does_meet_non_id_filters = 0
|
||||
AND IFNULL(t_USER.does_meet_non_id_filters, 0) = 0
|
||||
)
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
WITH
|
||||
Category_And_Best_Command AS (
|
||||
SELECT
|
||||
t_COMMAND.id_command_category
|
||||
, MAX(IFNULL(t_COMMAND.does_meet_id_filters, 0)) AS does_meet_id_filters
|
||||
, MAX(IFNULL(t_COMMAND.does_meet_non_id_filters, 0)) AS does_meet_non_id_filters
|
||||
FROM tmp_Command_Calc_Command t_COMMAND
|
||||
GROUP BY t_COMMAND.id_command_category
|
||||
)
|
||||
, Command_Category_Access AS (
|
||||
SELECT
|
||||
COMMAND_CATEGORY.id_command_category
|
||||
, CASE WHEN
|
||||
v_is_super_user = 1
|
||||
OR (
|
||||
t_USER.id_user IS NOT NULL
|
||||
AND IFNULL(ACCESS_LEVEL.priority, v_priority_access_level_none) <= v_priority_access_level_view
|
||||
)
|
||||
THEN 1 ELSE 0 END AS can_user_access_command_category
|
||||
, ROW_NUMBER() OVER (
|
||||
PARTITION BY COMMAND_CATEGORY.id_command_category
|
||||
ORDER BY CASE WHEN
|
||||
v_is_super_user = 1
|
||||
OR (
|
||||
t_USER.id_user IS NOT NULL
|
||||
AND IFNULL(ACCESS_LEVEL.priority, v_priority_access_level_none) <= v_priority_access_level_view
|
||||
)
|
||||
THEN 1 ELSE 0 END DESC
|
||||
) AS index_link_in_command_category
|
||||
, t_USER.does_meet_id_filters AS does_user_meet_id_filters
|
||||
, t_USER.does_meet_non_id_filters AS does_user_meet_non_id_filters
|
||||
FROM fetchmetrics.DOG_Command_Category COMMAND_CATEGORY
|
||||
LEFT JOIN fetchmetrics.DOG_Command_Category_User_Link COMMAND_CATEGORY_USER_LINK
|
||||
ON COMMAND_CATEGORY.id_command_category = COMMAND_CATEGORY_USER_LINK.id_command_category
|
||||
AND (
|
||||
(
|
||||
a_get_inactive_command_category = 1
|
||||
AND a_get_inactive_user = 1
|
||||
)
|
||||
OR COMMAND_CATEGORY_USER_LINK.active = 1
|
||||
)
|
||||
LEFT JOIN tmp_Calc_User_Access_Calc_Command t_USER
|
||||
ON COMMAND_CATEGORY_USER_LINK.id_user = t_USER.id_user
|
||||
AND (
|
||||
a_get_inactive_user = 1
|
||||
OR t_USER.active = 1
|
||||
)
|
||||
LEFT JOIN fetchmetrics.DOG_Access_Level ACCESS_LEVEL
|
||||
ON COMMAND_CATEGORY_USER_LINK.id_access_level = ACCESS_LEVEL.id_access_level
|
||||
AND ACCESS_LEVEL.active = 1
|
||||
)
|
||||
SELECT *
|
||||
FROM tmp_Command_Category_Calc_Command t_COMMAND_CATEGORY
|
||||
LEFT JOIN Category_And_Best_Command CATEGORY_BEST ON t_COMMAND_CATEGORY.id_command_category = CATEGORY_BEST.id_command_category
|
||||
LEFT JOIN Command_Category_Access COMMAND_CATEGORY_ACCESS
|
||||
ON t_COMMAND_CATEGORY.id_command_category = COMMAND_CATEGORY_ACCESS.id_command_category
|
||||
AND COMMAND_CATEGORY_ACCESS.index_link_in_command_category = 1
|
||||
WHERE
|
||||
(
|
||||
a_require_all_id_search_filters_met = 1
|
||||
AND (
|
||||
IFNULL(CATEGORY_BEST.does_meet_id_filters, 0) = 0
|
||||
OR t_COMMAND_CATEGORY.does_meet_id_filters = 0
|
||||
OR IFNULL(COMMAND_CATEGORY_ACCESS.does_user_meet_id_filters, 0) = 0
|
||||
)
|
||||
)
|
||||
OR (
|
||||
a_require_all_non_id_search_filters_met = 1
|
||||
AND (
|
||||
IFNULL(CATEGORY_BEST.does_meet_non_id_filters, 0) = 0
|
||||
OR t_COMMAND_CATEGORY.does_meet_non_id_filters = 0
|
||||
OR IFNULL(COMMAND_CATEGORY_ACCESS.does_user_meet_non_id_filters, 0) = 0
|
||||
)
|
||||
)
|
||||
OR (
|
||||
a_require_any_id_search_filters_met = 1
|
||||
AND IFNULL(CATEGORY_BEST.does_meet_id_filters, 0) = 0
|
||||
AND t_COMMAND_CATEGORY.does_meet_id_filters = 0
|
||||
AND IFNULL(COMMAND_CATEGORY_ACCESS.does_user_meet_id_filters, 0) = 0
|
||||
)
|
||||
OR (
|
||||
a_require_any_non_id_search_filters_met = 1
|
||||
AND IFNULL(CATEGORY_BEST.does_meet_non_id_filters, 0) = 0
|
||||
AND t_COMMAND_CATEGORY.does_meet_non_id_filters = 0
|
||||
AND IFNULL(COMMAND_CATEGORY_ACCESS.does_user_meet_non_id_filters, 0) = 0
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
|
||||
WITH
|
||||
Category_And_Best_Command AS (
|
||||
SELECT
|
||||
@@ -1200,6 +1000,7 @@ BEGIN
|
||||
FROM tmp_Command_Calc_Command t_COMMAND
|
||||
GROUP BY t_COMMAND.id_command_category
|
||||
)
|
||||
/*
|
||||
, Command_Category_Access AS (
|
||||
SELECT
|
||||
COMMAND_CATEGORY.id_command_category
|
||||
@@ -1242,19 +1043,23 @@ BEGIN
|
||||
ON COMMAND_CATEGORY_USER_LINK.id_access_level = ACCESS_LEVEL.id_access_level
|
||||
AND ACCESS_LEVEL.active = 1
|
||||
)
|
||||
*/
|
||||
SELECT *
|
||||
FROM tmp_Command_Category_Calc_Command t_COMMAND_CATEGORY
|
||||
LEFT JOIN Category_And_Best_Command CATEGORY_BEST ON t_COMMAND_CATEGORY.id_command_category = CATEGORY_BEST.id_command_category
|
||||
/*
|
||||
LEFT JOIN Command_Category_Access COMMAND_CATEGORY_ACCESS
|
||||
ON t_COMMAND_CATEGORY.id_command_category = COMMAND_CATEGORY_ACCESS.id_command_category
|
||||
AND COMMAND_CATEGORY_ACCESS.index_link_in_command_category = 1
|
||||
*/
|
||||
LEFT JOIN tmp_Calc_User_Access_Calc_Command t_USER ON t_COMMAND_CATEGORY.id_user = t_USER.id_user
|
||||
WHERE
|
||||
(
|
||||
a_require_all_id_search_filters_met = 1
|
||||
AND (
|
||||
IFNULL(CATEGORY_BEST.does_meet_id_filters, 0) = 0
|
||||
OR t_COMMAND_CATEGORY.does_meet_id_filters = 0
|
||||
OR IFNULL(COMMAND_CATEGORY_ACCESS.does_user_meet_id_filters, 0) = 0
|
||||
OR IFNULL(t_USER.does_meet_id_filters, 0) = 0
|
||||
)
|
||||
)
|
||||
OR (
|
||||
@@ -1262,20 +1067,20 @@ BEGIN
|
||||
AND (
|
||||
IFNULL(CATEGORY_BEST.does_meet_non_id_filters, 0) = 0
|
||||
OR t_COMMAND_CATEGORY.does_meet_non_id_filters = 0
|
||||
OR IFNULL(COMMAND_CATEGORY_ACCESS.does_user_meet_non_id_filters, 0) = 0
|
||||
OR IFNULL(t_USER.does_meet_non_id_filters, 0) = 0
|
||||
)
|
||||
)
|
||||
OR (
|
||||
a_require_any_id_search_filters_met = 1
|
||||
a_require_any_id_search_filters_met = 1
|
||||
AND IFNULL(CATEGORY_BEST.does_meet_id_filters, 0) = 0
|
||||
AND t_COMMAND_CATEGORY.does_meet_id_filters = 0
|
||||
AND IFNULL(COMMAND_CATEGORY_ACCESS.does_user_meet_id_filters, 0) = 0
|
||||
AND IFNULL(t_USER.does_meet_id_filters, 0) = 0
|
||||
)
|
||||
OR (
|
||||
a_require_any_non_id_search_filters_met = 1
|
||||
a_require_any_non_id_search_filters_met = 1
|
||||
AND IFNULL(CATEGORY_BEST.does_meet_non_id_filters, 0) = 0
|
||||
AND t_COMMAND_CATEGORY.does_meet_non_id_filters = 0
|
||||
AND IFNULL(COMMAND_CATEGORY_ACCESS.does_user_meet_non_id_filters, 0) = 0
|
||||
AND IFNULL(t_USER.does_meet_non_id_filters, 0) = 0
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
|
||||
Reference in New Issue
Block a user