MediaWiki REL1_39
FakeResultWrapper.php
Go to the documentation of this file.
1<?php
2
3namespace Wikimedia\Rdbms;
4
5use RuntimeException;
6use stdClass;
7
14 protected $result;
15
19 public function __construct( $result ) {
20 if ( $result instanceof self ) {
21 $this->result = $result->result;
22 } else {
23 $this->result = $result;
24 }
25 }
26
27 protected function doNumRows() {
28 return count( $this->result );
29 }
30
31 protected function doFetchObject() {
32 $value = $this->result[$this->currentPos] ?? false;
33 return is_array( $value ) ? (object)$value : $value;
34 }
35
36 protected function doFetchRow() {
37 $row = $this->doFetchObject();
38 return is_object( $row ) ? get_object_vars( $row ) : $row;
39 }
40
41 protected function doSeek( $pos ) {
42 }
43
44 protected function doFree() {
45 $this->result = null;
46 }
47
48 protected function doGetFieldNames() {
49 // @phan-suppress-previous-line PhanPluginNeverReturnMethod
50 throw new RuntimeException( __METHOD__ . ' is unimplemented' );
51 }
52}
53
57class_alias( FakeResultWrapper::class, 'FakeResultWrapper' );
Overloads the relevant methods of the real ResultWrapper so it doesn't go anywhere near an actual dat...
doSeek( $pos)
Modify the current cursor position to the row with the specified offset.
doFetchRow()
Get the next row as an array containing the data duplicated, once with string keys and once with nume...
doGetFieldNames()
Get the field names in the result set.
doNumRows()
Get the number of rows in the result set.
doFetchObject()
Get the next row as a stdClass object, or false if iteration has proceeded past the end.
Result wrapper for grabbing data queried from an IDatabase object.
count()
Get the number of rows in a result object.
int $currentPos
The offset of the current row that would be returned by current() and may have been previously return...