Project

General

Profile

Actions

Support #3962

closed

Verhalten bei mehreren slaveIDs

Added by Elias Villiger about 7 years ago. Updated over 5 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Elias Villiger
Target version:
Start date:
23.06.2017
Due date:
% Done:

0%

Estimated time:
Discuss:
Prio Planung:
Vote:

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.

Actions

Also available in: Atom PDF