Feat: Architecture redesign for Assessments, Commands, Modalities, Training Techniques, Reinforcement Schedules, Distractions, and Assessment Responses.
This commit is contained in:
@@ -88,7 +88,7 @@ BEGIN
|
||||
SET v_time_start := CURRENT_TIMESTAMP(6);
|
||||
SET v_code_type_error_bad_data := 'BAD_DATA';
|
||||
SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1);
|
||||
SET v_id_permission_dog_new := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_CREATE' LIMIT 1);
|
||||
SET v_id_permission_dog_new := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_EDIT' LIMIT 1);
|
||||
SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1);
|
||||
|
||||
CALL fetchmetrics.p_core_validate_guid ( a_guid );
|
||||
@@ -99,7 +99,7 @@ BEGIN
|
||||
CREATE TEMPORARY TABLE tmp_Assessment_Response (
|
||||
id_temp INT
|
||||
, id_response INT
|
||||
, id_assessment_command_modality_link INT
|
||||
, id_assessment_command_link INT
|
||||
, id_response_quality_metric INT
|
||||
, id_obedience_level INT
|
||||
, value_measured DOUBLE
|
||||
@@ -112,7 +112,7 @@ BEGIN
|
||||
CREATE TEMPORARY TABLE tmp_Assessment_Response_Copy (
|
||||
id_temp INT
|
||||
, id_response INT
|
||||
, id_assessment_command_modality_link INT
|
||||
, id_assessment_command_link INT
|
||||
, id_response_quality_metric INT
|
||||
, id_obedience_level INT
|
||||
, value_measured DOUBLE
|
||||
@@ -134,7 +134,7 @@ BEGIN
|
||||
INSERT INTO tmp_Assessment_Response (
|
||||
id_temp
|
||||
, id_response
|
||||
, id_assessment_command_modality_link
|
||||
, id_assessment_command_link
|
||||
, id_response_quality_metric
|
||||
, id_obedience_level
|
||||
, value_measured
|
||||
@@ -146,9 +146,9 @@ BEGIN
|
||||
ASSESSMENT_RESPONSE_T.id_temp
|
||||
, ASSESSMENT_RESPONSE_T.id_response
|
||||
, COALESCE(
|
||||
ASSESSMENT_RESPONSE_T.id_assessment_command_modality_link
|
||||
, ASSESSMENT_RESPONSE.id_assessment_command_modality_link
|
||||
) AS id_assessment_command_modality_link
|
||||
ASSESSMENT_RESPONSE_T.id_assessment_command_link
|
||||
, ASSESSMENT_RESPONSE.id_assessment_command_link
|
||||
) AS id_assessment_command_link
|
||||
, COALESCE(
|
||||
ASSESSMENT_RESPONSE_T.id_response_quality_metric
|
||||
, ASSESSMENT_RESPONSE.id_response_quality_metric
|
||||
@@ -178,11 +178,11 @@ BEGIN
|
||||
|
||||
-- Error names
|
||||
UPDATE tmp_Assessment_Response t_ASSESSMENT_RESPONSE
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link = ASSESSMENT_COMMAND_MODALITY_LINK.id_link
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Command_Link ASSESSMENT_COMMAND_LINK ON t_ASSESSMENT_RESPONSE.id_assessment_command_link = ASSESSMENT_COMMAND_LINK.id_link
|
||||
LEFT JOIN fetchmetrics.DOG_Response_Quality_Metric RESPONSE_QUALITY_METRIC ON t_ASSESSMENT_RESPONSE.id_response_quality_metric = RESPONSE_QUALITY_METRIC.id_metric
|
||||
LEFT JOIN fetchmetrics.DOG_Obedience_Level OBEDIENCE_LEVEL ON t_ASSESSMENT_RESPONSE.id_obedience_level = OBEDIENCE_LEVEL.id_obedience_level
|
||||
SET t_ASSESSMENT_RESPONSE.name_error = CONCAT(
|
||||
COALESCE(CONVERT(ASSESSMENT_COMMAND_MODALITY_LINK.created_on, CHAR), '(No Assessment Command Modality Link)')
|
||||
COALESCE(CONVERT(ASSESSMENT_COMMAND_LINK.created_on, CHAR), '(No Assessment Command Link)')
|
||||
, ' - '
|
||||
, COALESCE(RESPONSE_QUALITY_METRIC.name, '(No Response Quality Metric)')
|
||||
, ' - '
|
||||
@@ -199,15 +199,15 @@ BEGIN
|
||||
|
||||
-- Validation
|
||||
-- Missing mandatory fields
|
||||
-- id_assessment_command_modality_link
|
||||
-- id_assessment_command_link
|
||||
IF EXISTS (
|
||||
SELECT *
|
||||
FROM tmp_Assessment_Response t_ASSESSMENT_RESPONSE
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link = ASSESSMENT_COMMAND_MODALITY_LINK.id_link
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Command_Link ASSESSMENT_COMMAND_LINK ON t_ASSESSMENT_RESPONSE.id_assessment_command_link = ASSESSMENT_COMMAND_LINK.id_link
|
||||
WHERE
|
||||
ISNULL(t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link)
|
||||
OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK.id_link)
|
||||
OR ASSESSMENT_COMMAND_MODALITY_LINK.active = 0
|
||||
ISNULL(t_ASSESSMENT_RESPONSE.id_assessment_command_link)
|
||||
OR ISNULL(ASSESSMENT_COMMAND_LINK.id_link)
|
||||
OR ASSESSMENT_COMMAND_LINK.active = 0
|
||||
) THEN
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
id_type
|
||||
@@ -217,13 +217,13 @@ BEGIN
|
||||
SELECT
|
||||
v_id_type_error_bad_data
|
||||
, v_code_type_error_bad_data
|
||||
, CONCAT('The following Dog Assessment Response(s) do not have a valid Assessment_Command_Modality_Link: ', GROUP_CONCAT(t_ASSESSMENT_RESPONSE.name_error SEPARATOR ', ')) AS msg
|
||||
, CONCAT('The following Dog Assessment Response(s) do not have a valid Assessment_Command_Link: ', GROUP_CONCAT(t_ASSESSMENT_RESPONSE.name_error SEPARATOR ', ')) AS msg
|
||||
FROM tmp_Assessment_Response t_ASSESSMENT_RESPONSE
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link = ASSESSMENT_COMMAND_MODALITY_LINK.id_link
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Command_Link ASSESSMENT_COMMAND_LINK ON t_ASSESSMENT_RESPONSE.id_assessment_command_link = ASSESSMENT_COMMAND_LINK.id_link
|
||||
WHERE
|
||||
ISNULL(t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link)
|
||||
OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK.id_link)
|
||||
OR ASSESSMENT_COMMAND_MODALITY_LINK.active = 0
|
||||
ISNULL(t_ASSESSMENT_RESPONSE.id_assessment_command_link)
|
||||
OR ISNULL(ASSESSMENT_COMMAND_LINK.id_link)
|
||||
OR ASSESSMENT_COMMAND_LINK.active = 0
|
||||
;
|
||||
END IF;
|
||||
-- id_response_quality_metric
|
||||
@@ -363,7 +363,7 @@ BEGIN
|
||||
ON ASSESSMENT_RESPONSE.id_response = t_ASSESSMENT_RESPONSE.id_response
|
||||
AND t_ASSESSMENT_RESPONSE.is_new = 0
|
||||
SET
|
||||
ASSESSMENT_RESPONSE.id_assessment_command_modality_link = t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link
|
||||
ASSESSMENT_RESPONSE.id_assessment_command_link = t_ASSESSMENT_RESPONSE.id_assessment_command_link
|
||||
, ASSESSMENT_RESPONSE.id_response_quality_metric = t_ASSESSMENT_RESPONSE.id_response_quality_metric
|
||||
, ASSESSMENT_RESPONSE.id_obedience_level = t_ASSESSMENT_RESPONSE.id_obedience_level
|
||||
, ASSESSMENT_RESPONSE.value_measured = t_ASSESSMENT_RESPONSE.value_measured
|
||||
@@ -374,7 +374,7 @@ BEGIN
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_Assessment_Response (
|
||||
id_temp
|
||||
, id_assessment_command_modality_link
|
||||
, id_assessment_command_link
|
||||
, id_response_quality_metric
|
||||
, id_obedience_level
|
||||
, value_measured
|
||||
@@ -385,7 +385,7 @@ BEGIN
|
||||
)
|
||||
SELECT
|
||||
t_ASSESSMENT_RESPONSE.id_temp
|
||||
, t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link AS id_assessment_command_modality_link
|
||||
, t_ASSESSMENT_RESPONSE.id_assessment_command_link AS id_assessment_command_link
|
||||
, t_ASSESSMENT_RESPONSE.id_response_quality_metric AS id_response_quality_metric
|
||||
, t_ASSESSMENT_RESPONSE.id_obedience_level AS id_obedience_level
|
||||
, t_ASSESSMENT_RESPONSE.value_measured AS value_measured
|
||||
@@ -398,6 +398,23 @@ BEGIN
|
||||
t_ASSESSMENT_RESPONSE.is_new = 1
|
||||
AND t_ASSESSMENT_RESPONSE.active = 1
|
||||
;
|
||||
|
||||
WITH Link_Response_Count AS (
|
||||
SELECT
|
||||
ASSESSMENT_COMMAND_LINK.id_link
|
||||
, COUNT(*) AS count_responses
|
||||
FROM fetchmetrics.DOG_Assessment_Command_Link ASSESSMENT_COMMAND_LINK
|
||||
INNER JOIN tmp_Assessment_Response t_ASSESSMENT_RESPONSE ON ASSESSMENT_COMMAND_LINK.id_link = t_ASSESSMENT_RESPONSE.id_assessment_command_link
|
||||
INNER JOIN fetchmetrics.DOG_Assessment_Response ASSESSMENT_RESPONSE ON t_ASSESSMENT_RESPONSE.id_response = ASSESSMENT_RESPONSE.id_response
|
||||
GROUP BY ASSESSMENT_COMMAND_LINK.id_link
|
||||
)
|
||||
UPDATE fetchmetrics.DOG_Assessment_Command_Link ASSESSMENT_COMMAND_LINK
|
||||
-- INNER JOIN tmp_Assessment_Response t_ASSESSMENT_RESPONSE ON ASSESSMENT_COMMAND_LINK.id_link = t_ASSESSMENT_RESPONSE.id_assessment_command_link
|
||||
LEFT JOIN Link_Response_Count LINK_RESPONSE_COUNT ON ASSESSMENT_COMMAND_LINK.id_link = LINK_RESPONSE_COUNT.id_link
|
||||
SET
|
||||
ASSESSMENT_COMMAND_LINK.trial_count = IFNULL(LINK_RESPONSE_COUNT.count_responses, 0)
|
||||
, ASSESSMENT_COMMAND_LINK.id_change_set = v_id_change_set
|
||||
;
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_Msg_Error_Temp (
|
||||
id_type
|
||||
@@ -491,7 +508,7 @@ from fetchmetrics.DOG_Assessment_Response
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_Assessment_Response_Temp (
|
||||
id_response
|
||||
, id_assessment_command_modality_link
|
||||
, id_assessment_command_link
|
||||
, id_response_quality_metric
|
||||
, id_obedience_level
|
||||
, value_measured
|
||||
@@ -501,7 +518,7 @@ INSERT INTO fetchmetrics.DOG_Assessment_Response_Temp (
|
||||
)
|
||||
VALUES (
|
||||
-1 -- id_response
|
||||
, 1 -- id_assessment_command_modality_link
|
||||
, 1 -- id_assessment_command_link
|
||||
, 1 -- id_response_quality_metric
|
||||
, 1 -- id_obedience_level
|
||||
, 10000 -- value_measured
|
||||
|
||||
Reference in New Issue
Block a user