wiki.techinc.nl/includes/utils/RowUpdateGenerator.php
Erik Bernhardson 85d5626d6c Import BatchRowUpdate classes from Echo
This is a set of classes written for Echo to simplify writing
maintenance scripts that iterate over an entire table and update
some of those rows.

This has shown to be reusable elsewhere, especially the BatchRowIterator
class and will be useful to have generally avilable in core. The Echo
classes are all prefixed with the Echo name so there wont be any
conflict is both are installed.

Change-Id: I64c1751106caf34f41af799dbaf8794115537f06
2015-08-13 21:28:13 -04:00

39 lines
1.3 KiB
PHP

<?php
/**
* Interface for generating updates to single rows in the database.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* http://www.gnu.org/copyleft/gpl.html
*
* @file
* @ingroup Maintenance
*/
interface RowUpdateGenerator {
/**
* Given a database row, generates an array mapping column names to
* updated value within the database row.
*
* Sample Response:
* return array(
* 'some_col' => 'new value',
* 'other_col' => 99,
* );
*
* @param stdClass $row A row from the database
* @return array Map of column names to updated value within the
* database row. When no update is required returns an empty array.
*/
public function update( $row );
}