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

WIP: String IDs

parent 918af4df
No related branches found
No related tags found
3 merge requests!17Release 6.0,!15External String IDs,!11DRAFT: file system cleanup
Pipeline #41812 failed
...@@ -55,6 +55,7 @@ IDFILTER_LABEL: BEGIN ...@@ -55,6 +55,7 @@ IDFILTER_LABEL: BEGIN
DECLARE data VARCHAR(20000) DEFAULT NULL; DECLARE data VARCHAR(20000) DEFAULT NULL;
DECLARE aggVal VARCHAR(255) DEFAULT NULL; DECLARE aggVal VARCHAR(255) DEFAULT NULL;
DECLARE direction CHAR(4) DEFAULT NULL; DECLARE direction CHAR(4) DEFAULT NULL;
DECLARE entity_id_type VARCHAR(255) DEFAULT "eids.id ";
#-- get aggVal if possible #-- get aggVal if possible
IF agg IS NOT NULL THEN IF agg IS NOT NULL THEN
...@@ -82,6 +83,10 @@ IF agg IS NOT NULL THEN ...@@ -82,6 +83,10 @@ IF agg IS NOT NULL THEN
SET aggVal = @sAggVal; SET aggVal = @sAggVal;
END IF; END IF;
IF o = ">" OR o = ">=" OR o = "<" or o = "<=" THEN
SET entity_id_type = "CAST(eids.id AS UNSIGNED INT) ";
END IF;
#-- generate stmt string #-- generate stmt string
IF targetSet IS NULL OR targetSet = sourceSet THEN IF targetSet IS NULL OR targetSet = sourceSet THEN
SET data = CONCAT( SET data = CONCAT(
...@@ -90,7 +95,8 @@ IF targetSet IS NULL OR targetSet = sourceSet THEN ...@@ -90,7 +95,8 @@ IF targetSet IS NULL OR targetSet = sourceSet THEN
"` WHERE ", "` WHERE ",
IF(o IS NULL OR EntityID IS NULL, IF(o IS NULL OR EntityID IS NULL,
"1=1", "1=1",
CONCAT("NOT EXISTS (SELECT 1 FROM entity_ids AS eids WHERE eids.id ", CONCAT("NOT EXISTS (SELECT 1 FROM entity_ids AS eids WHERE ",
entity_id_type,
o, o,
' "', ' "',
EntityID, EntityID,
...@@ -111,7 +117,7 @@ ELSEIF versioned AND sourceSet = "entities" THEN ...@@ -111,7 +117,7 @@ ELSEIF versioned AND sourceSet = "entities" THEN
'` (id, _iversion) SELECT e.id, _get_head_iversion(e.id) FROM `entities` AS e JOIN entity_ids AS eids ON (e.id = eids.internal_id) WHERE ', '` (id, _iversion) SELECT e.id, _get_head_iversion(e.id) FROM `entities` AS e JOIN entity_ids AS eids ON (e.id = eids.internal_id) WHERE ',
IF(o IS NULL OR EntityID IS NULL, IF(o IS NULL OR EntityID IS NULL,
"1=1", "1=1",
CONCAT("eids.id ", CONCAT(entity_id_type,
o, o,
' "', ' "',
EntityID, EntityID,
...@@ -124,7 +130,7 @@ ELSEIF versioned AND sourceSet = "entities" THEN ...@@ -124,7 +130,7 @@ ELSEIF versioned AND sourceSet = "entities" THEN
' UNION SELECT e.id, _iversion FROM `archive_entities` AS e JOIN entity_ids AS eids ON (e.id = eids.internal_id) WHERE ', ' UNION SELECT e.id, _iversion FROM `archive_entities` AS e JOIN entity_ids AS eids ON (e.id = eids.internal_id) WHERE ',
IF(o IS NULL OR EntityID IS NULL, IF(o IS NULL OR EntityID IS NULL,
"1=1", "1=1",
CONCAT("eids.id ", CONCAT(entity_id_type,
o, o,
' "', ' "',
EntityID, EntityID,
...@@ -147,7 +153,7 @@ ELSE ...@@ -147,7 +153,7 @@ ELSE
"` AS data JOIN entity_ids AS eids ON (eids.internal_id = data.id) WHERE ", "` AS data JOIN entity_ids AS eids ON (eids.internal_id = data.id) WHERE ",
IF(o IS NULL OR EntityID IS NULL, IF(o IS NULL OR EntityID IS NULL,
"1=1", "1=1",
CONCAT("eids.id", CONCAT(entity_id_type,
o, o,
' "', ' "',
EntityID, EntityID,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment