diff --git a/procedures/entityVersioning.sql b/procedures/entityVersioning.sql index baf1e56f5fd0f3d64446df484602921f367255e2..0c4e9cbcedd777f745c76249eb4352894b840c94 100644 --- a/procedures/entityVersioning.sql +++ b/procedures/entityVersioning.sql @@ -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 diff --git a/procedures/retrieveEntity.sql b/procedures/retrieveEntity.sql index f74e6233af941ef3762647448e4285c4a5d26366..d12a54837e58dffb172f73b50d1067fd5aad5c18 100644 --- a/procedures/retrieveEntity.sql +++ b/procedures/retrieveEntity.sql @@ -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; //