MySQL 8.4.0
Source Code Documentation
dd::Column Class Referenceabstract

#include <column.h>

Inheritance diagram for dd::Column:
[legend]

Public Types

enum  enum_column_key { CK_NONE = 1 , CK_PRIMARY , CK_UNIQUE , CK_MULTIPLE }
 
enum class  enum_hidden_type { HT_VISIBLE = 1 , HT_HIDDEN_SE = 2 , HT_HIDDEN_SQL = 3 , HT_HIDDEN_USER = 4 }
 
typedef Collection< Column_type_element * > Column_type_element_collection
 
typedef Column_impl Impl
 
typedef tables::Columns DD_table
 

Public Member Functions

 ~Column () override=default
 
virtual const Abstract_tabletable () const =0
 
virtual Abstract_tabletable ()=0
 
virtual Object_id collation_id () const =0
 
virtual void set_collation_id (Object_id collation_id)=0
 
virtual void set_is_explicit_collation (bool is_explicit_collation)=0
 
virtual bool is_explicit_collation () const =0
 
virtual enum_column_types type () const =0
 
virtual void set_type (enum_column_types type)=0
 
virtual bool is_nullable () const =0
 
virtual void set_nullable (bool nullable)=0
 
virtual bool is_zerofill () const =0
 
virtual void set_zerofill (bool zerofill)=0
 
virtual bool is_unsigned () const =0
 
virtual void set_unsigned (bool unsigned_flag)=0
 
virtual bool is_auto_increment () const =0
 
virtual void set_auto_increment (bool auto_increment)=0
 
virtual uint ordinal_position () const =0
 
virtual size_t char_length () const =0
 
virtual void set_char_length (size_t char_length)=0
 
virtual uint numeric_precision () const =0
 
virtual void set_numeric_precision (uint numeric_precision)=0
 
virtual void set_srs_id (std::optional< gis::srid_t > srs_id)=0
 
virtual std::optional< gis::srid_tsrs_id () const =0
 
virtual uint numeric_scale () const =0
 
virtual void set_numeric_scale (uint numeric_scale)=0
 
virtual void set_numeric_scale_null (bool is_null)=0
 
virtual bool is_numeric_scale_null () const =0
 
virtual uint datetime_precision () const =0
 
virtual void set_datetime_precision (uint datetime_precision)=0
 
virtual void set_datetime_precision_null (bool is_null)=0
 
virtual bool is_datetime_precision_null () const =0
 
virtual bool has_no_default () const =0
 
virtual void set_has_no_default (bool has_explicit_default)=0
 
virtual const String_typedefault_value () const =0
 
virtual void set_default_value (const String_type &default_value)=0
 
virtual void set_default_value_null (bool is_null)=0
 
virtual bool is_default_value_null () const =0
 
virtual const String_typedefault_value_utf8 () const =0
 
virtual void set_default_value_utf8 (const String_type &default_value_utf8)=0
 
virtual void set_default_value_utf8_null (bool is_null)=0
 
virtual bool is_default_value_utf8_null () const =0
 
virtual bool is_virtual () const =0
 
virtual void set_virtual (bool is_virtual)=0
 
virtual const String_typegeneration_expression () const =0
 
virtual void set_generation_expression (const String_type &generation_expression)=0
 
virtual bool is_generation_expression_null () const =0
 
virtual const String_typegeneration_expression_utf8 () const =0
 
virtual void set_generation_expression_utf8 (const String_type &generation_expression_utf8)=0
 
virtual bool is_generation_expression_utf8_null () const =0
 
virtual const String_typedefault_option () const =0
 
virtual void set_default_option (const String_type &default_option)=0
 
virtual const String_typeupdate_option () const =0
 
virtual void set_update_option (const String_type &update_option)=0
 
virtual const String_typecomment () const =0
 
virtual void set_comment (const String_type &comment)=0
 
virtual enum_hidden_type hidden () const =0
 
virtual void set_hidden (enum_hidden_type hidden)=0
 
bool is_se_hidden () const
 
virtual const Propertiesoptions () const =0
 
virtual Propertiesoptions ()=0
 
virtual bool set_options (const String_type &options_raw)=0
 
virtual const Propertiesse_private_data () const =0
 
virtual Propertiesse_private_data ()=0
 
virtual bool set_se_private_data (const Properties &se_private_data)=0
 
virtual bool set_se_private_data (const String_type &se_private_data_raw)=0
 
virtual LEX_CSTRING engine_attribute () const =0
 
virtual void set_engine_attribute (LEX_CSTRING attrs)=0
 
virtual LEX_CSTRING secondary_engine_attribute () const =0
 
virtual void set_secondary_engine_attribute (LEX_CSTRING attrs)=0
 
virtual void set_column_key (enum_column_key column_key)=0
 
virtual enum_column_key column_key () const =0
 
virtual const String_typecolumn_type_utf8 () const =0
 
virtual void set_column_type_utf8 (const String_type &column_type_utf8)=0
 
virtual Column_type_elementadd_element ()=0
 
virtual const Column_type_element_collectionelements () const =0
 
virtual size_t elements_count () const =0
 
virtual void serialize (Sdi_wcontext *wctx, Sdi_writer *w) const =0
 Converts *this into json. More...
 
virtual bool deserialize (Sdi_rcontext *rctx, const RJ_Value &val)=0
 Re-establishes the state of *this by reading sdi information from the rapidjson DOM subobject provided. More...
 
virtual bool is_array () const =0
 
- Public Member Functions inherited from dd::Entity_object
virtual Object_id id () const =0
 The unique dictionary object id. More...
 
virtual bool is_persistent () const =0
 Is dictionary object persistent in dictionary tables ? More...
 
virtual const String_typename () const =0
 
virtual void set_name (const String_type &name)=0
 
- Public Member Functions inherited from dd::Weak_object
virtual void debug_print (String_type &outb) const =0
 
 Weak_object ()=default
 
 Weak_object (const Weak_object &)=default
 
virtual ~Weak_object ()=default
 

Member Typedef Documentation

◆ Column_type_element_collection

◆ DD_table

◆ Impl

Member Enumeration Documentation

◆ enum_column_key

Enumerator
CK_NONE 
CK_PRIMARY 
CK_UNIQUE 
CK_MULTIPLE 

◆ enum_hidden_type

enum class dd::Column::enum_hidden_type
strong
Enumerator
HT_VISIBLE 

The column is visible (a normal column)

HT_HIDDEN_SE 

The column is completely invisible to the server.

HT_HIDDEN_SQL 

The column is visible to the server, but hidden from the user.

This is used for i.e. implementing functional indexes.

HT_HIDDEN_USER 

User table column marked as INVISIBLE by using the column visibility attribute.

Column is hidden from the user unless it is explicitly referenced in the statement. Column is visible to the server.

Constructor & Destructor Documentation

◆ ~Column()

dd::Column::~Column ( )
overridedefault

Member Function Documentation

◆ add_element()

virtual Column_type_element * dd::Column::add_element ( )
pure virtual

Implemented in dd::Column_impl.

◆ char_length()

virtual size_t dd::Column::char_length ( ) const
pure virtual

Implemented in dd::Column_impl.

◆ collation_id()

virtual Object_id dd::Column::collation_id ( ) const
pure virtual

Implemented in dd::Column_impl.

◆ column_key()

virtual enum_column_key dd::Column::column_key ( ) const
pure virtual

Implemented in dd::Column_impl.

◆ column_type_utf8()

virtual const String_type & dd::Column::column_type_utf8 ( ) const
pure virtual

Implemented in dd::Column_impl.

◆ comment()

virtual const String_type & dd::Column::comment ( ) const
pure virtual

Implemented in dd::Column_impl.

◆ datetime_precision()

virtual uint dd::Column::datetime_precision ( ) const
pure virtual

Implemented in dd::Column_impl.

◆ default_option()

virtual const String_type & dd::Column::default_option ( ) const
pure virtual

Implemented in dd::Column_impl.

◆ default_value()

virtual const String_type & dd::Column::default_value ( ) const
pure virtual

Implemented in dd::Column_impl.

◆ default_value_utf8()

virtual const String_type & dd::Column::default_value_utf8 ( ) const
pure virtual

Implemented in dd::Column_impl.

◆ deserialize()

virtual bool dd::Column::deserialize ( Sdi_rcontext rctx,
const RJ_Value val 
)
pure virtual

Re-establishes the state of *this by reading sdi information from the rapidjson DOM subobject provided.

Cross-references encountered within this object are tracked in sdictx, so that they can be updated when the entire object graph has been established.

Parameters
rctxstores book-keeping information for the deserialization process
valsubobject of rapidjson DOM containing json representation of this object

Implemented in dd::Column_impl.

◆ elements()

virtual const Column_type_element_collection & dd::Column::elements ( ) const
pure virtual

Implemented in dd::Column_impl.

◆ elements_count()

virtual size_t dd::Column::elements_count ( ) const
pure virtual

Implemented in dd::Column_impl.

◆ engine_attribute()

virtual LEX_CSTRING dd::Column::engine_attribute ( ) const
pure virtual

Implemented in dd::Column_impl.

◆ generation_expression()

virtual const String_type & dd::Column::generation_expression ( ) const
pure virtual

Implemented in dd::Column_impl.

◆ generation_expression_utf8()

virtual const String_type & dd::Column::generation_expression_utf8 ( ) const
pure virtual

Implemented in dd::Column_impl.

◆ has_no_default()

virtual bool dd::Column::has_no_default ( ) const
pure virtual

Implemented in dd::Column_impl.

◆ hidden()

virtual enum_hidden_type dd::Column::hidden ( ) const
pure virtual

Implemented in dd::Column_impl.

◆ is_array()

virtual bool dd::Column::is_array ( ) const
pure virtual

Implemented in dd::Column_impl.

◆ is_auto_increment()

virtual bool dd::Column::is_auto_increment ( ) const
pure virtual

Implemented in dd::Column_impl.

◆ is_datetime_precision_null()

virtual bool dd::Column::is_datetime_precision_null ( ) const
pure virtual

Implemented in dd::Column_impl.

◆ is_default_value_null()

virtual bool dd::Column::is_default_value_null ( ) const
pure virtual

Implemented in dd::Column_impl.

◆ is_default_value_utf8_null()

virtual bool dd::Column::is_default_value_utf8_null ( ) const
pure virtual

Implemented in dd::Column_impl.

◆ is_explicit_collation()

virtual bool dd::Column::is_explicit_collation ( ) const
pure virtual

Implemented in dd::Column_impl.

◆ is_generation_expression_null()

virtual bool dd::Column::is_generation_expression_null ( ) const
pure virtual

Implemented in dd::Column_impl.

◆ is_generation_expression_utf8_null()

virtual bool dd::Column::is_generation_expression_utf8_null ( ) const
pure virtual

Implemented in dd::Column_impl.

◆ is_nullable()

virtual bool dd::Column::is_nullable ( ) const
pure virtual

Implemented in dd::Column_impl.

◆ is_numeric_scale_null()

virtual bool dd::Column::is_numeric_scale_null ( ) const
pure virtual

Implemented in dd::Column_impl.

◆ is_se_hidden()

bool dd::Column::is_se_hidden ( ) const
inline

◆ is_unsigned()

virtual bool dd::Column::is_unsigned ( ) const
pure virtual

Implemented in dd::Column_impl.

◆ is_virtual()

virtual bool dd::Column::is_virtual ( ) const
pure virtual

Implemented in dd::Column_impl.

◆ is_zerofill()

virtual bool dd::Column::is_zerofill ( ) const
pure virtual

Implemented in dd::Column_impl.

◆ numeric_precision()

virtual uint dd::Column::numeric_precision ( ) const
pure virtual

Implemented in dd::Column_impl.

◆ numeric_scale()

virtual uint dd::Column::numeric_scale ( ) const
pure virtual

Implemented in dd::Column_impl.

◆ options() [1/2]

virtual const Properties & dd::Column::options ( ) const
pure virtual

Implemented in dd::Column_impl.

◆ options() [2/2]

virtual Properties & dd::Column::options ( )
pure virtual

Implemented in dd::Column_impl.

◆ ordinal_position()

virtual uint dd::Column::ordinal_position ( ) const
pure virtual

Implemented in dd::Column_impl.

◆ se_private_data() [1/2]

virtual const Properties & dd::Column::se_private_data ( ) const
pure virtual

Implemented in dd::Column_impl.

◆ se_private_data() [2/2]

virtual Properties & dd::Column::se_private_data ( )
pure virtual

Implemented in dd::Column_impl.

◆ secondary_engine_attribute()

virtual LEX_CSTRING dd::Column::secondary_engine_attribute ( ) const
pure virtual

Implemented in dd::Column_impl.

◆ serialize()

virtual void dd::Column::serialize ( Sdi_wcontext wctx,
Sdi_writer w 
) const
pure virtual

Converts *this into json.

Converts all member variables that are to be included in the sdi into json by transforming them appropriately and passing them to the rapidjson writer provided.

Parameters
wctxopaque context for data needed by serialization
wrapidjson writer which will perform conversion to json

Implemented in dd::Column_impl.

◆ set_auto_increment()

virtual void dd::Column::set_auto_increment ( bool  auto_increment)
pure virtual

Implemented in dd::Column_impl.

◆ set_char_length()

virtual void dd::Column::set_char_length ( size_t  char_length)
pure virtual

Implemented in dd::Column_impl.

◆ set_collation_id()

virtual void dd::Column::set_collation_id ( Object_id  collation_id)
pure virtual

Implemented in dd::Column_impl.

◆ set_column_key()

virtual void dd::Column::set_column_key ( enum_column_key  column_key)
pure virtual

Implemented in dd::Column_impl.

◆ set_column_type_utf8()

virtual void dd::Column::set_column_type_utf8 ( const String_type column_type_utf8)
pure virtual

Implemented in dd::Column_impl.

◆ set_comment()

virtual void dd::Column::set_comment ( const String_type comment)
pure virtual

Implemented in dd::Column_impl.

◆ set_datetime_precision()

virtual void dd::Column::set_datetime_precision ( uint  datetime_precision)
pure virtual

Implemented in dd::Column_impl.

◆ set_datetime_precision_null()

virtual void dd::Column::set_datetime_precision_null ( bool  is_null)
pure virtual

Implemented in dd::Column_impl.

◆ set_default_option()

virtual void dd::Column::set_default_option ( const String_type default_option)
pure virtual

Implemented in dd::Column_impl.

◆ set_default_value()

virtual void dd::Column::set_default_value ( const String_type default_value)
pure virtual

Implemented in dd::Column_impl.

◆ set_default_value_null()

virtual void dd::Column::set_default_value_null ( bool  is_null)
pure virtual

Implemented in dd::Column_impl.

◆ set_default_value_utf8()

virtual void dd::Column::set_default_value_utf8 ( const String_type default_value_utf8)
pure virtual

Implemented in dd::Column_impl.

◆ set_default_value_utf8_null()

virtual void dd::Column::set_default_value_utf8_null ( bool  is_null)
pure virtual

Implemented in dd::Column_impl.

◆ set_engine_attribute()

virtual void dd::Column::set_engine_attribute ( LEX_CSTRING  attrs)
pure virtual

Implemented in dd::Column_impl.

◆ set_generation_expression()

virtual void dd::Column::set_generation_expression ( const String_type generation_expression)
pure virtual

Implemented in dd::Column_impl.

◆ set_generation_expression_utf8()

virtual void dd::Column::set_generation_expression_utf8 ( const String_type generation_expression_utf8)
pure virtual

Implemented in dd::Column_impl.

◆ set_has_no_default()

virtual void dd::Column::set_has_no_default ( bool  has_explicit_default)
pure virtual

Implemented in dd::Column_impl.

◆ set_hidden()

virtual void dd::Column::set_hidden ( enum_hidden_type  hidden)
pure virtual

Implemented in dd::Column_impl.

◆ set_is_explicit_collation()

virtual void dd::Column::set_is_explicit_collation ( bool  is_explicit_collation)
pure virtual

Implemented in dd::Column_impl.

◆ set_nullable()

virtual void dd::Column::set_nullable ( bool  nullable)
pure virtual

Implemented in dd::Column_impl.

◆ set_numeric_precision()

virtual void dd::Column::set_numeric_precision ( uint  numeric_precision)
pure virtual

Implemented in dd::Column_impl.

◆ set_numeric_scale()

virtual void dd::Column::set_numeric_scale ( uint  numeric_scale)
pure virtual

Implemented in dd::Column_impl.

◆ set_numeric_scale_null()

virtual void dd::Column::set_numeric_scale_null ( bool  is_null)
pure virtual

Implemented in dd::Column_impl.

◆ set_options()

virtual bool dd::Column::set_options ( const String_type options_raw)
pure virtual

Implemented in dd::Column_impl.

◆ set_se_private_data() [1/2]

virtual bool dd::Column::set_se_private_data ( const Properties se_private_data)
pure virtual

Implemented in dd::Column_impl.

◆ set_se_private_data() [2/2]

virtual bool dd::Column::set_se_private_data ( const String_type se_private_data_raw)
pure virtual

Implemented in dd::Column_impl.

◆ set_secondary_engine_attribute()

virtual void dd::Column::set_secondary_engine_attribute ( LEX_CSTRING  attrs)
pure virtual

Implemented in dd::Column_impl.

◆ set_srs_id()

virtual void dd::Column::set_srs_id ( std::optional< gis::srid_t srs_id)
pure virtual

Implemented in dd::Column_impl.

◆ set_type()

virtual void dd::Column::set_type ( enum_column_types  type)
pure virtual

Implemented in dd::Column_impl.

◆ set_unsigned()

virtual void dd::Column::set_unsigned ( bool  unsigned_flag)
pure virtual

Implemented in dd::Column_impl.

◆ set_update_option()

virtual void dd::Column::set_update_option ( const String_type update_option)
pure virtual

Implemented in dd::Column_impl.

◆ set_virtual()

virtual void dd::Column::set_virtual ( bool  is_virtual)
pure virtual

Implemented in dd::Column_impl.

◆ set_zerofill()

virtual void dd::Column::set_zerofill ( bool  zerofill)
pure virtual

Implemented in dd::Column_impl.

◆ srs_id()

virtual std::optional< gis::srid_t > dd::Column::srs_id ( ) const
pure virtual

Implemented in dd::Column_impl.

◆ table() [1/2]

virtual const Abstract_table & dd::Column::table ( ) const
pure virtual

Implemented in dd::Column_impl.

◆ table() [2/2]

virtual Abstract_table & dd::Column::table ( )
pure virtual

Implemented in dd::Column_impl.

◆ type()

virtual enum_column_types dd::Column::type ( ) const
pure virtual

Implemented in dd::Column_impl.

◆ update_option()

virtual const String_type & dd::Column::update_option ( ) const
pure virtual

Implemented in dd::Column_impl.


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