1#ifndef SQL_ITERATORS_HASH_JOIN_CHUNK_H_
2#define SQL_ITERATORS_HASH_JOIN_CHUNK_H_
88 bool uses_match_flags =
false);
118 size_t file_set_no = std::numeric_limits<size_t>::max());
139 size_t *file_set_no =
nullptr);
Definition: hash_join_chunk.h:67
bool ContinueRead()
Switch from writing to reading, saving current write position in m_last_write_pos.
Definition: hash_join_chunk.cc:114
IO_CACHE m_file
Definition: hash_join_chunk.h:165
ha_rows NumRows() const
Definition: hash_join_chunk.h:91
bool SetAppend()
Switch from reading to writing, saving current read position m_last_read_pos.
Definition: hash_join_chunk.cc:101
bool Init(const pack_rows::TableCollection &tables, bool uses_match_flags=false)
Initialize this HashJoinChunk.
Definition: hash_join_chunk.cc:71
ha_rows m_num_rows
Definition: hash_join_chunk.h:162
size_t m_last_read_pos
Definition: hash_join_chunk.h:172
pack_rows::TableCollection m_tables
Definition: hash_join_chunk.h:159
bool m_uses_match_flags
Definition: hash_join_chunk.h:168
HashJoinChunk & operator=(HashJoinChunk &&other)
Definition: hash_join_chunk.cc:52
bool Rewind()
Flush the file buffer, and prepare the file for reading.
Definition: hash_join_chunk.cc:83
bool LoadRowFromChunk(String *buffer, bool *matched, size_t *file_set_no=nullptr)
Read a row from the HashJoinChunk and put it in the record buffer.
Definition: hash_join_chunk.cc:169
~HashJoinChunk()
Definition: hash_join_chunk.cc:69
bool WriteRowToChunk(String *buffer, bool matched, size_t file_set_no=std::numeric_limits< size_t >::max())
Write a row to the HashJoinChunk.
Definition: hash_join_chunk.cc:128
size_t m_last_write_pos
Definition: hash_join_chunk.h:171
HashJoinChunk(const HashJoinChunk &obj)=delete
void SetNumRows(ha_rows no)
Set the number of rows we currently care about in this chunk.
Definition: hash_join_chunk.h:97
Using this class is fraught with peril, and you need to be very careful when doing so.
Definition: sql_string.h:167
A structure that contains a list of input tables for a hash join operation, BKA join operation or a s...
Definition: pack_rows.h:93
This file includes constants used by all storage engines.
my_off_t ha_rows
Definition: my_base.h:1141
Common header for many mysys elements.
mutable_buffer buffer(void *p, size_t n) noexcept
Definition: buffer.h:418
Generic routines for packing rows (possibly from multiple tables at the same time) into strings,...