10bet网址
MySQL Internals手册


23.18.22 rnd_next.

目的

从表中读取下一行并将其返回给服务器。

概要

虚拟int rnd_next(

BUF);

字节*

Buf.;

描述

这是rnd_next.方法。

这是针对表扫描的每一行调用。当您耗尽记录时,您应该返回ha_err_end_of_file。用行信息填充buff。表的字段结构是以允许服务器理解的方式将数据放入BUF的键。

从filesort.cc,records.cr,sql_handler.cc,sql_sect.cc,sql_table.cc和sql_update.cc。

参数

  • Buf.

返回值

没有返回值。

用法

这个例子来自档案存储引擎:

int ha_archive :: rnd_next(byte * buf){int rc;dbug_enter(“ha_archive :: rnd_next”);if(分享 - >崩溃)dbug_return(ha_err_crashed_on_usage);if(!scan_rows)dbug_return(ha_err_end_of_file);scan_rows--;statistic_increment(表 - > in_use-> status_var.ha_read_rnd_next_count,&lock_status);current_position = gztell(存档);rc = get_row(存档,buf);if(rc!= ha_err_end_of_file)记录++;dbug_return(rc); }