MySQL 8.0.39
Source Code Documentation
pack_rows.cc File Reference
#include "sql/pack_rows.h"
#include <assert.h>
#include <sys/types.h>
#include "mysql_com.h"
#include "sql/join_optimizer/bit_utils.h"
#include "sql/join_optimizer/join_optimizer.h"
#include "sql/sql_executor.h"
#include "sql/sql_optimizer.h"
#include "sql_string.h"

Namespaces

namespace  pack_rows
 

Functions

static size_t pack_rows::CalculateColumnStorageSize (const Column &column)
 
size_t pack_rows::ComputeRowSizeUpperBound (const TableCollection &tables)
 Count up how many bytes a single row from the given tables will occupy, in "packed" format. More...
 
bool pack_rows::StoreFromTableBuffers (const TableCollection &tables, String *buffer)
 Take the data marked for reading in "tables" and store it in the provided buffer. More...
 
const ucharpack_rows::LoadIntoTableBuffers (const TableCollection &tables, const uchar *ptr)
 Take the data in "ptr" and put it back to the tables' record buffers. More...
 
void pack_rows::RequestRowId (const Prealloced_array< pack_rows::Table, 4 > &tables, table_map tables_to_get_rowid_for)
 For each of the given tables, request that the row ID is filled in (the equivalent of calling file->position()) if needed. More...
 
void pack_rows::PrepareForRequestRowId (const Prealloced_array< Table, 4 > &tables, table_map tables_to_get_rowid_for)