Merge "Support deleting all rows"
authorDemon <chadh@wikimedia.org>
Thu, 2 Aug 2012 12:24:11 +0000 (12:24 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Thu, 2 Aug 2012 12:24:11 +0000 (12:24 +0000)
includes/db/ORMTable.php

index a4396af..bd6bf0b 100644 (file)
@@ -329,7 +329,7 @@ abstract class ORMTable implements IORMTable {
        public function delete( array $conditions, $functionName = null ) {
                return wfGetDB( DB_MASTER )->delete(
                        $this->getName(),
-                       $this->getPrefixedValues( $conditions ),
+                       $conditions === array() ? '*' : $this->getPrefixedValues( $conditions ),
                        $functionName
                ) !== false; // DatabaseBase::delete does not always return true for success as documented...
        }
@@ -452,7 +452,10 @@ abstract class ORMTable implements IORMTable {
        public function updateSummaryFields( $summaryFields = null, array $conditions = array() ) {
                $this->setReadDb( DB_MASTER );
 
-               foreach ( $this->select( null, $conditions ) as /* IORMRow */ $item ) {
+               /**
+                * @var IORMRow $item
+                */
+               foreach ( $this->select( null, $conditions ) as $item ) {
                        $item->loadSummaryFields( $summaryFields );
                        $item->setSummaryMode( true );
                        $item->save();