From 29f9ff5ce09c3a9d38e7003d574814845e95c0b2 Mon Sep 17 00:00:00 2001 From: Johannes Meyer Date: Tue, 6 Jun 2017 09:33:06 +0200 Subject: [PATCH] DbRepository: Fix that virtual tables are not resolved when issuing statements --- library/Icinga/Repository/DbRepository.php | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/library/Icinga/Repository/DbRepository.php b/library/Icinga/Repository/DbRepository.php index 4158a1e37..dfc600a4b 100644 --- a/library/Icinga/Repository/DbRepository.php +++ b/library/Icinga/Repository/DbRepository.php @@ -355,9 +355,8 @@ abstract class DbRepository extends Repository implements Extensible, Updatable, */ public function insert($table, array $bind) { - $this->requireTable($table); return $this->ds->insert( - $this->prependTablePrefix($table), + $this->clearTableAlias($this->requireTable($table)), $this->requireStatementColumns($table, $bind) ); } @@ -373,17 +372,13 @@ abstract class DbRepository extends Repository implements Extensible, Updatable, */ public function update($table, array $bind, Filter $filter = null) { - $this->requireTable($table); + $realTable = $this->clearTableAlias($this->requireTable($table)); if ($filter) { $filter = $this->requireFilter($table, $filter); } - return $this->ds->update( - $this->prependTablePrefix($table), - $this->requireStatementColumns($table, $bind), - $filter - ); + return $this->ds->update($realTable, $this->requireStatementColumns($table, $bind), $filter); } /** @@ -396,13 +391,13 @@ abstract class DbRepository extends Repository implements Extensible, Updatable, */ public function delete($table, Filter $filter = null) { - $this->requireTable($table); + $realTable = $this->clearTableAlias($this->requireTable($table)); if ($filter) { $filter = $this->requireFilter($table, $filter); } - return $this->ds->delete($this->prependTablePrefix($table), $filter); + return $this->ds->delete($realTable, $filter); } /**