-
Bug
-
Resolution: Fixed
-
Highest
-
4.22.6, 5.11.3, 5.12.5
-
32
-
Severity 2 - Major
-
260
-
Issue Summary
After running some Insight imports, some objects have duplicated or more attribute values on object attribute that should only allow exactly 1 value (maximum cardinality = 1)
This is reproducible on Data Center: yes
Steps to Reproduce
N/A. This issue couldn't be reproduced on the UI, it usually happens after some Insight imports
Expected Results
All attributes that have maximum cardinality = 1 have only 1 value
Actual Results
There are 2 or more values on the attributes that have maximum cardinality = 1
Workaround
- Follow the steps in Duplicated attribute values in Insight Objects with cardinality maximum 1
- Run the SQL queries below to identify duplicated attribute and attribute values.
If the SELECT statement returns something, run the DELETE statement. After that, run the same SELECT statement again (and DELETE if anything returns again) until it returns nothing.
select * from "AO_8542F1_IFJ_OBJ_ATTR_VAL" where "OBJECT_ATTRIBUTE_ID" in ( SELECT min(OA2."ID") AS TO_DELETE FROM "AO_8542F1_IFJ_OBJ_ATTR" OA2 RIGHT JOIN ( SELECT OTA."ID" as OTA_ID, OTA."NAME", OA."OBJECT_ID" as OA_OID, count(*) FROM "AO_8542F1_IFJ_OBJ_TYPE_ATTR" OTA LEFT JOIN "AO_8542F1_IFJ_OBJ_ATTR" OA ON OTA."ID" = OA."OBJECT_TYPE_ATTRIBUTE_ID" GROUP BY OTA."ID", OTA."NAME", OA."OBJECT_ID" HAVING count(*) > 1) AS SUBQ ON OA2."OBJECT_TYPE_ATTRIBUTE_ID" = SUBQ.OTA_ID AND OA2."OBJECT_ID" = SUBQ.OA_OID GROUP BY OA2."OBJECT_ID", OA2."OBJECT_TYPE_ATTRIBUTE_ID");
DELETE from "AO_8542F1_IFJ_OBJ_ATTR_VAL" where "OBJECT_ATTRIBUTE_ID" in ( SELECT min(OA2."ID") AS TO_DELETE FROM "AO_8542F1_IFJ_OBJ_ATTR" OA2 RIGHT JOIN ( SELECT OTA."ID" as OTA_ID, OTA."NAME", OA."OBJECT_ID" as OA_OID, count(*) FROM "AO_8542F1_IFJ_OBJ_TYPE_ATTR" OTA LEFT JOIN "AO_8542F1_IFJ_OBJ_ATTR" OA ON OTA."ID" = OA."OBJECT_TYPE_ATTRIBUTE_ID" GROUP BY OTA."ID", OTA."NAME", OA."OBJECT_ID" HAVING count(*) > 1) AS SUBQ ON OA2."OBJECT_TYPE_ATTRIBUTE_ID" = SUBQ.OTA_ID AND OA2."OBJECT_ID" = SUBQ.OA_OID GROUP BY OA2."OBJECT_ID", OA2."OBJECT_TYPE_ATTRIBUTE_ID");
select * FROM "AO_8542F1_IFJ_OBJ_ATTR" where "ID" in ( SELECT min(OA2."ID") AS TO_DELETE FROM "AO_8542F1_IFJ_OBJ_ATTR" OA2 RIGHT JOIN ( SELECT OTA."ID" as OTA_ID, OTA."NAME", OA."OBJECT_ID" as OA_OID, count(*) FROM "AO_8542F1_IFJ_OBJ_TYPE_ATTR" OTA LEFT JOIN "AO_8542F1_IFJ_OBJ_ATTR" OA ON OTA."ID" = OA."OBJECT_TYPE_ATTRIBUTE_ID" GROUP BY OTA."ID", OTA."NAME", OA."OBJECT_ID" HAVING count(*) > 1) AS SUBQ ON OA2."OBJECT_TYPE_ATTRIBUTE_ID" = SUBQ.OTA_ID AND OA2."OBJECT_ID" = SUBQ.OA_OID GROUP BY OA2."OBJECT_ID", OA2."OBJECT_TYPE_ATTRIBUTE_ID");
DELETE FROM "AO_8542F1_IFJ_OBJ_ATTR" where "ID" in ( SELECT min(OA2."ID") AS TO_DELETE FROM "AO_8542F1_IFJ_OBJ_ATTR" OA2 RIGHT JOIN ( SELECT OTA."ID" as OTA_ID, OTA."NAME", OA."OBJECT_ID" as OA_OID, count(*) FROM "AO_8542F1_IFJ_OBJ_TYPE_ATTR" OTA LEFT JOIN "AO_8542F1_IFJ_OBJ_ATTR" OA ON OTA."ID" = OA."OBJECT_TYPE_ATTRIBUTE_ID" GROUP BY OTA."ID", OTA."NAME", OA."OBJECT_ID" HAVING count(*) > 1) AS SUBQ ON OA2."OBJECT_TYPE_ATTRIBUTE_ID" = SUBQ.OTA_ID AND OA2."OBJECT_ID" = SUBQ.OA_OID GROUP BY OA2."OBJECT_ID", OA2."OBJECT_TYPE_ATTRIBUTE_ID");
- When both SELECT statements above return nothing anymore, run an Insight reindex to keep the index updated.
Form Name |
---|
[JSDSERVER-12010] After running some Insight imports, some objects have duplicated or more attribute values on object attribute that should only allow exactly 1 value (maximum cardinality = 1)
Labels | Original: architectural ltsr | New: architectural |
Description |
Original:
h3. Issue Summary
After running some Insight imports, some objects have duplicated or more attribute values on object attribute that should only allow exactly 1 value (maximum cardinality = 1) This is reproducible on Data Center: yes h3. Steps to Reproduce N/A. This issue couldn't be reproduced on the UI, it usually happens after some Insight imports h3. Expected Results All attributes that have maximum cardinality = 1 have only 1 value h3. Actual Results There are 2 or more values on the attributes that have maximum cardinality = 1 h3. Workaround # Follow the steps in [Duplicated attribute values in Insight Objects with cardinality maximum 1|https://confluence.atlassian.com/jirakb/duplicated-attribute-values-in-insight-objects-with-cardinality-maximum-1-1114816155.html] # Run the SQL queries below to identify duplicated attribute and attribute values. (i) If the SELECT statement returns something, run the DELETE statement. After that, run the same SELECT statement again (and DELETE if anything returns again) until it returns nothing. {code:sql} select * from "AO_8542F1_IFJ_OBJ_ATTR_VAL" where "OBJECT_ATTRIBUTE_ID" in ( SELECT min(OA2."ID") AS TO_DELETE FROM "AO_8542F1_IFJ_OBJ_ATTR" OA2 RIGHT JOIN ( SELECT OTA."ID" as OTA_ID, OTA."NAME", OA."OBJECT_ID" as OA_OID, count(*) FROM "AO_8542F1_IFJ_OBJ_TYPE_ATTR" OTA LEFT JOIN "AO_8542F1_IFJ_OBJ_ATTR" OA ON OTA."ID" = OA."OBJECT_TYPE_ATTRIBUTE_ID" GROUP BY OTA."ID", OTA."NAME", OA."OBJECT_ID" HAVING count(*) > 1) AS SUBQ ON OA2."OBJECT_TYPE_ATTRIBUTE_ID" = SUBQ.OTA_ID AND OA2."OBJECT_ID" = SUBQ.OA_OID GROUP BY OA2."OBJECT_ID", OA2."OBJECT_TYPE_ATTRIBUTE_ID"); DELETE from "AO_8542F1_IFJ_OBJ_ATTR_VAL" where "OBJECT_ATTRIBUTE_ID" in ( SELECT min(OA2."ID") AS TO_DELETE FROM "AO_8542F1_IFJ_OBJ_ATTR" OA2 RIGHT JOIN ( SELECT OTA."ID" as OTA_ID, OTA."NAME", OA."OBJECT_ID" as OA_OID, count(*) FROM "AO_8542F1_IFJ_OBJ_TYPE_ATTR" OTA LEFT JOIN "AO_8542F1_IFJ_OBJ_ATTR" OA ON OTA."ID" = OA."OBJECT_TYPE_ATTRIBUTE_ID" GROUP BY OTA."ID", OTA."NAME", OA."OBJECT_ID" HAVING count(*) > 1) AS SUBQ ON OA2."OBJECT_TYPE_ATTRIBUTE_ID" = SUBQ.OTA_ID AND OA2."OBJECT_ID" = SUBQ.OA_OID GROUP BY OA2."OBJECT_ID", OA2."OBJECT_TYPE_ATTRIBUTE_ID"); {code} {code:SQL} select * FROM "AO_8542F1_IFJ_OBJ_ATTR" where "ID" in ( SELECT min(OA2."ID") AS TO_DELETE FROM "AO_8542F1_IFJ_OBJ_ATTR" OA2 RIGHT JOIN ( SELECT OTA."ID" as OTA_ID, OTA."NAME", OA."OBJECT_ID" as OA_OID, count(*) FROM "AO_8542F1_IFJ_OBJ_TYPE_ATTR" OTA LEFT JOIN "AO_8542F1_IFJ_OBJ_ATTR" OA ON OTA."ID" = OA."OBJECT_TYPE_ATTRIBUTE_ID" GROUP BY OTA."ID", OTA."NAME", OA."OBJECT_ID" HAVING count(*) > 1) AS SUBQ ON OA2."OBJECT_TYPE_ATTRIBUTE_ID" = SUBQ.OTA_ID AND OA2."OBJECT_ID" = SUBQ.OA_OID GROUP BY OA2."OBJECT_ID", OA2."OBJECT_TYPE_ATTRIBUTE_ID"); DELETE FROM "AO_8542F1_IFJ_OBJ_ATTR" where "ID" in ( SELECT min(OA2."ID") AS TO_DELETE FROM "AO_8542F1_IFJ_OBJ_ATTR" OA2 RIGHT JOIN ( SELECT OTA."ID" as OTA_ID, OTA."NAME", OA."OBJECT_ID" as OA_OID, count(*) FROM "AO_8542F1_IFJ_OBJ_TYPE_ATTR" OTA LEFT JOIN "AO_8542F1_IFJ_OBJ_ATTR" OA ON OTA."ID" = OA."OBJECT_TYPE_ATTRIBUTE_ID" GROUP BY OTA."ID", OTA."NAME", OA."OBJECT_ID" HAVING count(*) > 1) AS SUBQ ON OA2."OBJECT_TYPE_ATTRIBUTE_ID" = SUBQ.OTA_ID AND OA2."OBJECT_ID" = SUBQ.OA_OID GROUP BY OA2."OBJECT_ID", OA2."OBJECT_TYPE_ATTRIBUTE_ID"); {code} # When both SELECT statements above return nothing anymore, run an Insight reindex to keep the index updated. |
New:
h3. Issue Summary
After running some Insight imports, some objects have duplicated or more attribute values on object attribute that should only allow exactly 1 value (maximum cardinality = 1) This is reproducible on Data Center: yes h3. Steps to Reproduce N/A. This issue couldn't be reproduced on the UI, it usually happens after some Insight imports h3. Expected Results All attributes that have maximum cardinality = 1 have only 1 value h3. Actual Results There are 2 or more values on the attributes that have maximum cardinality = 1 h3. Workaround # Follow the steps in [Duplicated attribute values in Insight Objects with cardinality maximum 1|https://confluence.atlassian.com/jirakb/duplicated-attribute-values-in-insight-objects-with-cardinality-maximum-1-1114816155.html] # Run the SQL queries below to identify duplicated attribute and attribute values. (i) If the SELECT statement returns something, run the DELETE statement. After that, run the same SELECT statement again (and DELETE if anything returns again) until it returns nothing. {code:sql} select * from "AO_8542F1_IFJ_OBJ_ATTR_VAL" where "OBJECT_ATTRIBUTE_ID" in ( SELECT min(OA2."ID") AS TO_DELETE FROM "AO_8542F1_IFJ_OBJ_ATTR" OA2 RIGHT JOIN ( SELECT OTA."ID" as OTA_ID, OTA."NAME", OA."OBJECT_ID" as OA_OID, count(*) FROM "AO_8542F1_IFJ_OBJ_TYPE_ATTR" OTA LEFT JOIN "AO_8542F1_IFJ_OBJ_ATTR" OA ON OTA."ID" = OA."OBJECT_TYPE_ATTRIBUTE_ID" GROUP BY OTA."ID", OTA."NAME", OA."OBJECT_ID" HAVING count(*) > 1) AS SUBQ ON OA2."OBJECT_TYPE_ATTRIBUTE_ID" = SUBQ.OTA_ID AND OA2."OBJECT_ID" = SUBQ.OA_OID GROUP BY OA2."OBJECT_ID", OA2."OBJECT_TYPE_ATTRIBUTE_ID"); {code} {code:SQL} DELETE from "AO_8542F1_IFJ_OBJ_ATTR_VAL" where "OBJECT_ATTRIBUTE_ID" in ( SELECT min(OA2."ID") AS TO_DELETE FROM "AO_8542F1_IFJ_OBJ_ATTR" OA2 RIGHT JOIN ( SELECT OTA."ID" as OTA_ID, OTA."NAME", OA."OBJECT_ID" as OA_OID, count(*) FROM "AO_8542F1_IFJ_OBJ_TYPE_ATTR" OTA LEFT JOIN "AO_8542F1_IFJ_OBJ_ATTR" OA ON OTA."ID" = OA."OBJECT_TYPE_ATTRIBUTE_ID" GROUP BY OTA."ID", OTA."NAME", OA."OBJECT_ID" HAVING count(*) > 1) AS SUBQ ON OA2."OBJECT_TYPE_ATTRIBUTE_ID" = SUBQ.OTA_ID AND OA2."OBJECT_ID" = SUBQ.OA_OID GROUP BY OA2."OBJECT_ID", OA2."OBJECT_TYPE_ATTRIBUTE_ID"); {code} {code:SQL} select * FROM "AO_8542F1_IFJ_OBJ_ATTR" where "ID" in ( SELECT min(OA2."ID") AS TO_DELETE FROM "AO_8542F1_IFJ_OBJ_ATTR" OA2 RIGHT JOIN ( SELECT OTA."ID" as OTA_ID, OTA."NAME", OA."OBJECT_ID" as OA_OID, count(*) FROM "AO_8542F1_IFJ_OBJ_TYPE_ATTR" OTA LEFT JOIN "AO_8542F1_IFJ_OBJ_ATTR" OA ON OTA."ID" = OA."OBJECT_TYPE_ATTRIBUTE_ID" GROUP BY OTA."ID", OTA."NAME", OA."OBJECT_ID" HAVING count(*) > 1) AS SUBQ ON OA2."OBJECT_TYPE_ATTRIBUTE_ID" = SUBQ.OTA_ID AND OA2."OBJECT_ID" = SUBQ.OA_OID GROUP BY OA2."OBJECT_ID", OA2."OBJECT_TYPE_ATTRIBUTE_ID"); {code} {code:SQL} DELETE FROM "AO_8542F1_IFJ_OBJ_ATTR" where "ID" in ( SELECT min(OA2."ID") AS TO_DELETE FROM "AO_8542F1_IFJ_OBJ_ATTR" OA2 RIGHT JOIN ( SELECT OTA."ID" as OTA_ID, OTA."NAME", OA."OBJECT_ID" as OA_OID, count(*) FROM "AO_8542F1_IFJ_OBJ_TYPE_ATTR" OTA LEFT JOIN "AO_8542F1_IFJ_OBJ_ATTR" OA ON OTA."ID" = OA."OBJECT_TYPE_ATTRIBUTE_ID" GROUP BY OTA."ID", OTA."NAME", OA."OBJECT_ID" HAVING count(*) > 1) AS SUBQ ON OA2."OBJECT_TYPE_ATTRIBUTE_ID" = SUBQ.OTA_ID AND OA2."OBJECT_ID" = SUBQ.OA_OID GROUP BY OA2."OBJECT_ID", OA2."OBJECT_TYPE_ATTRIBUTE_ID"); {code} # When both SELECT statements above return nothing anymore, run an Insight reindex to keep the index updated. |
Labels | Original: architectural | New: architectural ltsr |
Remote Link | Original: This issue links to "Page (Confluence)" [ 864925 ] |
Remote Link | New: This issue links to "Page (Confluence)" [ 925298 ] |
UIS | Original: 247 | New: 260 |
Resolution | New: Fixed [ 1 ] | |
Status | Original: Waiting for Release [ 12075 ] | New: Closed [ 6 ] |
Support reference count | Original: 31 | New: 32 |
UIS | Original: 232 | New: 247 |
Support reference count | Original: 30 | New: 31 |