From 918af4df3a100af6e6c0c7e74c3aac50e9d32b56 Mon Sep 17 00:00:00 2001 From: Timm Fitschen <t.fitschen@indiscale.com> Date: Mon, 9 Oct 2023 01:52:02 +0200 Subject: [PATCH] WIP: String IDs --- procedures/insertEntityProperty.sql | 4 ++-- procedures/query/applyIDFilter.sql | 15 ++++++++++++--- procedures/query/initSubEntity.sql | 5 +++-- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/procedures/insertEntityProperty.sql b/procedures/insertEntityProperty.sql index e0bf40a..ee26c16 100644 --- a/procedures/insertEntityProperty.sql +++ b/procedures/insertEntityProperty.sql @@ -47,7 +47,7 @@ delimiter // * The overridden name * DescOverride : TEXT * The overridden description - * DatatypeOverride : INT UNSIGNED + * DatatypeOverride : VARCHAR(255) * The overridden datatype * Collection : VARCHAR(255) * The overridden collection (only if DatatypeOverride is present). @@ -64,7 +64,7 @@ CREATE PROCEDURE db_5_0.insertEntityProperty( in PropertyStatus VARCHAR(255), in NameOverride VARCHAR(255), in DescOverride TEXT, - in DatatypeOverride INT UNSIGNED, + in DatatypeOverride VARCHAR(255), in Collection VARCHAR(255), in PropertyIndex INT UNSIGNED) BEGIN diff --git a/procedures/query/applyIDFilter.sql b/procedures/query/applyIDFilter.sql index f35d5cd..183a0f5 100644 --- a/procedures/query/applyIDFilter.sql +++ b/procedures/query/applyIDFilter.sql @@ -92,7 +92,9 @@ IF targetSet IS NULL OR targetSet = sourceSet THEN "1=1", CONCAT("NOT EXISTS (SELECT 1 FROM entity_ids AS eids WHERE eids.id ", o, + ' "', EntityID, + '" ', " AND eids.internal_id = `", sourceSet, "`.id)" @@ -111,7 +113,9 @@ ELSEIF versioned AND sourceSet = "entities" THEN "1=1", CONCAT("eids.id ", o, - EntityID + ' "', + EntityID, + '"' )), IF(aggVal IS NULL, "", @@ -122,7 +126,9 @@ ELSEIF versioned AND sourceSet = "entities" THEN "1=1", CONCAT("eids.id ", o, - EntityID + ' "', + EntityID, + '"' )), IF(aggVal IS NULL, "", @@ -143,7 +149,10 @@ ELSE "1=1", CONCAT("eids.id", o, - EntityID)), + ' "', + EntityID, + '"' + )), IF(aggVal IS NULL, "", CONCAT(" AND data.id=", diff --git a/procedures/query/initSubEntity.sql b/procedures/query/initSubEntity.sql index e548250..6bddd13 100644 --- a/procedures/query/initSubEntity.sql +++ b/procedures/query/initSubEntity.sql @@ -60,9 +60,10 @@ BEGIN DEALLOCATE PREPARE stmt; IF EntityID IS NOT NULL THEN - SET @stmtStr = CONCAT('INSERT IGNORE INTO `', tableName, '` (id) SELECT internal_id FROM entity_ids WHERE id = ', EntityID, ''); + SET @stmtStr = CONCAT('INSERT IGNORE INTO `', tableName, '` (id) SELECT internal_id FROM entity_ids WHERE id = ?'); PREPARE stmt FROM @stmtStr; - EXECUTE stmt; + SET @eid = EntityID; + EXECUTE stmt USING @eid; SET ecount = ecount + ROW_COUNT(); DEALLOCATE PREPARE stmt; END IF; -- GitLab