Browse Source

Fixes #9268: Improved display of boolean parameters in logged SQL queries

tags/2.0.6
Alexander Makarov 9 years ago
parent
commit
310f9152e1
  1. 1
      framework/CHANGELOG.md
  2. 2
      framework/db/Command.php
  3. 6
      tests/framework/db/CommandTest.php

1
framework/CHANGELOG.md

@ -59,6 +59,7 @@ Yii Framework 2 Change Log
- Enh #9149: Print directory migrationPath in a `yii migrate` command error. (RusAlex)
- Enh #9177: Added password hash cost setting to Security component (freezy-sk)
- Enh #9246: Added `yii\web\UrlRule::getParamRules()` (df2)
- Enh #9268: Improved display of boolean parameters in logged SQL queries (arkhamvm, samdark)
- Chg #6354: `ErrorHandler::logException()` will now log the whole exception object instead of only its string representation (cebe)
- Chg #8556: Extracted `yii\web\User::getAuthManager()` method (samdark)
- Chg #9181: `yii\helpers\BaseStringHelper::truncateHtml()` is now using `runtime` directory for `HTMLPurifier` cache (webdevsega)

2
framework/db/Command.php

@ -170,6 +170,8 @@ class Command extends Component
}
if (is_string($value)) {
$params[$name] = $this->db->quoteValue($value);
} elseif (is_bool($value)) {
$params[$name] = ($value ? 'TRUE' : 'FALSE');
} elseif ($value === null) {
$params[$name] = 'NULL';
} elseif (!is_object($value) && !is_resource($value)) {

6
tests/framework/db/CommandTest.php

@ -518,6 +518,12 @@ SQL;
],
'SELECT * FROM customer WHERE id = 1 OR id = 2',
],
// https://github.com/yiisoft/yii2/issues/9268
[
'SELECT * FROM customer WHERE active = :active',
[':active' => false],
'SELECT * FROM customer WHERE active = FALSE',
],
];
}

Loading…
Cancel
Save