Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions grants/ispyb_processing.sql
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ GRANT EXECUTE ON PROCEDURE retrieve_most_recent_session TO 'ispyb_processing';
GRANT EXECUTE ON PROCEDURE retrieve_containers_submitted_non_ls TO 'ispyb_processing';

GRANT EXECUTE ON PROCEDURE `insert_screening` TO 'ispyb_processing';
GRANT EXECUTE ON PROCEDURE `insert_screening_v2` TO 'ispyb_processing';
GRANT EXECUTE ON PROCEDURE insert_screening_input TO 'ispyb_processing';
GRANT EXECUTE ON PROCEDURE `insert_screening_output` TO 'ispyb_processing';
GRANT EXECUTE ON PROCEDURE `insert_screening_output_v2` TO 'ispyb_processing';
Expand Down
45 changes: 42 additions & 3 deletions schemas/ispyb/routines.sql
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ DELIMITER ;
/*!50003 SET character_set_results = utf8mb3 */ ;
/*!50003 SET collation_connection = utf8mb3_general_ci */ ;
DELIMITER ;;
CREATE FUNCTION `retrieve_proposal_title`(p_proposal_code varchar(5), p_proposal_number int) RETURNS varchar(255) CHARSET latin1
CREATE FUNCTION `retrieve_proposal_title`(p_proposal_code varchar(5), p_proposal_number int) RETURNS varchar(255) CHARSET latin1 COLLATE latin1_swedish_ci
READS SQL DATA
BEGIN
DECLARE ret_title varchar(255);
Expand All @@ -156,7 +156,7 @@ DELIMITER ;
/*!50003 SET character_set_results = utf8mb3 */ ;
/*!50003 SET collation_connection = utf8mb3_general_ci */ ;
DELIMITER ;;
CREATE FUNCTION `retrieve_proposal_title_v2`(p_proposalCode varchar(5), p_proposalNumber int) RETURNS varchar(255) CHARSET latin1
CREATE FUNCTION `retrieve_proposal_title_v2`(p_proposalCode varchar(5), p_proposalNumber int) RETURNS varchar(255) CHARSET latin1 COLLATE latin1_swedish_ci
READS SQL DATA
COMMENT 'Retrieve the title for a given proposal code and number.'
BEGIN
Expand Down Expand Up @@ -207,7 +207,7 @@ DELIMITER ;
/*!50003 SET character_set_results = utf8mb3 */ ;
/*!50003 SET collation_connection = utf8mb3_general_ci */ ;
DELIMITER ;;
CREATE FUNCTION `root_replace`(p_str varchar(255), p_oldroot varchar(255), p_newroot varchar(255)) RETURNS varchar(255) CHARSET latin1
CREATE FUNCTION `root_replace`(p_str varchar(255), p_oldroot varchar(255), p_newroot varchar(255)) RETURNS varchar(255) CHARSET latin1 COLLATE latin1_swedish_ci
COMMENT 'Returns a varchar where the old root p_oldroot (the leftmost part) of p_str has been replaced with a new root p_newroot'
BEGIN
DECLARE path_len smallint unsigned DEFAULT LENGTH(p_oldroot);
Expand Down Expand Up @@ -2334,6 +2334,45 @@ BEGIN
SET p_id = LAST_INSERT_ID();
END IF;

END ;;
DELIMITER ;
/*!50003 SET sql_mode = @saved_sql_mode */ ;
/*!50003 SET character_set_client = @saved_cs_client */ ;
/*!50003 SET character_set_results = @saved_cs_results */ ;
/*!50003 SET collation_connection = @saved_col_connection */ ;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
/*!50003 SET sql_mode = 'STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
/*!50003 DROP PROCEDURE IF EXISTS `insert_screening_v2` */;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
/*!50003 SET character_set_client = utf8mb3 */ ;
/*!50003 SET character_set_results = utf8mb3 */ ;
/*!50003 SET collation_connection = utf8mb3_general_ci */ ;
DELIMITER ;;
CREATE PROCEDURE `insert_screening_v2`(
OUT p_id int(11) unsigned,
p_dcgId int(11) unsigned,
p_dcId int(11) unsigned,
p_programVersion varchar(45),
p_shortComments varchar(20),
p_comments varchar(255),
p_autoProcProgramId int(10) unsigned
)
MODIFIES SQL DATA
COMMENT 'Insert a row with info about a screening. Returns the ID in p_id.'
BEGIN
IF p_dcgId IS NULL AND p_dcId IS NOT NULL THEN
SELECT dataCollectionGroupId INTO p_dcgId FROM DataCollection WHERE dataCollectionId = p_dcId;
END IF;

INSERT INTO Screening (dataCollectionGroupId, dataCollectionId, programVersion, shortComments, comments, autoProcProgramId)
VALUES (p_dcgId, p_dcId, p_programVersion, p_shortComments, p_comments, p_autoProcProgramId);

IF LAST_INSERT_ID() <> 0 THEN
SET p_id = LAST_INSERT_ID();
END IF;

END ;;
DELIMITER ;
/*!50003 SET sql_mode = @saved_sql_mode */ ;
Expand Down
30 changes: 30 additions & 0 deletions schemas/ispyb/stored_programs/sp_insert_screening_v2.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
-- To test:
-- SET @id = NULL;
-- CALL insert_screening_v2(@id, NULL, 6017416, 'EDNA MXv1', 'EDNAStrategy2', 'Standard Anomalous Dataset Multiplicity=3 I/sig=2 Maxlifespan=4034 s', 56986688);

DELIMITER ;;
CREATE OR REPLACE PROCEDURE `insert_screening_v2`(
OUT p_id int(11) unsigned,
p_dcgId int(11) unsigned,
p_dcId int(11) unsigned,
p_programVersion varchar(45),
p_shortComments varchar(20),
p_comments varchar(255),
p_autoProcProgramId int(10) unsigned
)
MODIFIES SQL DATA
COMMENT 'Insert a row with info about a screening. Returns the ID in p_id.'
BEGIN
IF p_dcgId IS NULL AND p_dcId IS NOT NULL THEN
SELECT dataCollectionGroupId INTO p_dcgId FROM DataCollection WHERE dataCollectionId = p_dcId;
END IF;

INSERT INTO Screening (dataCollectionGroupId, dataCollectionId, programVersion, shortComments, comments, autoProcProgramId)
VALUES (p_dcgId, p_dcId, p_programVersion, p_shortComments, p_comments, p_autoProcProgramId);

IF LAST_INSERT_ID() <> 0 THEN
SET p_id = LAST_INSERT_ID();
END IF;

END;;
DELIMITER ;