Merge branch 2.1-stable into develop
diff --git a/system/database/DB_driver.php b/system/database/DB_driver.php
index 65f1f18..f5a7e2a 100644
--- a/system/database/DB_driver.php
+++ b/system/database/DB_driver.php
@@ -1307,14 +1307,16 @@
 		}
 
 		// Convert tabs or multiple spaces into single spaces
-		$item = preg_replace('/[\t ]+/', ' ', $item);
+		$item = preg_replace('/\s+/', ' ', $item);
 
 		// If the item has an alias declaration we remove it and set it aside.
 		// Basically we remove everything to the right of the first space
-		if (strpos($item, ' ') !== FALSE)
+		if (preg_match('/^([^\s]+) (AS )*(.+)$/i', $item, $matches))
 		{
-			$alias = strstr($item, ' ');
-			$item = substr($item, 0, - strlen($alias));
+			$item = $matches[1];
+
+			// Escape the alias
+			$alias = ' '.$matches[2].$this->escape_identifiers($matches[3]);
 		}
 		else
 		{