Allow an array as ON clause. There are quite a few queries out there that JOIN on...
authorRoan Kattouw <catrope@users.mediawiki.org>
Sat, 10 May 2008 10:31:57 +0000 (10:31 +0000)
committerRoan Kattouw <catrope@users.mediawiki.org>
Sat, 10 May 2008 10:31:57 +0000 (10:31 +0000)
includes/Database.php

index 3c27e66..1df8571 100644 (file)
@@ -1466,7 +1466,7 @@ class Database {
                        if ( isset($join_conds_safe[$table]) && isset($use_index_safe[$table]) ) {
                                $tableClause = $join_conds_safe[$table][0] . ' ' . $this->tableName( $table );
                                $tableClause .= ' ' . $this->useIndexClause( implode( ',', (array)$use_index_safe[$table] ) );
-                               $tableClause .= ' ON (' . $join_conds_safe[$table][1] . ')';
+                               $tableClause .= ' ON (' . $this->makeList((array)$join_conds_safe[$table][1], LIST_AND) . ')';
                                $retJOIN[] = $tableClause;
                        // Is there an INDEX clause?
                        } else if ( isset($use_index_safe[$table]) ) {
@@ -1476,7 +1476,7 @@ class Database {
                        // Is there a JOIN clause?
                        } else if ( isset($join_conds_safe[$table]) ) {
                                $tableClause = $join_conds_safe[$table][0] . ' ' . $this->tableName( $table );
-                               $tableClause .= ' ON (' . $join_conds_safe[$table][1] . ')';
+                               $tableClause .= ' ON (' . $this->makeList((array)$join_conds_safe[$table][1], LIST_AND) . ')';
                                $retJOIN[] = $tableClause;
                        } else {
                                $tableClause = $this->tableName( $table );