Support deleting all rows
authorjeroendedauw <jeroendedauw@gmail.com>
Tue, 31 Jul 2012 18:33:10 +0000 (20:33 +0200)
committerjeroendedauw <jeroendedauw@gmail.com>
Tue, 31 Jul 2012 18:34:20 +0000 (20:34 +0200)
Change-Id: I36ee33580261f39cb0ba69473f5afac9a5135853

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();