MySQL  8.0.22
Source Code Documentation
Query_result_send Class Reference

#include <query_result.h>

Inheritance diagram for Query_result_send:
Query_result Query_result_explain

Public Member Functions

 Query_result_send ()
 
bool send_result_set_metadata (THD *thd, const mem_root_deque< Item *> &list, uint flags) override
 
bool send_data (THD *thd, const mem_root_deque< Item *> &items) override
 
bool send_eof (THD *thd) override
 
bool check_simple_select () const override
 Check if this query returns a result set and therefore is allowed in cursors and set an error message if it is not the case. More...
 
void abort_result_set (THD *thd) override
 
void cleanup (THD *) override
 Cleanup after this execution. More...
 
- Public Member Functions inherited from Query_result
 Query_result ()
 
virtual ~Query_result ()
 
virtual bool needs_file_privilege () const
 
virtual bool change_query_result (THD *, Query_result *)
 Change wrapped Query_result. More...
 
virtual bool need_explain_interceptor () const
 
virtual bool prepare (THD *, const mem_root_deque< Item *> &, SELECT_LEX_UNIT *u)
 Perform preparation specific to the query expression or DML statement. More...
 
virtual bool optimize ()
 Optimize the result processing of a query expression, applicable to data change operation (not simple select queries). More...
 
virtual bool start_execution (THD *)
 Prepare for execution of the query expression or DML statement. More...
 
virtual uint field_count (const mem_root_deque< Item *> &fields) const
 
virtual void send_error (THD *, uint errcode, const char *err)
 
virtual bool reset ()
 Cleanup after one execution of the unit, to be ready for a next execution inside the same statement. More...
 
void begin_dataset ()
 
virtual const ha_rowsrow_count () const
 
virtual bool is_interceptor () const
 Checks if this Query_result intercepts and transforms the result set. More...
 
virtual bool immediate_update (TABLE_LIST *t) const
 If this Query_result performs modifications to tables: tells if it modifies the given table's row as it's read (a.k.a. More...
 

Private Attributes

bool is_result_set_started
 True if we have sent result set metadata to the client. More...
 

Additional Inherited Members

- Public Attributes inherited from Query_result
ha_rows estimated_rowcount
 Number of records estimated in this result. More...
 
double estimated_cost
 Cost to execute the subquery which produces this result. More...
 
- Protected Attributes inherited from Query_result
SELECT_LEX_UNITunit
 

Constructor & Destructor Documentation

◆ Query_result_send()

Query_result_send::Query_result_send ( )
inline

Member Function Documentation

◆ abort_result_set()

void Query_result_send::abort_result_set ( THD thd)
overridevirtual

Reimplemented from Query_result.

◆ check_simple_select()

bool Query_result_send::check_simple_select ( ) const
inlineoverridevirtual

Check if this query returns a result set and therefore is allowed in cursors and set an error message if it is not the case.

Return values
falsesuccess
trueerror, an error message is set

Reimplemented from Query_result.

◆ cleanup()

void Query_result_send::cleanup ( THD )
inlineoverridevirtual

Cleanup after this execution.

Completes the execution and resets object before next execution of a prepared statement/stored procedure.

Reimplemented from Query_result.

◆ send_data()

bool Query_result_send::send_data ( THD thd,
const mem_root_deque< Item *> &  items 
)
overridevirtual

Implements Query_result.

◆ send_eof()

bool Query_result_send::send_eof ( THD thd)
overridevirtual

Implements Query_result.

◆ send_result_set_metadata()

bool Query_result_send::send_result_set_metadata ( THD thd,
const mem_root_deque< Item *> &  list,
uint  flags 
)
overridevirtual

Implements Query_result.

Member Data Documentation

◆ is_result_set_started

bool Query_result_send::is_result_set_started
private

True if we have sent result set metadata to the client.

In this case the client always expects us to end the result set with an eof or error packet


The documentation for this class was generated from the following files: