18.1.3 send_row ()

原型:虚int send_row(List &fields);

对原始结果集中的每个结果行调用该成员。无论您在这里做什么都由您自己决定,需要注意的是,要将结果行传递给您必须调用的客户机结果- > send_data ()你自己。

例如,PROCEDURE analyze()在这里不发送任何数据,它只在聚合所有结果行的信息后产生结果行send_row ()成员只聚合但不发送任何东西。

下面是一个简单的例子,在发送给客户端之前,修改字段列表中单个字段的结果值:

int proc_rownum::send_row(List &field_list __attribute__((未使用))){DBUG_ENTER(“proc_rownum::send_row”);//递增行数并在结果行中设置新值row_num_column->set(++row_num);//现在发送修改后的结果如果(result->send_data(field_list)) DBUG_RETURN(-1);DBUG_RETURN (0);}