12.2 select_resultClass

This class has a very important role in SELECT performance with select_result class and classes inherited from it (usually called with a select_ prefix). This class provides the interface for transmitting results.

The key methods in this class are the following:

  • send_fields sends given item list headers (type, name, etc.).

  • send_data sends given item list values as row of table of result.

  • send_error is used mainly for error interception, making some operation and then ::send_error will be called.

For example, there are the following select_result classes:

  • select_send used for sending results though network layer.

  • select_export used for exporting data to file.

  • multi_delete used for multi-delete.

  • select_insert used for INSERT ... SELECT ...

  • multi_update used for multi-update.

  • select_singlerow_subselect used for row and scalar subqueries..

  • select_exists_subselect used for EXISTS/IN/ALL/ANY/SOME subqueries.

  • select_max_min_finder_subselect used for min/max subqueries (ALL/ANY subquery optimization).