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

WIP: EHN: version history

parent 5fb99009
Branches
Tags
No related merge requests found
......@@ -330,7 +330,8 @@ END;
DROP PROCEDURE IF EXISTS db_2_0.get_version_history //
/**
* Select version timestamps of an entity.
* Select the complete transaction history of an entity (Who created which
* version and when).
*
* Parameters
* ----------
......@@ -339,8 +340,8 @@ DROP PROCEDURE IF EXISTS db_2_0.get_version_history //
*
* Selects
* -------
* Tuples (child, parent, child_seconds, child_nanos). `child` and `parent` are
* version IDs.
* Tuples (child, parent, child_seconds, child_nanos, child_username,
* child_realm). `child` and `parent` are version IDs.
*/
CREATE PROCEDURE db_2_0.get_version_history(
in EntityID INT UNSIGNED)
......@@ -349,7 +350,9 @@ BEGIN
SELECT c.version AS child,
NULL as parent,
t.seconds AS child_seconds,
t.nanos AS child_nanos
t.nanos AS child_nanos,
t.username AS child_username,
t.realm AS child_realm
FROM entity_version AS c INNER JOIN transactions as t
ON ( c.srid = t.srid )
WHERE c.entity_id = EntityID
......@@ -363,7 +366,9 @@ BEGIN
UNION SELECT c.version AS child,
p.version AS parent,
t.seconds AS child_seconds,
t.nanos AS child_nanos
t.nanos AS child_nanos,
t.username AS child_username,
t.realm AS child_realm
FROM entity_version AS p
INNER JOIN entity_version as c
INNER JOIN transactions AS t
......
......@@ -53,8 +53,6 @@ retrieveEntityBody: BEGIN
DECLARE FileHash VARCHAR(255) DEFAULT NULL;
DECLARE DatatypeID INT UNSIGNED DEFAULT NULL;
DECLARE CollectionName VARCHAR(255) DEFAULT NULL;
DECLARE VersionSeconds BIGINT UNSIGNED DEFAULT NULL;
DECLARE VersionNanos INT(10) UNSIGNED DEFAULT NULL;
DECLARE IsHead BOOLEAN DEFAULT TRUE;
DECLARE IVersion INT UNSIGNED DEFAULT NULL;
......@@ -70,14 +68,6 @@ retrieveEntityBody: BEGIN
SELECT get_head_version(EntityID) = Version INTO IsHead;
END IF;
SELECT t.seconds, t.nanos
INTO VersionSeconds, VersionNanos
FROM entity_version AS e
INNER JOIN transactions AS t
ON ( e.srid = t.srid )
WHERE e.entity_id = EntityID
AND e.version = Version;
IF IsHead IS FALSE THEN
SET IVersion=get_iversion(EntityID, Version);
......@@ -136,9 +126,7 @@ retrieveEntityBody: BEGIN
FilePath AS FilePath,
FileHash AS FileHash,
(SELECT acl FROM entity_acl AS a WHERE a.id = e.acl) AS ACL,
Version AS Version,
VersionSeconds AS VersionSeconds,
VersionNanos AS VersionNanos
Version AS Version
FROM archive_entities AS e
WHERE e.id = EntityID
AND e._iversion = IVersion
......@@ -187,9 +175,7 @@ retrieveEntityBody: BEGIN
FilePath AS FilePath,
FileHash AS FileHash,
(SELECT acl FROM entity_acl AS a WHERE a.id = e.acl) AS ACL,
Version AS Version,
VersionSeconds AS VersionSeconds,
VersionNanos AS VersionNanos
Version AS Version
FROM entities e WHERE id = EntityID LIMIT 1;
END;
//
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment