diff --git a/CHANGELOG.md b/CHANGELOG.md index 84fef2f494c6a8d01f0aac027a4452ab06d69627..cc36c949648c9fb41391e01636d63ad307cf7f48 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 fa43d6b3e216cdc25798261a8753daa656cf8618..2f6b36da256fc4ece42daca4957d85ea463cfd2e 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