rpl: repack table_def

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
This commit is contained in:
Nikita Malyavin
2021-12-13 05:35:22 +03:00
committed by Sergei Golubchik
parent af83d06d68
commit f5e5013799
2 changed files with 5 additions and 5 deletions

View File

@ -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),

View File

@ -63,7 +63,7 @@ public:
@return The number of fields that there is type data for.
*/
ulong size() const { return m_size; }
uint size() const { return m_size; }
/**
@ -221,12 +221,12 @@ public:
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;
};