![]()  | 
  
    MySQL 9.5.0
    
   Source Code Documentation 
   | 
 
Class representing a table function. More...
#include <table_function.h>
Public Member Functions | |
| Table_function () | |
| virtual | ~Table_function ()=default | 
| bool | create_result_table (THD *thd, ulonglong options, const char *table_alias) | 
| Create, but not instantiate the result table.  More... | |
| bool | write_row () | 
| Write current record to the result table and handle overflow to disk.  More... | |
| Field * | get_field (uint i) | 
| Returns a field with given index.  More... | |
| void | empty_table () | 
| Delete all rows in the table.  More... | |
| void | default_row () | 
| Set the default row.  More... | |
| virtual bool | init ()=0 | 
| Initialize table function.  More... | |
| virtual bool | init_args () | 
| Initialize table function after the result table has been created.  More... | |
| virtual bool | fill_result_table ()=0 | 
| Execute the table function - fill the result table.  More... | |
| virtual const char * | func_name () const =0 | 
| Returns table function's name.  More... | |
| virtual table_map | used_tables () const | 
| Return table_map of tables used by the function.  More... | |
| virtual bool | print (const THD *thd, String *str, enum_query_type query_type) const =0 | 
| Print table function.  More... | |
| void | cleanup () | 
| Clean up table function after one execution.  More... | |
| void | destroy () | 
| Destroy table function object after all executions are complete.  More... | |
| virtual bool | walk (Item_processor processor, enum_walk walk, uchar *arg)=0 | 
| void | fix_after_pullout (Query_block *parent_query_block, Query_block *removed_query_block) | 
| Fix after tables have been moved from one query_block level to the parent level, e.g by semijoin conversion.  More... | |
Protected Attributes | |
| TABLE * | table | 
| Table function's result table.  More... | |
| bool | inited | 
| Whether the table function was already initialized.  More... | |
Private Member Functions | |
| virtual List< Create_field > * | get_field_list ()=0 | 
| Get the list of fields to create the result table.  More... | |
| virtual bool | do_init_args ()=0 | 
| Initialize table function's arguments.  More... | |
| virtual void | do_cleanup () | 
| virtual void | do_fix_after_pullout (Query_block *parent_query_block, Query_block *removed_query_block)=0 | 
Friends | |
| bool | Table_ref::setup_table_function (THD *thd) | 
Class representing a table function.
      
  | 
  inlineexplicit | 
      
  | 
  virtualdefault | 
      
  | 
  inline | 
Clean up table function after one execution.
Create, but not instantiate the result table.
| thd | thread handler | 
| options | options to create table | 
| table_alias | table's alias | 
      
  | 
  inline | 
Set the default row.
      
  | 
  inline | 
Destroy table function object after all executions are complete.
      
  | 
  inlineprivatevirtual | 
Reimplemented in Table_function_json.
      
  | 
  privatepure virtual | 
Implemented in Table_function_json.
      
  | 
  privatepure virtual | 
Initialize table function's arguments.
Implemented in Table_function_json.
| void Table_function::empty_table | ( | ) | 
Delete all rows in the table.
      
  | 
  pure virtual | 
Execute the table function - fill the result table.
Implemented in Table_function_json.
| void Table_function::fix_after_pullout | ( | Query_block * | parent_query_block, | 
| Query_block * | removed_query_block | ||
| ) | 
Fix after tables have been moved from one query_block level to the parent level, e.g by semijoin conversion.
| parent_query_block | query_block that tables are moved to. | 
| removed_query_block | query_block that tables are moved away from, child of parent_query_block. | 
      
  | 
  pure virtual | 
Returns table function's name.
Implemented in Table_function_json.
      
  | 
  inline | 
Returns a field with given index.
| i | field's index | 
      
  | 
  privatepure virtual | 
Get the list of fields to create the result table.
Implemented in Table_function_json.
      
  | 
  pure virtual | 
Initialize table function.
Implemented in Table_function_json.
      
  | 
  virtual | 
Initialize table function after the result table has been created.
      
  | 
  pure virtual | 
Print table function.
| thd | thread handler | 
| str | string to print to | 
| query_type | type of the query | 
Implemented in Table_function_json.
      
  | 
  inlinevirtual | 
Return table_map of tables used by the function.
Reimplemented in Table_function_json.
      
  | 
  pure virtual | 
Implemented in Table_function_json.
| bool Table_function::write_row | ( | ) | 
Write current record to the result table and handle overflow to disk.
      
  | 
  friend | 
      
  | 
  protected | 
Whether the table function was already initialized.
      
  | 
  protected | 
Table function's result table.