annotate core/lib/Drupal/Core/Database/StatementEmpty.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 4c8ae668cc8c
children
rev   line source
Chris@0 1 <?php
Chris@0 2
Chris@0 3 namespace Drupal\Core\Database;
Chris@0 4
Chris@0 5 /**
Chris@0 6 * Empty implementation of a database statement.
Chris@0 7 *
Chris@0 8 * This class satisfies the requirements of being a database statement/result
Chris@0 9 * object, but does not actually contain data. It is useful when developers
Chris@0 10 * need to safely return an "empty" result set without connecting to an actual
Chris@0 11 * database. Calling code can then treat it the same as if it were an actual
Chris@0 12 * result set that happens to contain no records.
Chris@0 13 *
Chris@0 14 * @see \Drupal\search\SearchQuery
Chris@0 15 */
Chris@0 16 class StatementEmpty implements \Iterator, StatementInterface {
Chris@0 17
Chris@0 18 /**
Chris@0 19 * Is rowCount() execution allowed.
Chris@0 20 *
Chris@0 21 * @var bool
Chris@0 22 */
Chris@0 23 public $allowRowCount = FALSE;
Chris@0 24
Chris@0 25 /**
Chris@0 26 * {@inheritdoc}
Chris@0 27 */
Chris@0 28 public function execute($args = [], $options = []) {
Chris@0 29 return FALSE;
Chris@0 30 }
Chris@0 31
Chris@0 32 /**
Chris@0 33 * {@inheritdoc}
Chris@0 34 */
Chris@0 35 public function getQueryString() {
Chris@0 36 return '';
Chris@0 37 }
Chris@0 38
Chris@0 39 /**
Chris@0 40 * {@inheritdoc}
Chris@0 41 */
Chris@0 42 public function rowCount() {
Chris@0 43 if ($this->allowRowCount) {
Chris@0 44 return 0;
Chris@0 45 }
Chris@0 46 throw new RowCountException();
Chris@0 47 }
Chris@0 48
Chris@0 49 /**
Chris@0 50 * {@inheritdoc}
Chris@0 51 */
Chris@0 52 public function setFetchMode($mode, $a1 = NULL, $a2 = []) {
Chris@0 53 return;
Chris@0 54 }
Chris@0 55
Chris@0 56 /**
Chris@0 57 * {@inheritdoc}
Chris@0 58 */
Chris@0 59 public function fetch($mode = NULL, $cursor_orientation = NULL, $cursor_offset = NULL) {
Chris@0 60 return NULL;
Chris@0 61 }
Chris@0 62
Chris@0 63 /**
Chris@0 64 * {@inheritdoc}
Chris@0 65 */
Chris@0 66 public function fetchField($index = 0) {
Chris@0 67 return NULL;
Chris@0 68 }
Chris@0 69
Chris@0 70 /**
Chris@0 71 * {@inheritdoc}
Chris@0 72 */
Chris@0 73 public function fetchObject() {
Chris@0 74 return NULL;
Chris@0 75 }
Chris@0 76
Chris@0 77 /**
Chris@0 78 * {@inheritdoc}
Chris@0 79 */
Chris@0 80 public function fetchAssoc() {
Chris@0 81 return NULL;
Chris@0 82 }
Chris@0 83
Chris@0 84 /**
Chris@0 85 * {@inheritdoc}
Chris@0 86 */
Chris@0 87 public function fetchAll($mode = NULL, $column_index = NULL, $constructor_arguments = NULL) {
Chris@0 88 return [];
Chris@0 89 }
Chris@0 90
Chris@0 91 /**
Chris@0 92 * {@inheritdoc}
Chris@0 93 */
Chris@0 94 public function fetchCol($index = 0) {
Chris@0 95 return [];
Chris@0 96 }
Chris@0 97
Chris@0 98 /**
Chris@0 99 * {@inheritdoc}
Chris@0 100 */
Chris@0 101 public function fetchAllKeyed($key_index = 0, $value_index = 1) {
Chris@0 102 return [];
Chris@0 103 }
Chris@0 104
Chris@0 105 /**
Chris@0 106 * {@inheritdoc}
Chris@0 107 */
Chris@0 108 public function fetchAllAssoc($key, $fetch = NULL) {
Chris@0 109 return [];
Chris@0 110 }
Chris@0 111
Chris@0 112 /**
Chris@0 113 * {@inheritdoc}
Chris@0 114 */
Chris@0 115 public function current() {
Chris@0 116 return NULL;
Chris@0 117 }
Chris@0 118
Chris@0 119 /**
Chris@0 120 * {@inheritdoc}
Chris@0 121 */
Chris@0 122 public function key() {
Chris@0 123 return NULL;
Chris@0 124 }
Chris@0 125
Chris@0 126 /**
Chris@0 127 * {@inheritdoc}
Chris@0 128 */
Chris@0 129 public function rewind() {
Chris@0 130 // Nothing to do: our DatabaseStatement can't be rewound.
Chris@0 131 }
Chris@0 132
Chris@0 133 /**
Chris@0 134 * {@inheritdoc}
Chris@0 135 */
Chris@0 136 public function next() {
Chris@0 137 // Do nothing, since this is an always-empty implementation.
Chris@0 138 }
Chris@0 139
Chris@0 140 /**
Chris@0 141 * {@inheritdoc}
Chris@0 142 */
Chris@0 143 public function valid() {
Chris@0 144 return FALSE;
Chris@0 145 }
Chris@0 146
Chris@0 147 }