From 21b80a89b0d34318c257cc93eba9333228f1854e Mon Sep 17 00:00:00 2001 From: Daniel Kesselberg Date: Sat, 15 Dec 2018 14:05:11 +0100 Subject: [PATCH 1/2] Fetch lastInsertId only when id null When id column has no autoincrement flag query for lastInsertId fails on postgres because no value has been generated. Call lastInsertId only if id is null. Signed-off-by: Daniel Kesselberg --- lib/public/AppFramework/Db/QBMapper.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/public/AppFramework/Db/QBMapper.php b/lib/public/AppFramework/Db/QBMapper.php index dbc47d2d43..3e0a3c206e 100644 --- a/lib/public/AppFramework/Db/QBMapper.php +++ b/lib/public/AppFramework/Db/QBMapper.php @@ -119,7 +119,9 @@ abstract class QBMapper { $qb->execute(); - $entity->setId((int) $qb->getLastInsertId()); + if($entity->getId() === null) { + $entity->setId((int)$qb->getLastInsertId()); + } return $entity; } From 8a952b73d65d332832c3468e1c6af5108b80bc83 Mon Sep 17 00:00:00 2001 From: Daniel Kesselberg Date: Sat, 15 Dec 2018 14:22:54 +0100 Subject: [PATCH 2/2] Access id property without getter. Some implementations typehint getId to integer but default is null. Signed-off-by: Daniel Kesselberg --- lib/public/AppFramework/Db/QBMapper.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/public/AppFramework/Db/QBMapper.php b/lib/public/AppFramework/Db/QBMapper.php index 3e0a3c206e..a6a44b8902 100644 --- a/lib/public/AppFramework/Db/QBMapper.php +++ b/lib/public/AppFramework/Db/QBMapper.php @@ -119,7 +119,7 @@ abstract class QBMapper { $qb->execute(); - if($entity->getId() === null) { + if($entity->id === null) { $entity->setId((int)$qb->getLastInsertId()); }