mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-06-07 18:44:08 +00:00
try fix error cannot insert multiple commands into prepared statement
This commit is contained in:
parent
92b1b17679
commit
c1d70ec63e
@ -34,11 +34,11 @@ class PersonMoveAccompanyingPeriodParticipationHandler implements PersonMoveSqlH
|
|||||||
WHERE
|
WHERE
|
||||||
person_id = %d
|
person_id = %d
|
||||||
AND (cpapp.startdate, COALESCE(cpapp.enddate, 'infinity'::date)) OVERLAPS (cpapp2.startdate, COALESCE(cpapp2.enddate, 'infinity'::date))
|
AND (cpapp.startdate, COALESCE(cpapp.enddate, 'infinity'::date)) OVERLAPS (cpapp2.startdate, COALESCE(cpapp2.enddate, 'infinity'::date))
|
||||||
)
|
);
|
||||||
SQL, $to->getId(), $from->getId(), $to->getId());
|
SQL, $to->getId(), $from->getId(), $to->getId());
|
||||||
|
|
||||||
$deleteSql = sprintf(<<<'SQL'
|
$deleteSql = sprintf(<<<'SQL'
|
||||||
DELETE FROM chill_person_accompanying_period_participation WHERE person_id = %d
|
DELETE FROM chill_person_accompanying_period_participation WHERE person_id = %d;
|
||||||
SQL, $from->getId());
|
SQL, $from->getId());
|
||||||
|
|
||||||
return [$insertSql, $deleteSql];
|
return [$insertSql, $deleteSql];
|
||||||
|
@ -52,12 +52,17 @@ class PersonMoveCenterHistoryHandler implements PersonMoveSqlHandlerInterface
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$sqlDelete = sprintf("delete FROM chill_person_person_center_history WHERE person_id = %d", $from->getId());
|
$sqlDelete = sprintf(<<<'SQL'
|
||||||
|
DELETE FROM chill_person_person_center_history WHERE person_id = %d;
|
||||||
|
SQL, $from->getId());
|
||||||
|
|
||||||
$sqlStatements = [$sqlDelete];
|
$sqlStatements = [$sqlDelete];
|
||||||
|
|
||||||
if ((null !== $oldestDateA && null !== $oldestDateB) && $oldestDateA <= $oldestDateB) {
|
if ((null !== $oldestDateA && null !== $oldestDateB) && $oldestDateA <= $oldestDateB) {
|
||||||
$sqlInsert = sprintf("update chill_person_person_center_history set startDate = '%s' WHERE id = %d", $oldestDateA->format('Y-m-d'), $oldestCenterHistoryB->getId());
|
|
||||||
|
$sqlInsert = sprintf(<<<'SQL'
|
||||||
|
UPDATE chill_person_person_center_history SET startDate = '%s' WHERE id = %d;
|
||||||
|
SQL, $oldestDateA->format('Y-m-d'), $oldestCenterHistoryB->getId());
|
||||||
|
|
||||||
$sqlStatements = [$sqlInsert, $sqlDelete];
|
$sqlStatements = [$sqlInsert, $sqlDelete];
|
||||||
}
|
}
|
||||||
|
@ -34,11 +34,11 @@ class PersonMoveHouseholdHandler implements PersonMoveSqlHandlerInterface
|
|||||||
WHERE
|
WHERE
|
||||||
person_id = %d
|
person_id = %d
|
||||||
AND daterange(cphm.startdate, cphm.enddate) && daterange(cphm_inner.startdate, cphm_inner.enddate)
|
AND daterange(cphm.startdate, cphm.enddate) && daterange(cphm_inner.startdate, cphm_inner.enddate)
|
||||||
)
|
);
|
||||||
SQL, $to->getId(), $from->getId(), $to->getId());
|
SQL, $to->getId(), $from->getId(), $to->getId());
|
||||||
|
|
||||||
$deleteSql = sprintf(<<<'SQL'
|
$deleteSql = sprintf(<<<'SQL'
|
||||||
DELETE FROM chill_person_household_members WHERE person_id = %d
|
DELETE FROM chill_person_household_members WHERE person_id = %d;
|
||||||
SQL, $from->getId());
|
SQL, $from->getId());
|
||||||
|
|
||||||
return [$sqlInsert, $deleteSql];
|
return [$sqlInsert, $deleteSql];
|
||||||
|
@ -34,7 +34,7 @@ class PersonMoveRelationHandler implements PersonMoveSqlHandlerInterface
|
|||||||
WHERE
|
WHERE
|
||||||
cpr2.fromperson_id = %d AND cpr2.toperson_id = %d
|
cpr2.fromperson_id = %d AND cpr2.toperson_id = %d
|
||||||
OR cpr2.fromperson_id = %d AND cpr2.toperson_id = %d
|
OR cpr2.fromperson_id = %d AND cpr2.toperson_id = %d
|
||||||
)
|
);
|
||||||
SQL, $from->getId(), $from->getId(), $to->getId(), $from->getId(), $from->getId(), $to->getId());
|
SQL, $from->getId(), $from->getId(), $to->getId(), $from->getId(), $from->getId(), $to->getId());
|
||||||
|
|
||||||
$deleteSql = sprintf(<<<'SQL'
|
$deleteSql = sprintf(<<<'SQL'
|
||||||
|
@ -107,11 +107,11 @@ class PersonMove
|
|||||||
|
|
||||||
$personMetadata = $this->em->getClassMetadata(Person::class);
|
$personMetadata = $this->em->getClassMetadata(Person::class);
|
||||||
$sqls[] = sprintf(
|
$sqls[] = sprintf(
|
||||||
'DELETE FROM %s WHERE id = %d',
|
'DELETE FROM %s WHERE id = %d;',
|
||||||
$this->getTableName($personMetadata),
|
$this->getTableName($personMetadata),
|
||||||
$from->getId()
|
$from->getId()
|
||||||
);
|
);
|
||||||
|
|
||||||
return $sqls;
|
return $sqls;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -132,7 +132,7 @@ class PersonMove
|
|||||||
}
|
}
|
||||||
|
|
||||||
return sprintf(
|
return sprintf(
|
||||||
'DELETE FROM %s WHERE %s',
|
'DELETE FROM %s WHERE %s;',
|
||||||
$this->getTableName($metadata),
|
$this->getTableName($metadata),
|
||||||
implode(' AND ', $conditions)
|
implode(' AND ', $conditions)
|
||||||
);
|
);
|
||||||
@ -153,7 +153,7 @@ class PersonMove
|
|||||||
. $mapping['joinTable']['name'];
|
. $mapping['joinTable']['name'];
|
||||||
|
|
||||||
$sqlInsert = sprintf(
|
$sqlInsert = sprintf(
|
||||||
"INSERT INTO %s (%s, %s) SELECT %d, %s FROM %s WHERE %s = %d ON CONFLICT DO NOTHING",
|
"INSERT INTO %s (%s, %s) SELECT %d, %s FROM %s WHERE %s = %d ON CONFLICT DO NOTHING;",
|
||||||
$tableName,
|
$tableName,
|
||||||
$mapping['joinTable']['inverseJoinColumns'][0]['name'], // person_id
|
$mapping['joinTable']['inverseJoinColumns'][0]['name'], // person_id
|
||||||
$mapping['joinTable']['joinColumns'][0]['name'], // something_else_id
|
$mapping['joinTable']['joinColumns'][0]['name'], // something_else_id
|
||||||
@ -165,7 +165,7 @@ class PersonMove
|
|||||||
);
|
);
|
||||||
|
|
||||||
$deleteSql = sprintf(
|
$deleteSql = sprintf(
|
||||||
"DELETE FROM %s WHERE %s = %d",
|
"DELETE FROM %s WHERE %s = %d;",
|
||||||
$tableName,
|
$tableName,
|
||||||
$mapping['joinTable']['inverseJoinColumns'][0]['name'], // person_id
|
$mapping['joinTable']['inverseJoinColumns'][0]['name'], // person_id
|
||||||
$from->getId()
|
$from->getId()
|
||||||
@ -196,7 +196,7 @@ class PersonMove
|
|||||||
}
|
}
|
||||||
|
|
||||||
return [sprintf(
|
return [sprintf(
|
||||||
'UPDATE %s SET %s WHERE %s',
|
'UPDATE %s SET %s WHERE %s;',
|
||||||
$tableName,
|
$tableName,
|
||||||
implode(' ', $sets),
|
implode(' ', $sets),
|
||||||
implode(' AND ', $conditions)
|
implode(' AND ', $conditions)
|
||||||
|
@ -120,6 +120,7 @@ class PersonDuplicateController extends Controller
|
|||||||
$connection->beginTransaction();
|
$connection->beginTransaction();
|
||||||
|
|
||||||
foreach ($sqls as $sql) {
|
foreach ($sqls as $sql) {
|
||||||
|
dump($sql);
|
||||||
$connection->executeQuery($sql);
|
$connection->executeQuery($sql);
|
||||||
}
|
}
|
||||||
$connection->commit();
|
$connection->commit();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user