123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 |
- <?php
- namespace Drupal\Core\Database;
- /**
- * Empty implementation of a database statement.
- *
- * This class satisfies the requirements of being a database statement/result
- * object, but does not actually contain data. It is useful when developers
- * need to safely return an "empty" result set without connecting to an actual
- * database. Calling code can then treat it the same as if it were an actual
- * result set that happens to contain no records.
- *
- * @see \Drupal\search\SearchQuery
- */
- class StatementEmpty implements \Iterator, StatementInterface {
- /**
- * Is rowCount() execution allowed.
- *
- * @var bool
- */
- public $allowRowCount = FALSE;
- /**
- * {@inheritdoc}
- */
- public function execute($args = [], $options = []) {
- return FALSE;
- }
- /**
- * {@inheritdoc}
- */
- public function getQueryString() {
- return '';
- }
- /**
- * {@inheritdoc}
- */
- public function rowCount() {
- if ($this->allowRowCount) {
- return 0;
- }
- throw new RowCountException();
- }
- /**
- * {@inheritdoc}
- */
- public function setFetchMode($mode, $a1 = NULL, $a2 = []) {
- return;
- }
- /**
- * {@inheritdoc}
- */
- public function fetch($mode = NULL, $cursor_orientation = NULL, $cursor_offset = NULL) {
- return NULL;
- }
- /**
- * {@inheritdoc}
- */
- public function fetchField($index = 0) {
- return NULL;
- }
- /**
- * {@inheritdoc}
- */
- public function fetchObject() {
- return NULL;
- }
- /**
- * {@inheritdoc}
- */
- public function fetchAssoc() {
- return NULL;
- }
- /**
- * {@inheritdoc}
- */
- public function fetchAll($mode = NULL, $column_index = NULL, $constructor_arguments = NULL) {
- return [];
- }
- /**
- * {@inheritdoc}
- */
- public function fetchCol($index = 0) {
- return [];
- }
- /**
- * {@inheritdoc}
- */
- public function fetchAllKeyed($key_index = 0, $value_index = 1) {
- return [];
- }
- /**
- * {@inheritdoc}
- */
- public function fetchAllAssoc($key, $fetch = NULL) {
- return [];
- }
- /**
- * {@inheritdoc}
- */
- public function current() {
- return NULL;
- }
- /**
- * {@inheritdoc}
- */
- public function key() {
- return NULL;
- }
- /**
- * {@inheritdoc}
- */
- public function rewind() {
- // Nothing to do: our DatabaseStatement can't be rewound.
- }
- /**
- * {@inheritdoc}
- */
- public function next() {
- // Do nothing, since this is an always-empty implementation.
- }
- /**
- * {@inheritdoc}
- */
- public function valid() {
- return FALSE;
- }
- }
|