MediaWiki master
Wikimedia\Rdbms\ReplaceQueryBuilder Class Reference

Build REPLACE queries with a fluent interface. More...

Collaboration diagram for Wikimedia\Rdbms\ReplaceQueryBuilder:

Public Member Functions

 __construct (IDatabase $db)
 Only for use in subclasses.
 
 caller ( $fname)
 Set the method name to be included in an SQL comment.
 
 connection (IDatabase $db)
 Change the IDatabase object the query builder is bound to.
 
 execute ()
 Run the constructed REPLACE query and return the result.
 
 getQueryInfo ()
 Get an associative array describing the query in terms of its raw parameters to Database::replace().
 
 queryInfo ( $info)
 Set the query parameters to the given values, appending to the values which were already set.
 
 replaceInto (string $table)
 Set table for the query.
 
 row (array $row)
 Add one row to be inserted.
 
 rows (array $rows)
 Add rows to be inserted.
 
 table ( $table)
 Manually set the table name to be passed to IDatabase::replace()
 
 uniqueIndexFields ( $uniqueIndexFields)
 Set the unique index fields.
 

Protected Attributes

IDatabase $db
 

Detailed Description

Build REPLACE queries with a fluent interface.

Each query builder object must be used for a single database query only, and not be reused afterwards. To run multiple similar queries, you can create a query builder to set up most of your query, which you can use as a "template" to clone. You can then modify the cloned object for each individual query.

Since
1.41
Stability: stable
to extend

Definition at line 21 of file ReplaceQueryBuilder.php.

Constructor & Destructor Documentation

◆ __construct()

Wikimedia\Rdbms\ReplaceQueryBuilder::__construct ( IDatabase $db)

Only for use in subclasses.

To create a ReplaceQueryBuilder instance, use $db->newReplaceQueryBuilder() instead.

Parameters
IDatabase$db

Definition at line 51 of file ReplaceQueryBuilder.php.

References Wikimedia\Rdbms\ReplaceQueryBuilder\$db.

Member Function Documentation

◆ caller()

Wikimedia\Rdbms\ReplaceQueryBuilder::caller ( $fname)

◆ connection()

Wikimedia\Rdbms\ReplaceQueryBuilder::connection ( IDatabase $db)

Change the IDatabase object the query builder is bound to.

The specified IDatabase will subsequently be used to execute the query.

Parameters
IDatabase$db
Returns
$this

Definition at line 62 of file ReplaceQueryBuilder.php.

References Wikimedia\Rdbms\ReplaceQueryBuilder\$db, and Wikimedia\Rdbms\IReadableDatabase\getType().

◆ execute()

Wikimedia\Rdbms\ReplaceQueryBuilder::execute ( )

◆ getQueryInfo()

Wikimedia\Rdbms\ReplaceQueryBuilder::getQueryInfo ( )

Get an associative array describing the query in terms of its raw parameters to Database::replace().

This can be used to interface with legacy code.

Returns
array The query info array, with keys:
  • table: The table name
  • rows: The rows array
  • options: The query options
  • caller: The caller signature

Definition at line 210 of file ReplaceQueryBuilder.php.

References Wikimedia\Rdbms\ReplaceQueryBuilder\caller().

◆ queryInfo()

Wikimedia\Rdbms\ReplaceQueryBuilder::queryInfo ( $info)

Set the query parameters to the given values, appending to the values which were already set.

This can be used to interface with legacy code. If a key is omitted, the previous value will be retained.

The parameters must be formatted as required by Database::replace.

Parameters
array$infoAssociative array of query info, with keys:
  • table: The table name to be passed to Database::replace()
  • rows: The rows to be inserted
  • options: The query options
  • caller: The caller signature
Returns
$this

Definition at line 87 of file ReplaceQueryBuilder.php.

References Wikimedia\Rdbms\ReplaceQueryBuilder\caller(), Wikimedia\Rdbms\ReplaceQueryBuilder\rows(), Wikimedia\Rdbms\ReplaceQueryBuilder\table(), and Wikimedia\Rdbms\ReplaceQueryBuilder\uniqueIndexFields().

◆ replaceInto()

Wikimedia\Rdbms\ReplaceQueryBuilder::replaceInto ( string $table)

Set table for the query.

Alias for table().

Parameters
string$tableThe unqualified name of a table
Returns
$this

Definition at line 122 of file ReplaceQueryBuilder.php.

References Wikimedia\Rdbms\ReplaceQueryBuilder\table().

◆ row()

Wikimedia\Rdbms\ReplaceQueryBuilder::row ( array $row)

Add one row to be inserted.

Parameters
array$row$row must be a string-keyed map of (column name => value) defining a new row. Values are treated as literals and quoted appropriately; null is interpreted as NULL.
Returns
$this

Definition at line 150 of file ReplaceQueryBuilder.php.

References Wikimedia\Rdbms\ReplaceQueryBuilder\rows().

◆ rows()

Wikimedia\Rdbms\ReplaceQueryBuilder::rows ( array $rows)

Add rows to be inserted.

Parameters
list<array>$rows $rows should be an integer-keyed list of such string-keyed maps, defining a list of new rows. The keys in each map must be identical to each other and in the same order. The rows must not collide with each other.
Returns
$this

Definition at line 136 of file ReplaceQueryBuilder.php.

References Wikimedia\Rdbms\ReplaceQueryBuilder\rows().

Referenced by Wikimedia\Rdbms\ReplaceQueryBuilder\execute(), Wikimedia\Rdbms\ReplaceQueryBuilder\queryInfo(), Wikimedia\Rdbms\ReplaceQueryBuilder\row(), and Wikimedia\Rdbms\ReplaceQueryBuilder\rows().

◆ table()

Wikimedia\Rdbms\ReplaceQueryBuilder::table ( $table)

Manually set the table name to be passed to IDatabase::replace()

Parameters
string$tableThe unqualified name of a table
Returns
$this

Definition at line 110 of file ReplaceQueryBuilder.php.

References Wikimedia\Rdbms\ReplaceQueryBuilder\table().

Referenced by Wikimedia\Rdbms\ReplaceQueryBuilder\execute(), Wikimedia\Rdbms\ReplaceQueryBuilder\queryInfo(), Wikimedia\Rdbms\ReplaceQueryBuilder\replaceInto(), and Wikimedia\Rdbms\ReplaceQueryBuilder\table().

◆ uniqueIndexFields()

Wikimedia\Rdbms\ReplaceQueryBuilder::uniqueIndexFields ( $uniqueIndexFields)

Set the unique index fields.

Parameters
string | string[]$uniqueIndexFields
Returns
$this

Definition at line 161 of file ReplaceQueryBuilder.php.

References Wikimedia\Rdbms\ReplaceQueryBuilder\uniqueIndexFields().

Referenced by Wikimedia\Rdbms\ReplaceQueryBuilder\execute(), Wikimedia\Rdbms\ReplaceQueryBuilder\queryInfo(), and Wikimedia\Rdbms\ReplaceQueryBuilder\uniqueIndexFields().

Member Data Documentation

◆ $db

IDatabase Wikimedia\Rdbms\ReplaceQueryBuilder::$db
protected

The documentation for this class was generated from the following file: