MySQL 8.3.0
Source Code Documentation
PT_constraint_enforcement_attr Class Reference

Node for the [NOT] ENFORCED column attribute. More...

#include <parse_tree_column_attrs.h>

Inheritance diagram for PT_constraint_enforcement_attr:
[legend]

Public Member Functions

 PT_constraint_enforcement_attr (const POS &pos, bool enforced)
 
bool has_constraint_enforcement () const override
 Check for the [NOT] ENFORCED characteristic. More...
 
bool is_constraint_enforced () const override
 Check if constraint is enforced. More...
 
- Public Member Functions inherited from PT_column_attr_base
virtual void apply_type_flags (ulong *) const
 
virtual void apply_alter_info_flags (ulonglong *) const
 
virtual void apply_comment (LEX_CSTRING *) const
 
virtual void apply_default_value (Item **) const
 
virtual void apply_gen_default_value (Value_generator **)
 
virtual void apply_on_update_value (Item **) const
 
virtual void apply_srid_modifier (std::optional< gis::srid_t > *) const
 
virtual bool apply_collation (Column_parse_context *, const CHARSET_INFO **to, bool *has_explicit_collation) const
 
virtual bool add_check_constraints (Sql_check_constraint_spec_list *check_const_list)
 
virtual bool set_constraint_enforcement (bool enforced)
 Update the ENFORCED/NOT ENFORCED state of the CHECK constraint. More...
 
- Public Member Functions inherited from Parse_tree_node_tmpl< Column_parse_context >
virtual ~Parse_tree_node_tmpl ()=default
 
bool is_contextualized () const
 
virtual bool contextualize (Column_parse_context *pc) final
 
void error (Column_parse_context *pc, const POS &pos) const
 syntax_error() function replacement for deferred reporting of syntax errors More...
 
void error (Column_parse_context *pc, const POS &pos, const char *msg) const
 syntax_error() function replacement for deferred reporting of syntax errors More...
 
void errorf (Column_parse_context *pc, const POS &pos, const char *format,...) const
 syntax_error() function replacement for deferred reporting of syntax errors More...
 

Private Attributes

const bool m_enforced
 

Additional Inherited Members

- Public Types inherited from PT_column_attr_base
typedef decltype(Alter_info::flagsalter_info_flags_t
 
- Public Types inherited from Parse_tree_node_tmpl< Column_parse_context >
typedef Column_parse_context context_t
 
- Static Public Member Functions inherited from Parse_tree_node_tmpl< Column_parse_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 Parse_tree_node_tmpl< Column_parse_context >
POS m_pos
 
- Protected Member Functions inherited from PT_column_attr_base
 PT_column_attr_base (const POS &pos)
 
- Protected Member Functions inherited from Parse_tree_node_tmpl< Column_parse_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 (Column_parse_context *pc)
 Do all context-sensitive things and mark the node as contextualized. More...
 
virtual void add_json_info (Json_object *json_obj)
 Add all the node-specific json fields. More...
 

Detailed Description

Node for the [NOT] ENFORCED column attribute.

Constructor & Destructor Documentation

◆ PT_constraint_enforcement_attr()

PT_constraint_enforcement_attr::PT_constraint_enforcement_attr ( const POS pos,
bool  enforced 
)
inlineexplicit

Member Function Documentation

◆ has_constraint_enforcement()

bool PT_constraint_enforcement_attr::has_constraint_enforcement ( ) const
inlineoverridevirtual

Check for the [NOT] ENFORCED characteristic.

Returns
true if the [NOT] ENFORCED follows the CHECK(...) clause, false otherwise.

Reimplemented from PT_column_attr_base.

◆ is_constraint_enforced()

bool PT_constraint_enforcement_attr::is_constraint_enforced ( ) const
inlineoverridevirtual

Check if constraint is enforced.

Method must be called only when has_constraint_enforcement() is true (i.e when [NOT] ENFORCED follows the CHECK(...) clause).

Returns
true if constraint is enforced. false otherwise.

Reimplemented from PT_column_attr_base.

Member Data Documentation

◆ m_enforced

const bool PT_constraint_enforcement_attr::m_enforced
private

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