LibraryElements: Fix inability to delete library panels under MySQL (#54600)

Closes #53456
This commit is contained in:
kay delaney
2022-09-05 14:28:32 +01:00
committed by GitHub
parent 950715b255
commit 65c3ad6721

View File

@@ -30,11 +30,14 @@ SELECT DISTINCT
, (SELECT COUNT(connection_id) FROM ` + models.LibraryElementConnectionTableName + ` WHERE element_id = le.id AND kind=1) AS connected_dashboards` , (SELECT COUNT(connection_id) FROM ` + models.LibraryElementConnectionTableName + ` WHERE element_id = le.id AND kind=1) AS connected_dashboards`
) )
// redundant SELECT to trick mysql's optimizer
const deleteInvalidConnections = ` const deleteInvalidConnections = `
DELETE FROM library_element_connection DELETE FROM library_element_connection
WHERE connection_id IN ( WHERE connection_id IN (
SELECT connection_id as id FROM library_element_connection SELECT connection_id FROM (
WHERE element_id=? AND connection_id NOT IN (SELECT id as connection_id from dashboard) SELECT connection_id as id FROM library_element_connection
WHERE element_id=? AND connection_id NOT IN (SELECT id as connection_id from dashboard)
) as dummy
)` )`
func getFromLibraryElementDTOWithMeta(dialect migrator.Dialect) string { func getFromLibraryElementDTOWithMeta(dialect migrator.Dialect) string {