23#ifndef CS_REPLICATED_COLUMNS_VIEW_UTILS_H
24#define CS_REPLICATED_COLUMNS_VIEW_UTILS_H
53 static std::unique_ptr<ReplicatedColumnsView>
56 std::unique_ptr<ReplicatedColumnsView> column_view;
58 bool source_has_gipk =
60 bool replica_has_gipk =
63 if (!replica_has_gipk && source_has_gipk)
64 column_view = std::unique_ptr<cs::util::ReplicatedColumnsView>{
67 column_view = std::unique_ptr<cs::util::ReplicatedColumnsView>{
70 column_view->add_filter_if_needed(
71 *thd,
table, tabledef,
73 column_view->add_filter_if_needed(
74 *thd,
table, tabledef,
89 static std::unique_ptr<ReplicatedColumnsView>
91 auto column_view = std::unique_ptr<cs::util::ReplicatedColumnsView>{
94 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:33
This class allows the creation of different types of column view instances and also adds different fi...
Definition: replicated_columns_view_factory.h:38
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:90
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:54
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:51
Since it's not mandatory that all fields in a TABLE object are replicated, this class extends Table_c...
Definition: replicated_columns_view.h:53
A table definition from the master.
Definition: rpl_utility.h:247
bool is_gipk_present_on_source_table() const
Checks if the table contains a GIPK.
Definition: rpl_utility.cc:787
static PFS_engine_table_share_proxy table
Definition: pfs.cc:60
Definition: commit_order_queue.h:33
bool table_has_generated_invisible_primary_key(TABLE *table)
Check if table has a generated invisible primary key.
Definition: sql_gipk.cc:495