summaryrefslogtreecommitdiffstats
path: root/system/database/DB_driver.php
diff options
context:
space:
mode:
authorAndrey Andreev <narf@bofh.bg>2012-06-10 05:18:14 +0200
committerAndrey Andreev <narf@bofh.bg>2012-06-10 05:18:14 +0200
commit5a257187c4ca09ea61c19999bf061cec3f224cc2 (patch)
tree56f5208bac5394f37c16e62625a149b3746d8e23 /system/database/DB_driver.php
parent92aa67cf67292b20cfb8f18fc9e24b7408620355 (diff)
Merge branch 2.1-stable into develop
Diffstat (limited to 'system/database/DB_driver.php')
-rw-r--r--system/database/DB_driver.php10
1 files changed, 6 insertions, 4 deletions
diff --git a/system/database/DB_driver.php b/system/database/DB_driver.php
index 65f1f18d0..f5a7e2ac0 100644
--- a/system/database/DB_driver.php
+++ b/system/database/DB_driver.php
@@ -1307,14 +1307,16 @@ abstract class CI_DB_driver {
}
// 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
{