Skip to content

Commit

Permalink
rpl: repack table_def
Browse files Browse the repository at this point in the history
1. Change m_size to uint. This removes some implicit conversions.
  See unpack_row, for instance:
  uint max_cols= MY_MIN(tabledef->size(), cols->n_bits);
2. Improve table_def memory layout by reordering columns
  • Loading branch information
FooBarrior authored and vuvova committed Aug 15, 2023
1 parent af83d06 commit f5e5013
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 5 deletions.
4 changes: 2 additions & 2 deletions sql/rpl_utility.cc
Original file line number Diff line number Diff line change
Expand Up @@ -176,8 +176,8 @@ PSI_memory_key key_memory_table_def_memory;
table_def::table_def(unsigned char *types, ulong size,
uchar *field_metadata, int metadata_size,
uchar *null_bitmap, uint16 flags)
: m_size(size), m_type(0), m_field_metadata_size(metadata_size),
m_field_metadata(0), m_null_bits(0), m_flags(flags),
: m_type(0), m_size(size), m_field_metadata_size(metadata_size),
m_field_metadata(0), m_flags(flags), m_null_bits(0),
m_memory(NULL)
{
m_memory= (uchar *)my_multi_malloc(key_memory_table_def_memory, MYF(MY_WME),
Expand Down
6 changes: 3 additions & 3 deletions sql/rpl_utility.h
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ class table_def
@return The number of fields that there is type data for.
*/
ulong size() const { return m_size; }
uint size() const { return m_size; }


/**
Expand Down Expand Up @@ -221,12 +221,12 @@ class table_def


private:
ulong m_size; // Number of elements in the types array
unsigned char *m_type; // Array of type descriptors
uint m_size; // Number of elements in the types array
uint m_field_metadata_size;
uint16 *m_field_metadata;
uchar *m_null_bits;
uint16 m_flags; // Table flags
uchar *m_null_bits;
uchar *m_memory;
};

Expand Down

0 comments on commit f5e5013

Please sign in to comment.