24#ifndef CS_REPLICATED_COLUMNS_VIEW_UTILS_H
25#define CS_REPLICATED_COLUMNS_VIEW_UTILS_H
54 static std::unique_ptr<ReplicatedColumnsView>
57 std::unique_ptr<ReplicatedColumnsView> column_view;
59 bool source_has_gipk =
61 bool replica_has_gipk =
64 if (!replica_has_gipk && source_has_gipk)
65 column_view = std::unique_ptr<cs::util::ReplicatedColumnsView>{
68 column_view = std::unique_ptr<cs::util::ReplicatedColumnsView>{
71 column_view->add_filter_if_needed(
72 *thd,
table, tabledef,
74 column_view->add_filter_if_needed(
75 *thd,
table, tabledef,
90 static std::unique_ptr<ReplicatedColumnsView>
92 auto column_view = std::unique_ptr<cs::util::ReplicatedColumnsView>{
95 column_view->add_filter_if_needed(
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:36
This class allows the creation of different types of column view instances and also adds different fi...
Definition: replicated_columns_view_factory.h:39
static std::unique_ptr< ReplicatedColumnsView > get_columns_view_with_outbound_filters(THD *thd, TABLE *table)
This function returns the appropriate class to iterate over the given table columns.
Definition: replicated_columns_view_factory.h:91
static std::unique_ptr< ReplicatedColumnsView > get_columns_view_with_inbound_filters(THD *thd, TABLE *table, table_def const *tabledef)
This function returns the appropriate class to iterate over the given table columns.
Definition: replicated_columns_view_factory.h:55
Class used when we want a column view over a table in a context where the replicated table contains a...
Definition: replicated_columns_view_with_gipk_on_source.h:52
Since it's not mandatory that all fields in a TABLE object are replicated, this class extends Table_c...
Definition: replicated_columns_view.h:54
A table definition from the master.
Definition: rpl_utility.h:249
bool is_gipk_present_on_source_table() const
Checks if the table contains a GIPK.
Definition: rpl_utility.cc:806
static PFS_engine_table_share_proxy table
Definition: pfs.cc:61
Definition: commit_order_queue.h:34
bool table_has_generated_invisible_primary_key(const TABLE *table)
Check if table has a generated invisible primary key.
Definition: sql_gipk.cc:496