41#if defined(MYSQL_SERVER)
176 uint
const source_column_count,
uchar const *
const row_data,
178 uchar const **
const row_image_end_p,
179 uchar const *
const event_end,
181 bool event_has_value_options,
bool only_seek);
202 const uchar *raw_data,
MY_BITMAP const *column_image,
size_t column_count,
204 bool replica_has_gipk);
213template <
typename T,
typename UT>
263 void set(
bool set_to_on) {
267 if (bit_within_byte == 0)
293 return (
m_ptr[
byte] & (1 << bit_within_byte)) != 0;
Auxiliary class to read or write a stream of bits to a memory location.
Definition: rpl_record.h:279
bool get()
Read the next bit and move the read position one bit forward.
Definition: rpl_record.h:289
Bit_reader(const uchar *ptr)
Definition: rpl_record.h:283
Bit_reader(const char *ptr=nullptr)
Definition: rpl_record.h:281
Template base class of Bit_reader / Bit_writer.
Definition: rpl_record.h:214
T * m_ptr
Pointer to beginning of buffer where bits are read or written.
Definition: rpl_record.h:217
uint m_current_bit
Current position in buffer.
Definition: rpl_record.h:219
uint tell() const
Definition: rpl_record.h:240
void set_ptr(UT *ptr)
Set the buffer pointer, using an unsigned datatype.
Definition: rpl_record.h:237
void set_ptr(T *ptr)
Set the buffer pointer.
Definition: rpl_record.h:232
void dbug_print(const char *str) const
Print all the bits before the current position to the debug trace.
Definition: rpl_record.cc:61
Bit_stream_base(T *ptr)
Construct a new Bit_stream (either reader or writer).
Definition: rpl_record.h:226
Auxiliary class to write a stream of bits to a memory location.
Definition: rpl_record.h:254
void set(bool set_to_on)
Write the next bit and move the write position one bit forward.
Definition: rpl_record.h:263
Bit_writer(uchar *ptr)
Definition: rpl_record.h:257
Bit_writer(char *ptr=nullptr)
Definition: rpl_record.h:256
Definition: rpl_rli.h:202
A table definition from the master.
Definition: rpl_utility.h:247
unsigned char byte
Blob class.
Definition: common.h:150
Some integer typedefs for easier portability.
unsigned long long int ulonglong
Definition: my_inttypes.h:55
unsigned char uchar
Definition: my_inttypes.h:51
std::string str(const mysqlrouter::ConfigGenerator::Options::Endpoint &ep)
Definition: config_generator.cc:1085
static PFS_engine_table_share_proxy table
Definition: pfs.cc:60
enum_row_image_type
Definition: rpl_record.h:39
const uchar * translate_beginning_of_raw_data(const uchar *raw_data, MY_BITMAP const *column_image, size_t column_count, Bit_reader &null_bits, table_def *tabledef, bool source_has_gipk, bool replica_has_gipk)
Return a pointer within a row event's row data, to the data of the first column that exists on the re...
Definition: rpl_record.cc:780
bool unpack_row(Relay_log_info const *rli, TABLE *table, uint const source_column_count, uchar const *const row_data, MY_BITMAP const *column_image, uchar const **const row_image_end_p, uchar const *const event_end, enum_row_image_type row_image_type, bool event_has_value_options, bool only_seek)
Unpack a row image (either before-image or after-image) into table->record[0].
Definition: rpl_record.cc:447
int prepare_record(TABLE *const table, const MY_BITMAP *cols, const bool check)
Fills table->record[0] with default values.
Definition: rpl_record.cc:810
size_t pack_row(TABLE *table, MY_BITMAP const *cols, uchar *row_data, const uchar *data, enum_row_image_type row_image_type, ulonglong value_options=0)
Pack a record of data for a table into a format suitable for the binary log.
Definition: rpl_record.cc:269
Definition: my_bitmap.h:42