Feat(SQL): Locations redesigned for parent location id stored on location table and links table removed.

This commit is contained in:
2025-07-15 15:21:04 +01:00
parent a3fd8b12fe
commit e0805ec2ed
10 changed files with 13 additions and 124 deletions

View File

@@ -128,7 +128,7 @@ BEGIN
DROP TEMPORARY TABLE IF EXISTS tmp_Split_Name_Calc_Location;
DROP TEMPORARY TABLE IF EXISTS tmp_Split_Id_Calc_Location;
DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error_Calc_Location;
DROP TEMPORARY TABLE IF EXISTS tmp_Location_Link_Calc_Location;
-- DROP TEMPORARY TABLE IF EXISTS tmp_Location_Link_Calc_Location;
DROP TEMPORARY TABLE IF EXISTS tmp_Location_Calc_Location;
CREATE TEMPORARY TABLE tmp_Location_Calc_Location (
@@ -138,6 +138,7 @@ BEGIN
, csv_id_locations_parent TEXT
);
/*
CREATE TEMPORARY TABLE tmp_Location_Link_Calc_Location (
id_link INT NOT NULL
, id_location_parent INT
@@ -145,7 +146,8 @@ BEGIN
, does_meet_id_filters BIT
, does_meet_non_id_filters BIT
);
*/
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Location (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
@@ -428,6 +430,7 @@ BEGIN
END IF;
-- Calculated fields
/*
-- Parent Location Ids
WITH Location_Parent AS (
SELECT
@@ -450,33 +453,9 @@ BEGIN
SELECT 'After generate calculated fields Locations';
SELECT * FROM tmp_Location_Calc_Location;
END IF;
*/
-- Location Links
INSERT INTO tmp_Location_Link_Calc_Location (
id_link
, id_location_parent
, id_location_child
, does_meet_id_filters
, does_meet_non_id_filters
)
SELECT
LOCATION_LINK.id_link
, LOCATION_LINK.id_location_parent
, LOCATION_LINK.id_location_child
, NULL AS does_meet_id_filters
, NULL AS does_meet_non_id_filters
FROM parts.DOG_Location_Link LOCATION_LINK
INNER JOIN tmp_Location_Calc_Location t_LOCATIONS
ON LOCATION_LINK.id_location_parent = t_LOCATIONS.id_location
OR LOCATION_LINK.id_location_child = t_LOCATIONS.id_location
WHERE
a_get_inactive_location = 1
OR LOCATION_LINK.active = 1
;
-- Permissions
IF a_debug = 1 THEN
SELECT
@@ -600,31 +579,6 @@ BEGIN
INNER JOIN tmp_Location_Calc_Location t_LOCATIONS ON LOCATIONS.id_location = t_LOCATIONS.id_location
ORDER BY LOCATIONS.name
;
INSERT INTO parts.DOG_Location_Link_Temp (
guid
, id_link
, id_location_parent
, id_location_child
, active
, does_meet_id_filters
, does_meet_non_id_filters
)
SELECT
a_guid
, t_LOCATION_LINK.id_link
, LOCATION_LINK.id_location_parent
, LOCATION_LINK.id_location_child
, LOCATION_LINK.active
, NULL AS does_meet_id_filters
, NULL AS does_meet_non_id_filters
FROM parts.DOG_Location_Link LOCATION_LINK
INNER JOIN tmp_Location_Link_Calc_Location t_LOCATION_LINK ON LOCATION_LINK.id_link = t_LOCATION_LINK.id_link
INNER JOIN parts.DOG_Location LOCATIONS ON LOCATION_LINK.id_location_child = LOCATIONS.id_location
ORDER BY LOCATIONS.name
;
COMMIT;
-- Errors
@@ -651,7 +605,7 @@ BEGIN
DROP TEMPORARY TABLE IF EXISTS tmp_Split_Name_Calc_Location;
DROP TEMPORARY TABLE IF EXISTS tmp_Split_Id_Calc_Location;
DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error_Calc_Location;
DROP TEMPORARY TABLE IF EXISTS tmp_Location_Link_Calc_Location;
-- DROP TEMPORARY TABLE IF EXISTS tmp_Location_Link_Calc_Location;
DROP TEMPORARY TABLE IF EXISTS tmp_Location_Calc_Location;
IF a_debug = 1 THEN
@@ -696,9 +650,6 @@ CALL parts.p_dog_calc_location (
SELECT *
FROM parts.DOG_Location_Temp
;
SELECT *
FROM parts.DOG_Location_Link_Temp
;
/*
SELECT *
FROM parts.DOG_Location_Temp C
@@ -716,8 +667,5 @@ CALL parts.p_dog_clear_calc_location (
DELETE
FROM parts.DOG_Location_Temp
;
DELETE
FROM parts.DOG_Location_Link_Temp
;
*/