Skip to content
Snippets Groups Projects

External String IDs

Merged Timm Fitschen requested to merge f-external-ids into dev
1 file
+ 10
4
Compare changes
  • Side-by-side
  • Inline
+ 10
4
@@ -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,
Loading