diff options
author | Andrey Andreev <narf@bofh.bg> | 2013-03-12 19:00:08 +0100 |
---|---|---|
committer | Andrey Andreev <narf@bofh.bg> | 2013-03-12 19:00:08 +0100 |
commit | 219565d05f6b223c28e24422b9d244b201890699 (patch) | |
tree | a60dca081222b7d71ed45f80b42282b7d810b163 /system/database/drivers/mysql | |
parent | 89b67b49616b19e9c9f0bee8f49cb1bfc93b7436 (diff) |
Add a (default) CI_DB_query_builder::_update_batch() method
An improved version of PR #2324, which only targets ODBC.
Diffstat (limited to 'system/database/drivers/mysql')
-rw-r--r-- | system/database/drivers/mysql/mysql_driver.php | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/system/database/drivers/mysql/mysql_driver.php b/system/database/drivers/mysql/mysql_driver.php index 95003f648..b94642b35 100644 --- a/system/database/drivers/mysql/mysql_driver.php +++ b/system/database/drivers/mysql/mysql_driver.php @@ -456,47 +456,6 @@ class CI_DB_mysql_driver extends CI_DB { // -------------------------------------------------------------------- /** - * Update_Batch statement - * - * Generates a platform-specific batch update string from the supplied data - * - * @param string $table Table name - * @param array $values Update data - * @param string $index WHERE key - * @return string - */ - protected function _update_batch($table, $values, $index) - { - $ids = array(); - foreach ($values as $key => $val) - { - $ids[] = $val[$index]; - - foreach (array_keys($val) as $field) - { - if ($field !== $index) - { - $final[$field][] = 'WHEN '.$index.' = '.$val[$index].' THEN '.$val[$field]; - } - } - } - - $cases = ''; - foreach ($final as $k => $v) - { - $cases .= $k." = CASE \n" - .implode("\n", $v)."\n" - .'ELSE '.$k.' END, '; - } - - $this->where($index.' IN('.implode(',', $ids).')', NULL, FALSE); - - return 'UPDATE '.$table.' SET '.substr($cases, 0, -2).$this->_compile_wh('qb_where'); - } - - // -------------------------------------------------------------------- - - /** * FROM tables * * Groups tables in FROM clauses if needed, so there is no confusion |