summaryrefslogtreecommitdiffstats
path: root/system/database/DB_forge.php
diff options
context:
space:
mode:
authorAndrey Andreev <narf@devilix.net>2015-10-19 12:16:19 +0200
committerAndrey Andreev <narf@devilix.net>2015-10-19 12:16:19 +0200
commit95f815745855a5ac365595eb44abbda11766cfe5 (patch)
tree3c54040a898bbda7d0a1e8293c8965a51244c87e /system/database/DB_forge.php
parent97d5154c1b50e8c0e73b17355d20126dfaf043fa (diff)
Fix #4173
This reverts commit 7cc6cea2d421862726081a39e932dbceeefcc775 from PR #3968. At the time this seemed logical, but turns out it breaks the ability to create non-PRIMARY composite keys, so ...
Diffstat (limited to 'system/database/DB_forge.php')
-rw-r--r--system/database/DB_forge.php8
1 files changed, 7 insertions, 1 deletions
diff --git a/system/database/DB_forge.php b/system/database/DB_forge.php
index dde285598..f9cf76a14 100644
--- a/system/database/DB_forge.php
+++ b/system/database/DB_forge.php
@@ -239,7 +239,13 @@ abstract class CI_DB_forge {
*/
public function add_key($key, $primary = FALSE)
{
- if (is_array($key))
+ // DO NOT change this! This condition is only applicable
+ // for PRIMARY keys because you can only have one such,
+ // and therefore all fields you add to it will be included
+ // in the same, composite PRIMARY KEY.
+ //
+ // It's not the same for regular indexes.
+ if ($primary === TRUE && is_array($key))
{
foreach ($key as $one)
{