169    const ulint *offsets,      
 
  178    const ulint *offsets,      
 
  221                                          const ulint *offsets);
 
  460                                   bool check, 
bool selected)
 
Kerberos Client Authentication nullptr
Definition: auth_kerberos_client_plugin.cc:251
 
The index tree general types.
 
bool test(size_t pos) const
Test if the specified bit is set or not.
Definition: ut0bitset.h:197
 
The subclass of the multi-value row builder, for INSERT cases.
Definition: row0row.h:519
 
dfield_t * find_multi_value_field() override
Find the multi-value field from the passed entry in or row.
Definition: row0row.h:531
 
Multi_value_entry_builder_insert(dict_index_t *index, dtuple_t *entry)
Constructor.
Definition: row0row.h:524
 
The subclass of the multi-value entry builder, for non-INSERT cases, With this class,...
Definition: row0row.h:444
 
const row_ext_t * m_ext
Externally stored column prefixes, or nullptr.
Definition: row0row.h:507
 
dfield_t * find_multi_value_field() override
Find the multi-value field from the passed in entry or row.
Definition: row0row.cc:1158
 
const dtuple_t * m_row
Based on which complete row to build the index row.
Definition: row0row.h:504
 
void prepare_entry_if_necessary() override
Prepare the entry when the entry is not passed in.
Definition: row0row.h:474
 
mem_heap_t * m_heap
Memory heap.
Definition: row0row.h:510
 
uint32_t skip() override
Skip the not selected values and stop m_pos at the next selected one.
Definition: row0row.h:488
 
Multi_value_entry_builder_normal(const dtuple_t *row, const row_ext_t *ext, dict_index_t *index, mem_heap_t *heap, bool check, bool selected)
Constructor.
Definition: row0row.h:458
 
const bool m_check
True if dfield type should be checked, otherwise false.
Definition: row0row.h:513
 
Class to build a series of entries based on one multi-value field.
Definition: row0row.h:318
 
virtual dfield_t * find_multi_value_field()=0
Find the multi-value field from the passed in entry or row.
 
dtuple_t * begin(uint32_t pos=0)
Get the first index entry.
Definition: row0row.h:338
 
uint32_t last_multi_value_position() const
Get the position of last generated multi-value data.
Definition: row0row.h:375
 
const multi_value_data * m_mv_data
Multi-value data.
Definition: row0row.h:435
 
dtuple_t * m_entry
Entry built for the index.
Definition: row0row.h:429
 
const bool m_selected
True if only the selected(bitmap set) multi-value data would be used to build the entries,...
Definition: row0row.h:426
 
dtuple_t * next()
Get next index entry based on next multi-value data.
Definition: row0row.h:353
 
virtual ~Multi_value_entry_builder()=default
 
Multi_value_entry_builder(dict_index_t *index, dtuple_t *entry, bool selected)
Constructor.
Definition: row0row.h:321
 
dict_index_t * m_index
Based on which index to build the entry.
Definition: row0row.h:422
 
uint32_t m_pos
Multi-value data position.
Definition: row0row.h:432
 
virtual bool prepare_multi_value_field()
Prepare the corresponding multi-value field from the row.
Definition: row0row.h:389
 
virtual uint32_t skip()
Skip the not selected values and stop m_pos at the next selected one.
Definition: row0row.h:414
 
uint32_t m_mv_field_no
Field number of multi-value data on the index.
Definition: row0row.h:438
 
virtual void prepare_entry_if_necessary()
Prepare the entry when the entry is not passed in.
Definition: row0row.h:409
 
constexpr DWORD buf_size
Definition: create_def.cc:229
 
SQL data field and tuple.
 
static void dfield_set_data(dfield_t *field, const void *data, ulint len)
Sets pointer to the data and length in a field.
 
static dfield_t * dtuple_get_nth_field(const dtuple_t *tuple, ulint n)
Gets nth field of a tuple.
 
static bool dfield_is_multi_value(const dfield_t *field)
Determine if a field is of multi-value type.
 
static ulint dfield_is_null(const dfield_t *field)
Determines if a field is SQL NULL.
 
Data dictionary global types.
 
static int flag
Definition: hp_test1.cc:40
 
static PFS_engine_table_share_proxy table
Definition: pfs.cc:61
 
Definition: buf0block_hint.cc:30
 
PT & ref(PT *tp)
Definition: tablespace_impl.cc:359
 
Json_data_extension ext
Definition: backend.cc:52
 
mode
Definition: file_handle.h:61
 
std::map< Key, Value, Compare, ut::allocator< std::pair< const Key, Value > > > map
Specialization of map which uses ut_allocator.
Definition: ut0new.h:2897
 
Query graph global types.
 
Record manager global types.
 
byte rec_t
Definition: rem0types.h:41
 
required string type
Definition: replication_group_member_actions.proto:34
 
static dtuple_t * row_build_index_entry(const dtuple_t *row, const row_ext_t *ext, const dict_index_t *index, mem_heap_t *heap)
When an insert or purge to a table is performed, this function builds the entry to be inserted into o...
 
dtuple_t * row_build_row_ref(ulint type, const dict_index_t *index, const rec_t *rec, mem_heap_t *heap)
Builds from a secondary index record a row reference with which we can search the clustered index rec...
Definition: row0row.cc:662
 
static roll_ptr_t row_get_rec_roll_ptr(const rec_t *rec, const dict_index_t *index, const ulint *offsets)
Reads the roll pointer field from a clustered index record.
 
dtuple_t * row_build_w_add_vcol(ulint type, const dict_index_t *index, const rec_t *rec, const ulint *offsets, const dict_table_t *col_table, const dtuple_t *add_cols, const dict_add_v_col_t *add_v, const ulint *col_map, row_ext_t **ext, mem_heap_t *heap)
An inverse function to row_build_index_entry.
Definition: row0row.cc:555
 
constexpr uint32_t ROW_BUILD_NORMAL
build index row
Definition: row0row.h:71
 
bool row_search_on_row_ref(btr_pcur_t *pcur, ulint mode, dict_table_t *table, const dtuple_t *ref, mtr_t *mtr)
Searches the clustered index record for a row, if we have the row reference.
Definition: row0row.cc:836
 
constexpr uint32_t ROW_BUILD_FOR_INSERT
build row for insert.
Definition: row0row.h:77
 
dtuple_t * row_rec_to_index_entry_low(const rec_t *rec, const dict_index_t *index, const ulint *offsets, mem_heap_t *heap)
Converts an index record to a typed data tuple.
Definition: row0row.cc:569
 
uint64_t row_parse_int(const byte *data, ulint len, ulint mtype, bool unsigned_type)
Parse the integer data from specified data, which could be DATA_INT, DATA_FLOAT or DATA_DOUBLE.
Definition: row0row.ic:149
 
ulint row_raw_format(const char *data, ulint data_len, const dict_field_t *dict_field, char *buf, ulint buf_size)
Formats the raw data in "data" (in InnoDB on-disk format) using "dict_field" and writes the result to...
Definition: row0row.cc:1089
 
dtuple_t * row_rec_to_index_entry(const rec_t *rec, const dict_index_t *index, const ulint *offsets, mem_heap_t *heap)
Converts an index record to a typed data tuple.
Definition: row0row.cc:628
 
dtuple_t * row_build(ulint type, const dict_index_t *index, const rec_t *rec, const ulint *offsets, const dict_table_t *col_table, const dtuple_t *add_cols, const ulint *col_map, row_ext_t **ext, mem_heap_t *heap)
An inverse function to row_build_index_entry.
Definition: row0row.cc:524
 
constexpr uint32_t ROW_COPY_POINTERS
Definition: row0row.h:293
 
static trx_id_t row_get_rec_trx_id(const rec_t *rec, const dict_index_t *index, const ulint *offsets)
Reads the trx id field from a clustered index record.
 
dtuple_t * row_build_index_entry_low(const dtuple_t *row, const row_ext_t *ext, const dict_index_t *index, mem_heap_t *heap, ulint flag)
When an insert or purge to a table is performed, this function builds the entry to be inserted into o...
Definition: row0row.cc:59
 
uint64_t row_parse_int_from_field(const dfield_t *field)
Parse the integer data from specified field, which could be DATA_INT, DATA_FLOAT or DATA_DOUBLE.
Definition: row0row.cc:914
 
void row_build_row_ref_in_tuple(dtuple_t *ref, const rec_t *rec, const dict_index_t *index, ulint *offsets)
Builds from a secondary index record a row reference with which we can search the clustered index rec...
Definition: row0row.cc:761
 
rec_t * row_get_clust_rec(ulint mode, const rec_t *rec, const dict_index_t *index, dict_index_t **clust_index, mtr_t *mtr)
Fetches the clustered index record for a secondary index record.
Definition: row0row.cc:873
 
enum row_search_result row_search_index_entry(dict_index_t *index, const dtuple_t *entry, ulint mode, btr_pcur_t *pcur, mtr_t *mtr)
Searches an index record.
Definition: row0row.cc:940
 
constexpr uint32_t ROW_BUILD_FOR_PURGE
build row for purge.
Definition: row0row.h:73
 
row_search_result
Result of row_search_index_entry.
Definition: row0row.h:270
 
@ ROW_NOT_DELETED_REF
BTR_DELETE was specified, and row_purge_poss_sec() failed.
Definition: row0row.h:278
 
@ ROW_NOT_FOUND
record not found
Definition: row0row.h:272
 
@ ROW_FOUND
the record was found
Definition: row0row.h:271
 
@ ROW_BUFFERED
one of BTR_INSERT, BTR_DELETE, or BTR_DELETE_MARK was specified, the secondary index leaf page was no...
Definition: row0row.h:273
 
static void row_build_row_ref_fast(dtuple_t *ref, const ulint *map, const rec_t *rec, const ulint *offsets)
Builds from a secondary index record a row reference with which we can search the clustered index rec...
 
constexpr uint32_t ROW_BUILD_FOR_UNDO
build row for undo.
Definition: row0row.h:75
 
uint64_t row_get_autoinc_counter(const dtuple_t *row, ulint n)
Read the autoinc counter from the clustered index row.
Definition: row0row.cc:932
 
constexpr uint32_t ROW_COPY_DATA
Definition: row0row.h:292
 
static ulint row_get_trx_id_offset(const dict_index_t *index, const ulint *offsets)
Gets the offset of the DB_TRX_ID field, in bytes relative to the origin of a clustered index record.
 
Row operation global types.
 
Definition: completion_hash.h:35
 
Definition: btr0pcur.h:99
 
Structure for an SQL data field.
Definition: data0data.h:617
 
unsigned len
data length; UNIV_SQL_NULL if SQL null
Definition: data0data.h:623
 
void * data
pointer to data
Definition: data0data.h:618
 
Data structure for newly added virtual column in a table.
Definition: dict0mem.h:835
 
Data structure for a field in an index.
Definition: dict0mem.h:895
 
Data structure for an index.
Definition: dict0mem.h:1046
 
Data structure for a database table.
Definition: dict0mem.h:1918
 
Structure for an SQL data tuple of fields (logical record)
Definition: data0data.h:694
 
uint16_t n_fields
Number of fields in dtuple.
Definition: data0data.h:700
 
dfield_t * fields
Fields.
Definition: data0data.h:708
 
The info structure stored at the beginning of a heap block.
Definition: mem0mem.h:302
 
Mini-transaction handle and buffer.
Definition: mtr0mtr.h:177
 
Structure to hold number of multiple values.
Definition: data0data.h:384
 
const void ** datap
points to different value
Definition: data0data.h:387
 
uint32_t num_v
number of values
Definition: data0data.h:396
 
Bitset * bitset
Bitset to indicate which data should be handled for current data array.
Definition: data0data.h:408
 
uint32_t * data_len
each individual value length
Definition: data0data.h:390
 
Prefixes of externally stored columns.
Definition: row0ext.h:95
 
Transaction system global type definitions.
 
ib_id_t trx_id_t
Transaction identifier (DB_TRX_ID, DATA_TRX_ID)
Definition: trx0types.h:138
 
ib_id_t roll_ptr_t
Rollback pointer (DB_ROLL_PTR, DATA_ROLL_PTR)
Definition: trx0types.h:140
 
Version control for database, common definitions, and include files.
 
constexpr auto UNIV_NO_INDEX_VALUE
The following number as the length of a logical field means that no attribute value for the multi-val...
Definition: univ.i:470
 
unsigned long int ulint
Definition: univ.i:406
 
#define ut_ad(EXPR)
Debug assertion.
Definition: ut0dbg.h:105
 
int n
Definition: xcom_base.cc:509