Support #3962
closedVerhalten bei mehreren slaveIDs
0%
Description
Wenn slaveId über ein SELECT statement definiert wird und dabei mehr als eine ID rauskommt, werden aktuell die IDs aneinandergefügt (ohne Trennzeichen). D.h., wenn z.B.
slaveID = {{SELECT p.id FROM person AS p WHERE id = 10 OR id = 20 }}
kommt als slaveID '1020' raus.
Dies lässt sich natürlich vermeiden, indem man einfach konsequent bei jedem slaveID SELECT statement ein LIMIT 1 angibt. Wenn man das aber vergisst, kann eine zusammengesetzte slaveId (1020) einigen Schaden anrichten. Gibt es eine bessere Lösung?
Vorschlag 1: LIMIT 1 wird bei jedem slaveID SELECT statement automatisch hinzugefügt. Evtl. von der Implementation aber nicht ganz einfach, insbesondere, wenn man auch komplexe SELECT statements erlaubt
Vorschlag 2: Die slaveId wird in dem Fall einfach kommasepariert (GROUP_CONCAT) zurückgegeben. Das bewirkt zwar, dass beim sqlUpdate weder id 10 noch id 20 ausgeführt werden, aber immerhin wird auch keine zusammengesetzte id 1020 ausgeführt.