Feat(SQL): Locations redesigned for parent location id stored on location table and links table removed.
This commit is contained in:
@@ -15,7 +15,6 @@ CREATE PROCEDURE parts.p_dog_get_many_location (
|
||||
, IN a_require_all_non_id_search_filters_met BIT
|
||||
, IN a_require_any_non_id_search_filters_met BIT
|
||||
, IN a_output_LOCATIONS BIT
|
||||
, IN a_output_LOCATION_links BIT
|
||||
, IN a_debug BIT
|
||||
)
|
||||
BEGIN
|
||||
@@ -100,7 +99,6 @@ BEGIN
|
||||
SET a_require_any_non_id_search_filters_met := IFNULL(a_require_any_non_id_search_filters_met, 1);
|
||||
*/
|
||||
SET a_output_LOCATIONS := IFNULL(a_output_LOCATIONS, 0);
|
||||
SET a_output_LOCATION_links := IFNULL(a_output_LOCATION_links, 0);
|
||||
SET a_debug := IFNULL(a_debug, 0);
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
@@ -115,7 +113,6 @@ BEGIN
|
||||
, a_require_all_non_id_search_filters_met
|
||||
, a_require_any_non_id_search_filters_met
|
||||
, a_output_LOCATIONS
|
||||
, a_output_LOCATION_links
|
||||
, a_debug
|
||||
;
|
||||
|
||||
@@ -129,7 +126,6 @@ BEGIN
|
||||
END IF;
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Location_Link;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Location;
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Location (
|
||||
@@ -142,16 +138,6 @@ BEGIN
|
||||
, does_meet_non_id_filters BIT
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Location_Link (
|
||||
id_link INT NOT NULL
|
||||
, id_location_parent INT
|
||||
, id_location_child INT
|
||||
, active BIT
|
||||
|
||||
, does_meet_id_filters BIT
|
||||
, does_meet_non_id_filters BIT
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
@@ -274,8 +260,6 @@ BEGIN
|
||||
IF a_debug = 1 THEN
|
||||
SELECT COUNT(*) FROM parts.DOG_Location_Temp;
|
||||
SELECT * FROM parts.DOG_Location_Temp;
|
||||
SELECT COUNT(*) FROM parts.DOG_Location_Link_Temp;
|
||||
SELECT * FROM parts.DOG_Location_Link_Temp;
|
||||
END IF;
|
||||
|
||||
INSERT INTO tmp_Location (
|
||||
@@ -299,32 +283,9 @@ BEGIN
|
||||
WHERE LOCATION_T.GUID = v_guid
|
||||
;
|
||||
|
||||
INSERT INTO tmp_Location_Link (
|
||||
id_link
|
||||
, id_location_parent
|
||||
, id_location_child
|
||||
, active
|
||||
|
||||
, does_meet_id_filters
|
||||
, does_meet_non_id_filters
|
||||
)
|
||||
SELECT
|
||||
LOCATION_LINK_T.id_link
|
||||
, LOCATION_LINK_T.id_location_parent
|
||||
, LOCATION_LINK_T.id_location_child
|
||||
, LOCATION_LINK_T.active
|
||||
|
||||
, NULL AS does_meet_id_filters
|
||||
, NULL AS does_meet_non_id_filters
|
||||
FROM parts.DOG_Location_Link_Temp LOCATION_LINK_T
|
||||
WHERE LOCATION_LINK_T.GUID = v_guid
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT COUNT(*) FROM tmp_Location;
|
||||
SELECT * FROM tmp_Location;
|
||||
SELECT COUNT(*) FROM tmp_Location_Link;
|
||||
SELECT * FROM tmp_Location_Link;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
@@ -332,10 +293,8 @@ BEGIN
|
||||
IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.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 a_debug = 1 THEN
|
||||
SELECT * FROM tmp_Location;
|
||||
SELECT * FROM tmp_Location_Link;
|
||||
END IF;
|
||||
|
||||
DELETE FROM tmp_Location_Link;
|
||||
DELETE FROM tmp_Location;
|
||||
END IF;
|
||||
|
||||
@@ -356,22 +315,6 @@ BEGIN
|
||||
;
|
||||
END IF;
|
||||
|
||||
-- Location Links
|
||||
IF a_output_LOCATION_links = 1 THEN
|
||||
SELECT
|
||||
t_LOCATION_LINK.id_link
|
||||
, t_LOCATION_LINK.id_location_parent
|
||||
, t_LOCATION_LINK.id_location_child
|
||||
, t_LOCATION_LINK.active
|
||||
|
||||
, t_LOCATION_LINK.does_meet_id_filters
|
||||
, t_LOCATION_LINK.does_meet_non_id_filters
|
||||
FROM tmp_Location_Link t_LOCATION_LINK
|
||||
INNER JOIN tmp_Location t_LOCATIONS ON t_LOCATION_LINK.id_location_child = t_LOCATIONS.id_location
|
||||
ORDER BY t_LOCATIONS.name
|
||||
;
|
||||
END IF;
|
||||
|
||||
-- Errors
|
||||
SELECT
|
||||
t_ERROR.id_error
|
||||
@@ -397,7 +340,6 @@ BEGIN
|
||||
);
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Location_Link;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Location;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
@@ -420,7 +362,6 @@ CALL parts.p_dog_get_many_location (
|
||||
, 0 -- a_require_all_non_id_search_filters_met
|
||||
, 1 -- a_require_any_non_id_search_filters_met
|
||||
, 1 -- a_output_LOCATIONS
|
||||
, 1 -- a_output_LOCATION_links
|
||||
, 1 -- a_debug
|
||||
);
|
||||
|
||||
@@ -436,7 +377,6 @@ CALL demo.p_dog_get_many_location (
|
||||
, 0 -- a_require_all_non_id_search_filters_met
|
||||
, 1 -- a_require_any_non_id_search_filters_met
|
||||
, 1 -- a_output_LOCATIONS
|
||||
, 1 -- a_output_LOCATION_links
|
||||
, 1 -- a_debug
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user