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

Closes #53456
pull/54712/head
kay delaney 3 years ago committed by GitHub
parent 950715b255
commit 65c3ad6721
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 7
      pkg/services/libraryelements/database.go

@ -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 {

Loading…
Cancel
Save