Skip to content
Snippets Groups Projects
Verified Commit d511da7b authored by Timm Fitschen's avatar Timm Fitschen
Browse files

EHN: versioning phase 5

parent 037ea62e
Branches
Tags
No related merge requests found
......@@ -35,13 +35,18 @@ retrieveOverridesBody: BEGIN
IF is_feature_config("ENTITY_VERSIONING", "ENABLED") THEN
IF Version IS NOT NULL THEN
SELECT get_head_version(EntityID) = Version INTO IsHead;
IF DomainID = 0 THEN
SELECT get_head_version(EntityID) = Version INTO IsHead;
ELSE
SELECT get_head_version(DomainID) = Version INTO IsHead;
END IF;
END IF;
IF IsHead IS FALSE THEN
SELECT e._iversion INTO IVersion
FROM entity_version as e
WHERE e.entity_id = EntityID
WHERE ((e.entity_id = EntityID AND DomainID = 0)
OR (e.entity_id = DomainID))
AND e.version = Version;
IF IVersion IS NULL THEN
......
......@@ -37,13 +37,19 @@ retrieveEntityPropertiesBody: BEGIN
IF is_feature_config("ENTITY_VERSIONING", "ENABLED") THEN
IF Version IS NOT NULL THEN
SELECT get_head_version(EntityID) = Version INTO IsHead;
IF DomainID = 0 THEN
SELECT get_head_version(EntityID) = Version INTO IsHead;
ELSE
SELECT get_head_version(DomainID) = Version INTO IsHead;
END IF;
END IF;
IF IsHead IS FALSE THEN
SELECT e._iversion INTO IVersion
FROM entity_version as e
WHERE e.entity_id = EntityID
WHERE ((e.entity_id = EntityID AND DomainID = 0)
OR (e.entity_id = DomainID))
AND e.version = Version;
IF IVersion IS NULL THEN
......
......@@ -358,6 +358,45 @@ BEGIN
END //
DROP PROCEDURE IF EXISTS retrieveQueryTemplateDef //
CREATE PROCEDURE retrieveQueryTemplateDef (
in EntityID INT UNSIGNED,
in Version VARBINARY(255))
retrieveQueryTemplateDefBody: BEGIN
DECLARE IVersion INT UNSIGNED DEFAULT NULL;
DECLARE IsHead BOOLEAN DEFAULT TRUE;
IF is_feature_config("ENTITY_VERSIONING", "ENABLED") THEN
IF Version IS NOT NULL THEN
SELECT get_head_version(EntityID) = Version INTO IsHead;
END IF;
IF IsHead IS FALSE THEN
SELECT e._iversion INTO IVersion
FROM entity_version as e
WHERE e.entity_id = EntityID
AND e.version = Version;
IF IVersion IS NULL THEN
-- RETURN EARLY - Version does not exist.
LEAVE retrieveQueryTemplateDefBody;
END IF;
SELECT definition
FROM archive_query_template_def
WHERE id = EntityID
AND _iversion = IVersion;
LEAVE retrieveQueryTemplateDefBody;
END IF;
END IF;
SELECT definition
FROM query_template_def
WHERE id = EntityID;
END //
delimiter ;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment