Browse Source

Backporting from 2.4 fix for booleans in mysql when running PHP 5.5

Jose Lorenzo Rodriguez 12 years ago
parent
commit
58149f2315
1 changed files with 3 additions and 3 deletions
  1. 3 3
      lib/Cake/Model/Datasource/Database/Mysql.php

+ 3 - 3
lib/Cake/Model/Datasource/Database/Mysql.php

@@ -221,10 +221,10 @@ class Mysql extends DboSource {
 
 		while ($numFields-- > 0) {
 			$column = $results->getColumnMeta($index);
-			if (empty($column['native_type'])) {
-				$type = ($column['len'] == 1) ? 'boolean' : 'string';
+			if ($column['len'] === 1 && (empty($column['native_type']) || $column['native_type'] === 'TINY')) {
+				$type = 'boolean';
 			} else {
-				$type = $column['native_type'];
+				$type = empty($column['native_type']) ? 'string' : $column['native_type'];
 			}
 			if (!empty($column['table']) && strpos($column['name'], $this->virtualFieldSeparator) === false) {
 				$this->map[$index++] = array($column['table'], $column['name'], $type);