MySQL 8.4.3
Source Code Documentation
|
#include <parse_tree_nodes.h>
Public Member Functions | |
PT_joined_table_using (const POS &pos, PT_table_reference *tab1_node_arg, const POS &join_pos_arg, PT_joined_table_type type, PT_table_reference *tab2_node_arg, List< String > *using_fields_arg) | |
PT_joined_table_using (const POS &pos, PT_table_reference *tab1_node_arg, const POS &join_pos_arg, PT_joined_table_type type, PT_table_reference *tab2_node_arg) | |
A PT_joined_table_using without a list of columns denotes a natural join. More... | |
bool | do_contextualize (Parse_context *pc) override |
Public Member Functions inherited from PT_joined_table | |
PT_joined_table (const POS &pos, PT_table_reference *tab1_node_arg, const POS &join_pos_arg, PT_joined_table_type type, PT_table_reference *tab2_node_arg) | |
PT_joined_table * | add_cross_join (PT_cross_join *cj) override |
Adds the cross join to this join operation. More... | |
void | add_rhs (PT_table_reference *table) |
Adds the table reference as the right-hand side of this join. More... | |
bool | do_contextualize (Parse_context *pc) override |
~PT_joined_table () override=0 | |
This class is being inherited, it should thus be abstract. More... | |
Public Member Functions inherited from PT_table_reference | |
PT_table_reference (const POS &pos) | |
Public Member Functions inherited from Parse_tree_node_tmpl< Context > | |
virtual | ~Parse_tree_node_tmpl ()=default |
bool | is_contextualized () const |
virtual bool | contextualize (Context *pc) final |
void | error (Context *pc, const POS &pos) const |
syntax_error() function replacement for deferred reporting of syntax errors More... | |
void | error (Context *pc, const POS &pos, const char *msg) const |
syntax_error() function replacement for deferred reporting of syntax errors More... | |
void | errorf (Context *pc, const POS &pos, const char *format,...) const |
syntax_error() function replacement for deferred reporting of syntax errors More... | |
Protected Member Functions | |
void | add_json_info (Json_object *obj) override |
Add all the node-specific json fields. More... | |
Protected Member Functions inherited from PT_joined_table | |
bool | contextualize_tabs (Parse_context *pc) |
Protected Member Functions inherited from Parse_tree_node_tmpl< Context > | |
Parse_tree_node_tmpl ()=delete | |
Parse_tree_node_tmpl (const POS &pos) | |
Parse_tree_node_tmpl (const POS &start_pos, const POS &end_pos) | |
bool | begin_parse_tree (Show_parse_tree *tree) |
bool | end_parse_tree (Show_parse_tree *tree) |
virtual bool | do_contextualize (Context *pc) |
Do all context-sensitive things and mark the node as contextualized. More... | |
Private Types | |
typedef PT_joined_table | super |
Private Attributes | |
List< String > * | using_fields |
Additional Inherited Members | |
Public Types inherited from Parse_tree_node_tmpl< Context > | |
typedef Context | context_t |
Static Public Member Functions inherited from Parse_tree_node_tmpl< Context > | |
static void * | operator new (size_t size, MEM_ROOT *mem_root, const std::nothrow_t &arg=std::nothrow) noexcept |
static void | operator delete (void *ptr, size_t size) |
static void | operator delete (void *, MEM_ROOT *, const std::nothrow_t &) noexcept |
Public Attributes inherited from PT_table_reference | |
Table_ref * | m_table_ref {nullptr} |
Public Attributes inherited from Parse_tree_node_tmpl< Context > | |
POS | m_pos |
Protected Attributes inherited from PT_joined_table | |
PT_table_reference * | m_left_pt_table |
POS | m_join_pos |
PT_joined_table_type | m_type |
PT_table_reference * | m_right_pt_table |
Table_ref * | m_left_table_ref {nullptr} |
Table_ref * | m_right_table_ref {nullptr} |
|
private |
|
inline |
|
inline |
A PT_joined_table_using without a list of columns denotes a natural join.
|
overrideprotectedvirtual |
Add all the node-specific json fields.
Any class that needs to add such info should override this function rather than doing it in do_contextualize(). E.g. the parse tree node for AVG() may have "distinct" field to indicate if AVG(DISTINCT ...) is used or not.
json_obj | Json object for this parse tree node. |
Reimplemented from PT_joined_table.
|
override |