summaryrefslogtreecommitdiffstats
path: root/system/database/DB_query_builder.php
diff options
context:
space:
mode:
authorAndrey Andreev <narf@bofh.bg>2012-06-08 01:12:07 +0200
committerAndrey Andreev <narf@bofh.bg>2012-06-08 01:12:07 +0200
commitc78e56a7df140ee777ffc67687877f3e70c77e28 (patch)
treeb26e6ec5090e018baaf58f4a2acc71d9c569d0b1 /system/database/DB_query_builder.php
parentcaa04f15096590261093dff2a8b59f266a1dcaf5 (diff)
Add a default _from_tables() method to CI_DB_query_builder and remove it from most of the drivers
Diffstat (limited to 'system/database/DB_query_builder.php')
-rw-r--r--system/database/DB_query_builder.php18
1 files changed, 18 insertions, 0 deletions
diff --git a/system/database/DB_query_builder.php b/system/database/DB_query_builder.php
index 7a0ea0c30..3ed556212 100644
--- a/system/database/DB_query_builder.php
+++ b/system/database/DB_query_builder.php
@@ -1475,6 +1475,24 @@ abstract class CI_DB_query_builder extends CI_DB_driver {
// --------------------------------------------------------------------
/**
+ * From Tables
+ *
+ * This public function implicitly groups FROM tables so there is no confusion
+ * about operator precedence in harmony with SQL standards
+ *
+ * @param array
+ * @return string
+ */
+ protected function _from_tables($tables)
+ {
+ is_array($tables) OR $tables = array($tables);
+
+ return (count($tables) === 1) ? $tables[0] : '('.implode(', ', $tables).')';
+ }
+
+ // --------------------------------------------------------------------
+
+ /**
* Get UPDATE query string
*
* Compiles an update query and returns the sql