Skip to content

Commit

Permalink
New SP update_dc_append_comments + refresh schema and history files
Browse files Browse the repository at this point in the history
  • Loading branch information
KarlLevik committed Jan 16, 2023
1 parent 63deb06 commit 1912687
Show file tree
Hide file tree
Showing 6 changed files with 69 additions and 2 deletions.
1 change: 1 addition & 0 deletions HISTORY.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ Table/column changes:
Stored procedures:

* New procedure ``update_container_dispose`` to mark a container as disposed
* New procedure ``update_dc_append_comments`` to append text to the comments column in a data collection

Grants & roles:

Expand Down
2 changes: 2 additions & 0 deletions grants/ispyb_acquisition.sql
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ GRANT EXECUTE ON PROCEDURE update_dc_machine TO 'ispyb_acquisition';
GRANT EXECUTE ON PROCEDURE upsert_sample_image_analysis TO 'ispyb_acquisition';
GRANT EXECUTE ON PROCEDURE upsert_dcg_grid TO 'ispyb_acquisition';
GRANT EXECUTE ON PROCEDURE upsert_dc_grid TO 'ispyb_acquisition';

GRANT EXECUTE ON PROCEDURE update_dc_append_comments TO 'ispyb_acquisition';
GRANT EXECUTE ON PROCEDURE update_dc_position TO 'ispyb_acquisition';

GRANT EXECUTE ON PROCEDURE `update_dc_experiment_v2` TO 'ispyb_acquisition';
Expand Down
3 changes: 2 additions & 1 deletion schemas/ispyb/lookups.sql
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,8 @@ INSERT INTO `SchemaStatus` (`schemaStatusId`, `scriptName`, `schemaStatus`, `rec
(232,'2022_09_28_ContainerType_update.sql','DONE','2022-09-28 10:04:59'),
(233,'2022_10_17_BLSession_drop_constraint.sql','DONE','2022-10-17 11:25:35'),
(234,'2022_10_21_Shipping_extra.sql','DONE','2022-11-02 17:04:27'),
(235,'2022_11_02_AdminVar_bump_version.sql','DONE','2022-11-02 17:04:27');
(235,'2022_11_02_AdminVar_bump_version.sql','DONE','2022-11-02 17:04:27'),
(236,'2023_01_16_Tomogram_new_cols.sql','DONE','2023-01-16 18:09:03');
/*!40000 ALTER TABLE `SchemaStatus` ENABLE KEYS */;

/*!40000 ALTER TABLE `ComponentType` DISABLE KEYS */;
Expand Down
33 changes: 33 additions & 0 deletions schemas/ispyb/routines.sql
Original file line number Diff line number Diff line change
Expand Up @@ -7794,6 +7794,39 @@ DELIMITER ;
/*!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 `update_dc_append_comments` */;
/*!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 `update_dc_append_comments`(
p_id int(11) unsigned,
p_comments varchar(1024),
p_separator varchar(5)
)
MODIFIES SQL DATA
COMMENT 'Appends text to DataCollection.comments for dataCollectionId=p_id. '
BEGIN
IF NOT (p_id IS NULL) AND NOT (p_comments IS NULL) THEN

UPDATE DataCollection
SET comments = concat_ws(p_separator, comments, p_comments)
WHERE dataCollectionId = p_id;

ELSE
SIGNAL SQLSTATE '45000' SET MYSQL_ERRNO=1644, MESSAGE_TEXT='Mandatory arguments p_id and/or p_comments are NULL';
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' */ ;
/*!50003 DROP PROCEDURE IF EXISTS `update_dc_experiment` */;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
Expand Down
20 changes: 20 additions & 0 deletions schemas/ispyb/stored_programs/sp_update_dc_append_comments.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
DELIMITER ;;
CREATE OR REPLACE DEFINER=`ispyb_root`@`%` PROCEDURE `update_dc_append_comments`(
p_id int(11) unsigned,
p_comments varchar(1024),
p_separator varchar(5)
)
MODIFIES SQL DATA
COMMENT 'Appends text to DataCollection.comments for dataCollectionId=p_id. '
BEGIN
IF NOT (p_id IS NULL) AND NOT (p_comments IS NULL) THEN

UPDATE DataCollection
SET comments = concat_ws(p_separator, comments, p_comments)
WHERE dataCollectionId = p_id;

ELSE
SIGNAL SQLSTATE '45000' SET MYSQL_ERRNO=1644, MESSAGE_TEXT='Mandatory arguments p_id and/or p_comments are NULL';
END IF;
END;;
DELIMITER ;
12 changes: 11 additions & 1 deletion schemas/ispyb/tables.sql
Original file line number Diff line number Diff line change
Expand Up @@ -4043,11 +4043,21 @@ CREATE TABLE `Tomogram` (
`xAxisCorrection` float DEFAULT NULL COMMENT 'X axis angle (etomo), unit: degrees',
`tiltAngleOffset` float DEFAULT NULL COMMENT 'tilt Axis offset (etomo), unit: degrees',
`zShift` float DEFAULT NULL COMMENT 'shift to center volumen in Z (etomo)',
`fileDirectory` varchar(255) DEFAULT NULL COMMENT 'Directory path for files referenced by this table',
`centralSliceImage` varchar(255) DEFAULT NULL COMMENT 'Tomogram central slice file',
`tomogramMovie` varchar(255) DEFAULT NULL COMMENT 'Movie traversing the tomogram across an axis',
`xyShiftPlot` varchar(255) DEFAULT NULL COMMENT 'XY shift plot file',
`projXY` varchar(255) DEFAULT NULL COMMENT 'XY projection file',
`projXZ` varchar(255) DEFAULT NULL COMMENT 'XZ projection file',
`processingJobId` int(11) unsigned DEFAULT NULL,
`recordTimeStamp` datetime DEFAULT current_timestamp() COMMENT 'Creation or last update date/time',
PRIMARY KEY (`tomogramId`),
KEY `Tomogram_fk_dataCollectionId` (`dataCollectionId`),
KEY `Tomogram_fk_autoProcProgramId` (`autoProcProgramId`),
KEY `Tomogram_fk_processingJobId` (`processingJobId`),
CONSTRAINT `Tomogram_fk_autoProcProgramId` FOREIGN KEY (`autoProcProgramId`) REFERENCES `AutoProcProgram` (`autoProcProgramId`) ON DELETE SET NULL ON UPDATE CASCADE,
CONSTRAINT `Tomogram_fk_dataCollectionId` FOREIGN KEY (`dataCollectionId`) REFERENCES `DataCollection` (`dataCollectionId`) ON DELETE CASCADE ON UPDATE CASCADE
CONSTRAINT `Tomogram_fk_dataCollectionId` FOREIGN KEY (`dataCollectionId`) REFERENCES `DataCollection` (`dataCollectionId`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `Tomogram_fk_processingJobId` FOREIGN KEY (`processingJobId`) REFERENCES `ProcessingJob` (`processingJobId`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='For storing per-sample, per-position data analysis results (reconstruction)';
/*!40101 SET character_set_client = @saved_cs_client */;
DROP TABLE IF EXISTS `UserGroup`;
Expand Down

0 comments on commit 1912687

Please sign in to comment.