/* select all entities that reference the entity or a child of the
* value interpreted as ID*/
SETsRefData=IF(vTextISNULL,
' UNION ALL SELECT DISTINCT domain_id, entity_id, property_id FROM `reference_data`',
IF(refIdsTableISNULL,
...
...
@@ -243,6 +252,7 @@ POV_LABEL: BEGIN
ENDIF;
#-- create array of statement parts (and replace null with empty string) (?)
SETdata=CONCAT('(',sTextData,
IF(sNameDataISNULL,'',sNameData),
IF(sEnumDataISNULL,'',sEnumData),
...
...
@@ -259,6 +269,7 @@ POV_LABEL: BEGIN
callcreateTmpTable(keepTabl,versioned);
IFversionedTHEN
#-- generate statement from statement parts
#-- (versioned section)
SET@stmtPOVkeepTblStr=CONCAT(
'INSERT IGNORE INTO `',keepTabl,'` (id, _iversion) SELECT entity_id AS id, _iversion FROM ',data,
' as data',IF(propertiesTableISNULL,'',CONCAT(
...
...
@@ -299,7 +310,14 @@ POV_LABEL: BEGIN
DEALLOCATEPREPAREstmtPOVkeepTbl;
ELSE
#-- generate statement from statement parts
SET@stmtPOVkeepTblStr=CONCAT('INSERT IGNORE INTO `',keepTabl,'` (id) SELECT DISTINCT entity_id AS id FROM ',data,' as data',IF(propertiesTableISNULL,'',CONCAT(' WHERE EXISTS (Select 1 from `',propertiesTable,'` AS prop WHERE prop.id = data.property_id AND (prop.id2=data.entity_id OR prop.id2=0))')));
SET@stmtPOVkeepTblStr=CONCAT(
'INSERT IGNORE INTO `',keepTabl,
'` (id) SELECT DISTINCT entity_id AS id FROM ',data,' as data',
IF(propertiesTableISNULL,'',
CONCAT(' WHERE EXISTS (Select 1 from `',propertiesTable,
SET@initPOVPropertiesTableStmt1=CONCAT('INSERT IGNORE INTO `',propertiesTable,'` (id, id2, domain) SELECT property_id, entity_id, domain_id from name_overrides WHERE name = ? UNION ALL SELECT entity_id, domain_id, 0 FROM name_data WHERE value = ?;');