From aeb6231d921aa989606c03107d3a9efe71e7b4b5 Mon Sep 17 00:00:00 2001 From: Bob Olde Hampsink Date: Sun, 19 Feb 2017 15:35:59 +0100 Subject: [PATCH] Fixes #13582: PK column in `yii\db\pgsql\resetSequence()` was not quoted properly --- framework/CHANGELOG.md | 1 + framework/db/pgsql/QueryBuilder.php | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/framework/CHANGELOG.md b/framework/CHANGELOG.md index 2332cf7173..be645bfdaf 100644 --- a/framework/CHANGELOG.md +++ b/framework/CHANGELOG.md @@ -14,6 +14,7 @@ Yii Framework 2 Change Log - Bug #11404: `yii\base\Model::loadMultiple()` returns true even if `yii\base\Model::load()` returns false (zvook) - Bug #13513: Fixed RBAC migration to work correctly on Oracle DBMS (silverfire) - Enh #13550: Refactored unset call order in `yii\di\ServiceLocator::set()` (Lanrik) +- Bug #13582: PK column in `yii\db\pgsql\resetSequence()` was not quoted properly (boboldehampsink) - Bug #13592: Fixes Oracle’s `yii\db\oci\Schema::setTransactionIsolationLevel()` (sergeymakinen) - Bug #13594: Fixes insufficient quoting in `yii\db\QueryBuilder::prepareInsertSelectSubQuery()` (sergeymakinen) - Enh #13576: Added support of `srcset` to `yii\helpers\Html::img()` (Kolyunya) diff --git a/framework/db/pgsql/QueryBuilder.php b/framework/db/pgsql/QueryBuilder.php index b43fc5ace1..46e98f11db 100644 --- a/framework/db/pgsql/QueryBuilder.php +++ b/framework/db/pgsql/QueryBuilder.php @@ -164,8 +164,8 @@ class QueryBuilder extends \yii\db\QueryBuilder $sequence = $this->db->quoteTableName($table->sequenceName); $tableName = $this->db->quoteTableName($tableName); if ($value === null) { - $key = reset($table->primaryKey); - $value = "(SELECT COALESCE(MAX(\"{$key}\"),0) FROM {$tableName})+1"; + $key = $this->db->quoteColumnName(reset($table->primaryKey)); + $value = "(SELECT COALESCE(MAX({$key}),0) FROM {$tableName})+1"; } else { $value = (int) $value; }