From 332217e411b0ab4a1b6d42536882350dec4a389e Mon Sep 17 00:00:00 2001 From: Timm Fitschen <t.fitschen@indiscale.com> Date: Tue, 3 Nov 2020 14:27:11 +0000 Subject: [PATCH] F fix versioning bug --- CHANGELOG.md | 4 ++++ procedures/retrieveEntityOverrides.sql | 16 +++++++--------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 84fef2f..cc36c94 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed ### +* Bug in `retrieveOverrides` function where selecting the datatype of an old + version resultet in an error. See corresponding test in `caosdb-pyinttest` + `tests/test_versioning.py::test_datatype_without_name` + ### Security ### ## 3.0.0 (2020-09-01) ## diff --git a/procedures/retrieveEntityOverrides.sql b/procedures/retrieveEntityOverrides.sql index fa43d6b..2f6b36d 100644 --- a/procedures/retrieveEntityOverrides.sql +++ b/procedures/retrieveEntityOverrides.sql @@ -91,13 +91,11 @@ retrieveOverridesBody: BEGIN NULL AS collection_override, NULL AS name_override, NULL AS desc_override, - ( SELECT value FROM - ( SELECT value FROM name_data - WHERE domain_id = 0 - AND entity_ID = datatypeID - AND property_id = 20 - UNION SELECT datatype AS value - ) AS tmp LIMIT 1 ) AS type_override, + IFNULL((SELECT value FROM name_data + WHERE domain_id = 0 + AND entity_id = datatype + AND property_id = 20 + LIMIT 1), datatype) AS type_override, entity_id, property_id FROM archive_data_type @@ -154,10 +152,10 @@ retrieveOverridesBody: BEGIN NULL AS collection_override, NULL AS name_override, NULL AS desc_override, - ( SELECT value FROM name_data + IFNULL((SELECT value FROM name_data WHERE domain_id = 0 AND entity_ID = datatype - AND property_id = 20 LIMIT 1 ) AS type_override, + AND property_id = 20 LIMIT 1), datatype) AS type_override, entity_id, property_id FROM data_type -- GitLab