Liest die nächste Zeile einer Tabelle und gibt sie an den Server zurück.
virtual int rnd_next
( |
buf) ; |
byte * | buf ; |
Dies ist die Methode rnd_next
.
Diese Methode wird für jede Zeile des Tabellenscans aufgerufen.
Am Ende der Datensätze sollten Sie
HA_ERR_END_OF_FILE
zurückgeben. Die
Zeilendaten werden in den Puffer geladen. Die Feldstruktur für
die Tabelle ist der Schlüssel, um Daten so in den Puffer zu
schreiben, dass der Server sie verstehen kann.
Wird von filesort.cc
,
records.cc
,
sql_handler.cc
,
sql_select.cc
,
sql_table.cc
und
sql_update.cc
aufgerufen.
buf
Keine Rückgabewerte.
Dieses Beispiel stammt von der Speicher-Engine
ARCHIVE
:
int ha_archive::rnd_next(byte *buf) { int rc; DBUG_ENTER("ha_archive::rnd_next"); if (share->crashed) DBUG_RETURN(HA_ERR_CRASHED_ON_USAGE); if (!scan_rows) DBUG_RETURN(HA_ERR_END_OF_FILE); scan_rows--; statistic_increment(table->in_use->status_var.ha_read_rnd_next_count, &LOCK_status); current_position= gztell(archive); rc= get_row(archive, buf); if (rc != HA_ERR_END_OF_FILE) records++; DBUG_RETURN(rc); }
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.