MySQL 9.1.0
Source Code Documentation
Row_meta Struct Reference

Row metadata. More...

#include <bulk_data_service.h>

Public Types

enum class  Key_type { INT_SIGNED_ASC , INT , ANY }
 Key type for fast comparison. More...
 

Public Member Functions

const Column_metaget_column_meta (size_t col_index) const
 Get the meta data of the column. More...
 

Public Attributes

std::vector< Column_metam_columns
 All columns in a row are arranged with key columns first. More...
 
std::vector< const Column_meta * > m_columns_text_order
 All columns in a row arranged as per col_index. More...
 
size_t m_bitmap_length = 0
 Total bitmap header length for the row. More...
 
size_t m_header_length = 0
 Total header length. More...
 
size_t m_first_key_len = 0
 Length of the first key column. More...
 
size_t m_key_length = 0
 Key length in bytes for non-integer keys. More...
 
uint32_t m_keys = 0
 Number of columns used in primary key. More...
 
uint32_t m_non_keys = 0
 Number of columns not used in primary Key. More...
 
Key_type m_key_type = Key_type::ANY
 Key type for comparison. More...
 
uint32_t m_num_columns = 0
 Total number of columns. More...
 
size_t m_approx_row_len = 0
 Approximate row length. More...
 
size_t m_n_blob_cols {0}
 Number of columns that can be stored externally. More...
 

Detailed Description

Row metadata.

Member Enumeration Documentation

◆ Key_type

enum class Row_meta::Key_type
strong

Key type for fast comparison.

Enumerator
INT_SIGNED_ASC 
INT 
ANY 

Member Function Documentation

◆ get_column_meta()

const Column_meta & Row_meta::get_column_meta ( size_t  col_index) const
inline

Get the meta data of the column.

Parameters
[in]col_indexthe index of the column as it appears in CSV file.
Returns
a reference to the column meta data.

Member Data Documentation

◆ m_approx_row_len

size_t Row_meta::m_approx_row_len = 0

Approximate row length.

◆ m_bitmap_length

size_t Row_meta::m_bitmap_length = 0

Total bitmap header length for the row.

◆ m_columns

std::vector<Column_meta> Row_meta::m_columns

All columns in a row are arranged with key columns first.

◆ m_columns_text_order

std::vector<const Column_meta *> Row_meta::m_columns_text_order

All columns in a row arranged as per col_index.

◆ m_first_key_len

size_t Row_meta::m_first_key_len = 0

Length of the first key column.

Helps to get the row pointer from first key data pointer.

◆ m_header_length

size_t Row_meta::m_header_length = 0

Total header length.

◆ m_key_length

size_t Row_meta::m_key_length = 0

Key length in bytes for non-integer keys.

This is required to estimate the space required to save keys.

◆ m_key_type

Key_type Row_meta::m_key_type = Key_type::ANY

Key type for comparison.

◆ m_keys

uint32_t Row_meta::m_keys = 0

Number of columns used in primary key.

◆ m_n_blob_cols

size_t Row_meta::m_n_blob_cols {0}

Number of columns that can be stored externally.

◆ m_non_keys

uint32_t Row_meta::m_non_keys = 0

Number of columns not used in primary Key.

◆ m_num_columns

uint32_t Row_meta::m_num_columns = 0

Total number of columns.

A key could be on a column prefix. m_columns <= m_keys + m_non_keys


The documentation for this struct was generated from the following file: