24#ifndef DD__COLUMN_IMPL_INCLUDED 
   25#define DD__COLUMN_IMPL_INCLUDED 
   51class Abstract_table_impl;
 
   53class Open_dictionary_tables_ctx;
 
Definition: abstract_table_impl.h:58
 
Abstract base class for tables and views.
Definition: abstract_table.h:69
 
Definition: collection.h:44
 
size_t size() const
Definition: collection.h:229
 
Definition: column_impl.h:62
 
void set_generation_expression(const String_type &generation_expression) override
Definition: column_impl.h:298
 
std::optional< gis::srid_t > srs_id() const override
Definition: column_impl.h:425
 
bool is_numeric_scale_null() const override
Definition: column_impl.h:211
 
size_t elements_count() const override
Definition: column_impl.h:451
 
void set_default_option(const String_type &default_option) override
Definition: column_impl.h:332
 
static Column_impl * restore_item(Abstract_table_impl *table)
Definition: column_impl.h:480
 
Abstract_table_impl * m_table
Definition: column_impl.h:536
 
enum_column_key column_key() const override
Definition: column_impl.h:416
 
bool set_options(const String_type &options_raw) override
Definition: column_impl.h:370
 
bool is_default_value_utf8_null() const override
Definition: column_impl.h:277
 
const Properties & se_private_data() const override
Definition: column_impl.h:378
 
const String_type & column_type_utf8() const override
Definition: column_impl.h:443
 
bool is_unsigned() const override
Definition: column_impl.h:154
 
bool is_persistent() const override
Is dictionary object persistent in dictionary tables ?
Definition: column_impl.h:459
 
void set_column_type_utf8(const String_type &column_type_utf8) override
Definition: column_impl.h:447
 
size_t char_length() const override
Definition: column_impl.h:180
 
String_type m_update_option
Definition: column_impl.h:521
 
void set_has_no_default(bool has_no_default) override
Definition: column_impl.h:238
 
bool m_is_unsigned
Definition: column_impl.h:500
 
bool set_se_private_data(const String_type &se_private_data_raw) override
Definition: column_impl.h:388
 
void set_generation_expression_utf8(const String_type &generation_expression_utf8) override
Definition: column_impl.h:315
 
const String_type & generation_expression() const override
Definition: column_impl.h:294
 
bool m_is_nullable
Definition: column_impl.h:498
 
bool m_is_zerofill
Definition: column_impl.h:499
 
std::optional< gis::srid_t > m_srs_id
Definition: column_impl.h:549
 
Column_type_element * add_element() override
Definition: column_impl.cc:504
 
void set_name(const String_type &name) override
Definition: column_impl.h:465
 
const Properties & options() const override
Definition: column_impl.h:366
 
const String_type & name() const override
Definition: column_impl.h:462
 
bool is_datetime_precision_null() const override
Definition: column_impl.h:228
 
bool is_generation_expression_utf8_null() const override
Definition: column_impl.h:320
 
uint m_numeric_scale
Definition: column_impl.h:508
 
bool is_explicit_collation() const override
Definition: column_impl.h:130
 
void set_datetime_precision_null(bool is_null) override
Definition: column_impl.h:224
 
Properties & options() override
Definition: column_impl.h:368
 
bool is_auto_increment() const override
Definition: column_impl.h:164
 
bool validate() const override
Definition: column_impl.cc:137
 
const Entity_object_impl * impl() const override
Definition: column_impl.h:455
 
String_type m_default_value_utf8
Definition: column_impl.h:518
 
Object_id id() const override
The unique dictionary object id.
Definition: column_impl.h:458
 
enum_column_types m_type
Definition: column_impl.h:496
 
uint numeric_scale() const override
Definition: column_impl.h:200
 
Entity_object_impl * impl() override
Definition: column_impl.h:454
 
String_type m_column_type_utf8
Definition: column_impl.h:540
 
void set_hidden(enum_hidden_type hidden) override
Definition: column_impl.h:360
 
void set_default_value_utf8(const String_type &default_value_utf8) override
Definition: column_impl.h:267
 
bool store_children(Open_dictionary_tables_ctx *otx) override
Definition: column_impl.cc:178
 
void set_numeric_scale(uint numeric_scale) override
Definition: column_impl.h:202
 
String_type m_secondary_engine_attribute
Definition: column_impl.h:532
 
void set_srs_id(std::optional< gis::srid_t > srs_id) override
Definition: column_impl.h:421
 
void set_engine_attribute(LEX_CSTRING a) override
Definition: column_impl.h:396
 
bool m_numeric_scale_null
Definition: column_impl.h:509
 
Properties & se_private_data() override
Definition: column_impl.h:382
 
bool store_attributes(Raw_record *r) override
Definition: column_impl.cc:260
 
String_type m_generation_expression
Definition: column_impl.h:524
 
Column_impl()
Definition: column_impl.cc:75
 
Object_id collation_id() const override
Definition: column_impl.h:120
 
const String_type & default_option() const override
Definition: column_impl.h:328
 
Properties_impl m_se_private_data
Definition: column_impl.h:528
 
void set_numeric_precision(uint numeric_precision) override
Definition: column_impl.h:192
 
void set_type(enum_column_types type) override
Definition: column_impl.h:114
 
void set_comment(const String_type &comment) override
Definition: column_impl.h:352
 
uint numeric_precision() const override
Definition: column_impl.h:190
 
bool is_zerofill() const override
Definition: column_impl.h:146
 
uint ordinal_position() const override
Definition: column_impl.h:174
 
Properties_impl m_options
Definition: column_impl.h:527
 
bool deserialize(Sdi_rcontext *rctx, const RJ_Value &val) override
Re-establishes the state of *this by reading sdi information from the rapidjson DOM subobject provide...
Definition: column_impl.cc:387
 
bool m_is_explicit_collation
Definition: column_impl.h:545
 
void set_column_key(enum_column_key column_key) override
Definition: column_impl.h:412
 
void set_default_value_null(bool is_null) override
Definition: column_impl.h:253
 
const String_type & update_option() const override
Definition: column_impl.h:340
 
enum_column_key m_column_key
Definition: column_impl.h:547
 
void set_auto_increment(bool auto_increment) override
Definition: column_impl.h:166
 
uint m_datetime_precision
Definition: column_impl.h:510
 
Column_impl * clone(Abstract_table_impl *parent) const
Definition: column_impl.h:489
 
bool m_has_no_default
Definition: column_impl.h:513
 
bool m_is_virtual
Definition: column_impl.h:502
 
LEX_CSTRING secondary_engine_attribute() const override
Definition: column_impl.h:400
 
bool drop_children(Open_dictionary_tables_ctx *otx) const override
Definition: column_impl.cc:184
 
void set_unsigned(bool unsigned_flag) override
Definition: column_impl.h:156
 
const String_type & default_value_utf8() const override
Definition: column_impl.h:263
 
void set_update_option(const String_type &update_option) override
Definition: column_impl.h:342
 
String_type m_default_value
Definition: column_impl.h:516
 
const String_type & comment() const override
Definition: column_impl.h:350
 
LEX_CSTRING engine_attribute() const override
Definition: column_impl.h:392
 
void set_zerofill(bool zerofill) override
Definition: column_impl.h:148
 
bool restore_attributes(const Raw_record &r) override
Definition: column_impl.cc:195
 
uint m_datetime_precision_null
Definition: column_impl.h:511
 
String_type m_generation_expression_utf8
Definition: column_impl.h:525
 
bool m_default_value_utf8_null
Definition: column_impl.h:517
 
const Column_type_element_collection & elements() const override
Definition: column_impl.h:433
 
bool has_no_default() const override
Definition: column_impl.h:236
 
size_t m_char_length
Definition: column_impl.h:506
 
void set_ordinal_position(uint ordinal_position)
Definition: column_impl.h:95
 
void set_secondary_engine_attribute(LEX_CSTRING a) override
Definition: column_impl.h:404
 
uint m_numeric_precision
Definition: column_impl.h:507
 
bool is_nullable() const override
Definition: column_impl.h:138
 
void serialize(Sdi_wcontext *wctx, Sdi_writer *w) const override
Converts *this into json.
Definition: column_impl.cc:335
 
void set_nullable(bool nullable) override
Definition: column_impl.h:140
 
Column_type_element_collection m_elements
Definition: column_impl.h:538
 
String_type m_comment
Definition: column_impl.h:522
 
const String_type & default_value() const override
Definition: column_impl.h:246
 
enum_hidden_type hidden() const override
Definition: column_impl.h:358
 
void set_numeric_scale_null(bool is_null) override
Definition: column_impl.h:207
 
void set_is_explicit_collation(bool is_explicit_collation) override
Definition: column_impl.h:126
 
bool is_virtual() const override
Definition: column_impl.h:286
 
void set_default_value_utf8_null(bool is_null) override
Definition: column_impl.h:272
 
bool m_is_auto_increment
Definition: column_impl.h:501
 
static Column_impl * clone(const Column_impl &other, Abstract_table_impl *table)
Definition: column_impl.h:484
 
const Abstract_table & table() const override
Definition: column_impl.cc:131
 
static void register_tables(Open_dictionary_tables_ctx *otx)
Definition: column_impl.cc:564
 
String_type m_engine_attribute
Definition: column_impl.h:531
 
void set_collation_id(Object_id collation_id) override
Definition: column_impl.h:122
 
void set_virtual(bool is_virtual) override
Definition: column_impl.h:288
 
bool restore_children(Open_dictionary_tables_ctx *otx) override
Definition: column_impl.cc:163
 
enum_hidden_type m_hidden
Definition: column_impl.h:503
 
void set_datetime_precision(uint datetime_precision) override
Definition: column_impl.h:219
 
bool set_se_private_data(const Properties &se_private_data) override
Definition: column_impl.h:384
 
const String_type & generation_expression_utf8() const override
Definition: column_impl.h:311
 
uint datetime_precision() const override
Definition: column_impl.h:217
 
bool is_generation_expression_null() const override
Definition: column_impl.h:303
 
String_type m_default_option
Definition: column_impl.h:520
 
uint m_ordinal_position
Definition: column_impl.h:505
 
bool is_array() const override
Definition: column_impl.h:469
 
const Object_table & object_table() const override
Definition: column_impl.cc:558
 
void debug_print(String_type &outb) const override
Definition: column_impl.cc:443
 
bool m_default_value_null
Definition: column_impl.h:515
 
enum_column_types type() const override
Definition: column_impl.h:112
 
void set_char_length(size_t char_length) override
Definition: column_impl.h:182
 
void set_default_value(const String_type &default_value) override
Definition: column_impl.h:248
 
bool is_default_value_null() const override
Definition: column_impl.h:257
 
Object_id m_collation_id
Definition: column_impl.h:544
 
Definition: column_type_element.h:44
 
enum_hidden_type
Definition: column.h:96
 
enum_column_key
Definition: column.h:94
 
Definition: entity_object_impl.h:44
 
void set_name(const String_type &name) override
Definition: entity_object_impl.h:62
 
Object_id id() const override
The unique dictionary object id.
Definition: entity_object_impl.h:49
 
const String_type & name() const override
Definition: entity_object_impl.h:60
 
Entity_object_impl * impl() override
Definition: entity_object_impl.h:68
 
bool is_persistent() const override
Is dictionary object persistent in dictionary tables ?
Definition: entity_object_impl.h:57
 
This class represents all data dictionary table like mysql.tables, mysql.columns and more.
Definition: object_table.h:72
 
Auxiliary class for opening dictionary tables.
Definition: transaction_impl.h:77
 
The Properties_impl class implements the Properties interface.
Definition: properties_impl.h:77
 
bool insert_values(const Properties &properties) override
Insert key/value pairs from a different property object.
Definition: properties_impl.cc:104
 
The Properties class defines an interface for storing key=value pairs, where both key and value may b...
Definition: properties.h:74
 
Definition: raw_record.h:46
 
Opaque context which keeps reusable resoureces needed during deserialization.
Definition: sdi.cc:231
 
Opaque context which keeps reusable resources needed during serialization.
Definition: sdi.cc:129
 
constexpr value_type zerofill
Definition: classic_protocol_constants.h:274
 
constexpr value_type auto_increment
Definition: classic_protocol_constants.h:277
 
The version of the current data dictionary table definitions.
Definition: dictionary_client.h:43
 
RJ_Writer Sdi_writer
Alias for the rapidjson Writer type to use in serialization.
Definition: sdi_fwd.h:64
 
unsigned long long Object_id
Definition: object_id.h:31
 
enum_column_types
Definition: column.h:53
 
rapidjson::GenericValue< RJ_Encoding, RJ_Allocator > RJ_Value
Definition: sdi_fwd.h:49
 
Char_string_template< String_type_allocator > String_type
Definition: string_type.h:51
 
static mysql_service_status_t get(THD **thd) noexcept
Definition: mysql_current_thread_reader_all_empty.cc:31
 
bool is_null(poly_thread thread, poly_value value)
Definition: jit_executor_type_conversion.cc:46
 
static int exists(node_address *name, node_list const *nodes, u_int with_uid)
Definition: node_list.cc:107
 
const mysql_service_registry_t * r
Definition: pfs_example_plugin_employee.cc:86
 
This header provides Rapidjson Type Aliases.
 
MYSQL_LEX_CSTRING lex_cstring_handle(const STDSTRINGLIKE_TYPE &s)
Return a LEX_CSTRING handle to a std::string like (meaning something which has the c_str() and length...
Definition: strfunc.h:77
 
Definition: mysql_lex_string.h:40
 
const char * str
Definition: mysql_lex_string.h:41
 
size_t length
Definition: mysql_lex_string.h:42