summaryrefslogtreecommitdiffstats
path: root/system/database
diff options
context:
space:
mode:
authorAndrey Andreev <narf@bofh.bg>2012-06-25 14:34:30 +0200
committerAndrey Andreev <narf@bofh.bg>2012-06-25 14:34:30 +0200
commit35443c6be9e181bdefe8d3c7851cd305caafde15 (patch)
treef9fd8f41ca8cd811938e43bc04c2b69a8254fd06 /system/database
parent5382b1b7c3cbbf4a853b59954fbff5e69ed42234 (diff)
Change where() to skip dbprefix (until a better solution is available)
Diffstat (limited to 'system/database')
-rw-r--r--system/database/DB_query_builder.php16
-rw-r--r--system/database/drivers/postgre/postgre_driver.php9
2 files changed, 18 insertions, 7 deletions
diff --git a/system/database/DB_query_builder.php b/system/database/DB_query_builder.php
index dad1df116..439530714 100644
--- a/system/database/DB_query_builder.php
+++ b/system/database/DB_query_builder.php
@@ -467,9 +467,12 @@ abstract class CI_DB_query_builder extends CI_DB_driver {
? $this->_group_get_type('')
: $this->_group_get_type($type);
- $k = (($op = $this->_get_operator($k)) !== FALSE)
- ? $this->protect_identifiers(substr($k, 0, strpos($k, $op)), FALSE, $escape).strstr($k, $op)
- : $this->protect_identifiers($k, FALSE, $escape);
+ if ($escape === TRUE)
+ {
+ $k = (($op = $this->_get_operator($k)) !== FALSE)
+ ? $this->escape_identifiers(substr($k, 0, strpos($k, $op))).strstr($k, $op)
+ : $this->escape_identifiers($k);
+ }
if (is_null($v) && ! $this->_has_operator($k))
{
@@ -604,8 +607,13 @@ abstract class CI_DB_query_builder extends CI_DB_driver {
$this->qb_wherein[] = $this->escape($value);
}
+ if ($escape === TRUE)
+ {
+ $key = $this->escape_identifiers($key);
+ }
+
$prefix = (count($this->qb_where) === 0) ? $this->_group_get_type('') : $this->_group_get_type($type);
- $this->qb_where[] = $where_in = $prefix.$this->protect_identifiers($key, FALSE, $escape).$not.' IN ('.implode(', ', $this->qb_wherein).') ';
+ $this->qb_where[] = $where_in = $prefix.$key.$not.' IN ('.implode(', ', $this->qb_wherein).') ';
if ($this->qb_caching === TRUE)
{
diff --git a/system/database/drivers/postgre/postgre_driver.php b/system/database/drivers/postgre/postgre_driver.php
index fd253033b..21968a8dd 100644
--- a/system/database/drivers/postgre/postgre_driver.php
+++ b/system/database/drivers/postgre/postgre_driver.php
@@ -614,9 +614,12 @@ class CI_DB_postgre_driver extends CI_DB {
? $this->_group_get_type('')
: $this->_group_get_type($type);
- $k = (($op = $this->_get_operator($k)) !== FALSE)
- ? $this->protect_identifiers(substr($k, 0, strpos($k, $op)), FALSE, $escape).strstr($k, $op)
- : $this->protect_identifiers($k, FALSE, $escape);
+ if ($escape === TRUE)
+ {
+ $k = (($op = $this->_get_operator($k)) !== FALSE)
+ ? $this->escape_identifiers(substr($k, 0, strpos($k, $op))).strstr($k, $op)
+ : $this->escape_identifiers($k);
+ }
if (is_null($v) && ! $this->_has_operator($k))
{