Skip to content

Commit be876f7

Browse files
committed
Refresh schema files to v4.2.0
1 parent b0c1ff9 commit be876f7

File tree

3 files changed

+264
-235
lines changed

3 files changed

+264
-235
lines changed

schemas/ispyb/lookups.sql

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
1111

1212
/*!40000 ALTER TABLE `AdminVar` DISABLE KEYS */;
13-
INSERT INTO `AdminVar` (`varId`, `name`, `value`) VALUES (4,'schemaVersion','4.1.0');
13+
INSERT INTO `AdminVar` (`varId`, `name`, `value`) VALUES (4,'schemaVersion','4.2.0');
1414
/*!40000 ALTER TABLE `AdminVar` ENABLE KEYS */;
1515

1616
/*!40000 ALTER TABLE `SchemaStatus` DISABLE KEYS */;
@@ -256,7 +256,13 @@ INSERT INTO `SchemaStatus` (`schemaStatusId`, `scriptName`, `schemaStatus`, `rec
256256
(285,'2024_03_20_Shipping_Dewar_externalIds.sql','DONE','2024-03-26 16:40:34'),
257257
(286,'2024_03_26_AdminVar_bump_version.sql','DONE','2024-03-26 16:40:34'),
258258
(287,'2024_03_26_AutoProc_index_refined_unit_cell.sql','DONE','2024-03-26 16:40:34'),
259-
(288,'2023_11_16_AdminVar_bump_version.sql','DONE','2024-03-26 16:47:25');
259+
(288,'2023_11_16_AdminVar_bump_version.sql','DONE','2024-03-26 16:47:25'),
260+
(289,'2024_05_14_DataCollectionGroup_experimentType.sql','DONE','2024-08-14 11:23:41'),
261+
(290,'2024_05_30_DiffractionPlan_experimentKind.sql','DONE','2024-08-14 11:23:41'),
262+
(291,'2024_07_08_BLSampleGroup_ownerId.sql','DONE','2024-08-14 11:23:41'),
263+
(292,'2024_07_16_ContainerType_insert_new.sql','DONE','2024-08-14 11:23:41'),
264+
(293,'2024_08_08_ProcessedTomogram.sql','DONE','2024-08-14 11:23:41'),
265+
(294,'2024_08_14_AdminVar_bump_version.sql','DONE','2024-08-14 11:23:41');
260266
/*!40000 ALTER TABLE `SchemaStatus` ENABLE KEYS */;
261267

262268
/*!40000 ALTER TABLE `ComponentType` DISABLE KEYS */;
@@ -325,7 +331,9 @@ INSERT INTO `ContainerType` (`containerTypeId`, `name`, `proposalType`, `active`
325331
(32,'Box','xpdf',1,25,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
326332
(33,'Puck-22','xpdf',1,22,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
327333
(34,'I22_Grid_81','saxs',1,81,9,1,1,1,1,0,0,-1),
328-
(35,'I22_Capillary_Rack_25','saxs',1,25,25,1,1,1,1,0,0,-1);
334+
(35,'I22_Capillary_Rack_25','saxs',1,25,25,1,1,1,1,0,0,-1),
335+
(36,'VMXm-Cartridge','mx',1,5,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
336+
(37,'VMXm-GridBox','mx',1,4,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
329337
/*!40000 ALTER TABLE `ContainerType` ENABLE KEYS */;
330338

331339
/*!40000 ALTER TABLE `ExperimentType` DISABLE KEYS */;
@@ -370,7 +378,8 @@ INSERT INTO `ExperimentType` (`experimentTypeId`, `name`, `proposalType`, `activ
370378
(39,'Serial Jet','mx',1),
371379
(40,'Still','mx',1),
372380
(41,'SSX-Chip','mx',1),
373-
(42,'SSX-Jet','mx',1);
381+
(42,'SSX-Jet','mx',1),
382+
(43,'Metal ID','mx',1);
374383
/*!40000 ALTER TABLE `ExperimentType` ENABLE KEYS */;
375384

376385
/*!40000 ALTER TABLE `InspectionType` DISABLE KEYS */;

schemas/ispyb/routines.sql

Lines changed: 38 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ DELIMITER ;
130130
/*!50003 SET character_set_results = utf8mb3 */ ;
131131
/*!50003 SET collation_connection = utf8mb3_general_ci */ ;
132132
DELIMITER ;;
133-
CREATE FUNCTION `retrieve_proposal_title`(p_proposal_code varchar(5), p_proposal_number int) RETURNS varchar(255) CHARSET latin1 COLLATE latin1_swedish_ci
133+
CREATE FUNCTION `retrieve_proposal_title`(p_proposal_code varchar(5), p_proposal_number int) RETURNS varchar(255) CHARSET latin1
134134
READS SQL DATA
135135
BEGIN
136136
DECLARE ret_title varchar(255);
@@ -155,7 +155,7 @@ DELIMITER ;
155155
/*!50003 SET character_set_results = utf8mb3 */ ;
156156
/*!50003 SET collation_connection = utf8mb3_general_ci */ ;
157157
DELIMITER ;;
158-
CREATE FUNCTION `retrieve_proposal_title_v2`(p_proposalCode varchar(5), p_proposalNumber int) RETURNS varchar(255) CHARSET latin1 COLLATE latin1_swedish_ci
158+
CREATE FUNCTION `retrieve_proposal_title_v2`(p_proposalCode varchar(5), p_proposalNumber int) RETURNS varchar(255) CHARSET latin1
159159
READS SQL DATA
160160
COMMENT 'Retrieve the title for a given proposal code and number.'
161161
BEGIN
@@ -206,7 +206,7 @@ DELIMITER ;
206206
/*!50003 SET character_set_results = utf8mb3 */ ;
207207
/*!50003 SET collation_connection = utf8mb3_general_ci */ ;
208208
DELIMITER ;;
209-
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
209+
CREATE FUNCTION `root_replace`(p_str varchar(255), p_oldroot varchar(255), p_newroot varchar(255)) RETURNS varchar(255) CHARSET latin1
210210
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'
211211
BEGIN
212212
DECLARE path_len smallint unsigned DEFAULT LENGTH(p_oldroot);
@@ -9448,7 +9448,7 @@ CREATE PROCEDURE `upsert_dc_group_v3`(
94489448
p_sessionNumber int(10),
94499449
p_sampleId int(10) unsigned,
94509450
p_sampleBarcode varchar(45),
9451-
p_experimenttype varchar(45),
9451+
p_experimenttype varchar(45),
94529452
p_starttime datetime,
94539453
p_endtime datetime,
94549454
p_crystalClass varchar(20),
@@ -9459,53 +9459,57 @@ CREATE PROCEDURE `upsert_dc_group_v3`(
94599459
p_actualContainerSlotInSC integer(10),
94609460
p_comments varchar(1024),
94619461
p_xtalSnapshotFullPath varchar(255),
9462-
p_scanParameters longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin
9462+
p_scanParameters longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin
94639463
)
94649464
MODIFIES SQL DATA
94659465
COMMENT 'Inserts or updates info about data collection group (p_id).\nMandatory columns:\nFor insert: Either p_sessionId or a valid session described by (p_proposalCode, p_proposalNumber, p_sessionNumber)\nFor update: p_id\nNote: In order to associate the data collection group with a sample, one of the following sets of parameters are required:\n* p_sampleId\n* p_proposalCode, p_proposalNumber, p_sessionNumber + p_sampleBarcode\n* p_actualContainerBarcode + p_actualSampleSlotInContainer\nReturns: Record ID in p_id.'
94669466
BEGIN
9467-
DECLARE row_proposal_id int(10) unsigned DEFAULT NULL;
9468-
DECLARE row_sample_id int(10) unsigned DEFAULT NULL;
9467+
DECLARE row_proposal_id int(10) unsigned DEFAULT NULL;
9468+
DECLARE row_sample_id int(10) unsigned DEFAULT NULL;
9469+
DECLARE row_experiment_id int(10) unsigned DEFAULT NULL;
94699470

9470-
IF p_sessionId IS NULL AND p_proposalCode IS NOT NULL AND p_proposalNumber IS NOT NULL AND p_sessionNumber IS NOT NULL THEN
9471+
IF p_sessionId IS NULL AND p_proposalCode IS NOT NULL AND p_proposalNumber IS NOT NULL AND p_sessionNumber IS NOT NULL THEN
94719472
SELECT max(bs.sessionid), p.proposalId INTO p_sessionId, row_proposal_id
94729473
FROM Proposal p INNER JOIN BLSession bs ON p.proposalid = bs.proposalid
94739474
WHERE p.proposalCode = p_proposalCode AND p.proposalNumber = p_proposalNumber AND bs.visit_number = p_sessionNumber;
94749475
END IF;
94759476

94769477
IF p_id IS NOT NULL OR p_sessionId IS NOT NULL THEN
9477-
9478+
94789479
IF p_sessionId IS NOT NULL AND p_sampleId IS NULL AND p_sampleBarcode IS NOT NULL THEN
9479-
IF row_proposal_id IS NULL THEN
9480-
SELECT proposalId INTO row_proposal_id
9481-
FROM BLSession
9482-
WHERE sessionId = p_sessionId;
9480+
IF row_proposal_id IS NULL THEN
9481+
SELECT proposalId INTO row_proposal_id
9482+
FROM BLSession
9483+
WHERE sessionId = p_sessionId;
9484+
END IF;
9485+
SELECT max(bls.blSampleId) INTO p_sampleId
9486+
FROM BLSample bls
9487+
INNER JOIN Container c on c.containerId = bls.containerId
9488+
INNER JOIN Dewar d on d.dewarId = c.dewarId
9489+
INNER JOIN Shipping s on s.shippingId = d.shippingId
9490+
WHERE bls.code = p_sampleBarcode AND s.proposalId = row_proposal_id;
94839491
END IF;
9484-
SELECT max(bls.blSampleId) INTO p_sampleId
9485-
FROM BLSample bls
9486-
INNER JOIN Container c on c.containerId = bls.containerId
9487-
INNER JOIN Dewar d on d.dewarId = c.dewarId
9488-
INNER JOIN Shipping s on s.shippingId = d.shippingId
9489-
WHERE bls.code = p_sampleBarcode AND s.proposalId = row_proposal_id;
9490-
END IF;
94919492

9492-
IF p_sampleId IS NULL AND (p_actualContainerBarcode IS NOT NULL) AND (p_actualSampleSlotInContainer IS NOT NULL) THEN
9493-
SELECT max(bls.blSampleId) INTO p_sampleId
9494-
FROM BLSample bls
9495-
INNER JOIN Container c on c.containerId = bls.containerId
9496-
WHERE c.barcode = p_actualContainerBarcode AND bls.location = p_actualSampleSlotInContainer;
9497-
END IF;
9493+
IF p_sampleId IS NULL AND (p_actualContainerBarcode IS NOT NULL) AND (p_actualSampleSlotInContainer IS NOT NULL) THEN
9494+
SELECT max(bls.blSampleId) INTO p_sampleId
9495+
FROM BLSample bls
9496+
INNER JOIN Container c on c.containerId = bls.containerId
9497+
WHERE c.barcode = p_actualContainerBarcode AND bls.location = p_actualSampleSlotInContainer;
9498+
END IF;
94989499

9499-
INSERT INTO DataCollectionGroup (datacollectionGroupId, sessionId, blsampleId, experimenttype, starttime, endtime,
9500+
SELECT experimentTypeId INTO row_experiment_id FROM ExperimentType WHERE name = p_experimenttype;
9501+
9502+
INSERT INTO DataCollectionGroup (datacollectionGroupId, sessionId, blsampleId, experimenttype, experimentTypeId, starttime, endtime,
95009503
crystalClass, detectorMode, actualSampleBarcode, actualSampleSlotInContainer, actualContainerBarcode, actualContainerSlotInSC,
95019504
comments, xtalSnapshotFullPath, scanParameters)
9502-
VALUES (p_id, p_sessionId, p_sampleId, p_experimenttype, p_starttime, p_endtime, p_crystalClass, p_detectorMode,
9505+
VALUES (p_id, p_sessionId, p_sampleId, p_experimenttype, row_experiment_id, p_starttime, p_endtime, p_crystalClass, p_detectorMode,
95039506
p_actualSampleBarcode, p_actualSampleSlotInContainer, p_actualContainerBarcode, p_actualContainerSlotInSC,
95049507
p_comments, p_xtalSnapshotFullPath, p_scanParameters)
95059508
ON DUPLICATE KEY UPDATE
95069509
sessionId = IFNULL(p_sessionId, sessionId),
95079510
blsampleId = IFNULL(p_sampleId, blsampleId),
95089511
experimenttype = IFNULL(p_experimenttype, experimenttype),
9512+
experimentTypeId = row_experiment_id,
95099513
starttime = IFNULL(p_starttime, starttime),
95109514
endtime = IFNULL(p_endtime, endtime),
95119515
crystalClass = IFNULL(p_crystalClass, crystalClass),
@@ -9518,13 +9522,13 @@ BEGIN
95189522
xtalSnapshotFullPath = IFNULL(p_xtalSnapshotFullPath, xtalSnapshotFullPath),
95199523
scanParameters = IFNULL (p_scanParameters, scanParameters);
95209524

9521-
IF p_id IS NULL THEN
9522-
SET p_id = LAST_INSERT_ID();
9525+
IF p_id IS NULL THEN
9526+
SET p_id = LAST_INSERT_ID();
95239527
END IF;
9524-
ELSE
9525-
SIGNAL SQLSTATE '45000' SET MYSQL_ERRNO=1644, MESSAGE_TEXT='Mandatory argument(s) are NULL: p_id OR p_sessionId OR a valid session described by (p_proposalCode and p_proposalNumber and p_sessionNumber) must be non-NULL.';
9526-
END IF;
9527-
END ;;
9528+
ELSE
9529+
SIGNAL SQLSTATE '45000' SET MYSQL_ERRNO=1644, MESSAGE_TEXT='Mandatory argument(s) are NULL: p_id OR p_sessionId OR a valid session described by (p_proposalCode and p_proposalNumber and p_sessionNumber) must be non-NULL.';
9530+
END IF;
9531+
END ;;
95289532
DELIMITER ;
95299533
/*!50003 SET sql_mode = @saved_sql_mode */ ;
95309534
/*!50003 SET character_set_client = @saved_cs_client */ ;

0 commit comments

Comments
 (0)