177    const byte *mysql_data, 
 
  275#ifndef UNIV_HOTBACKUP 
  289    MY_ATTRIBUTE((nonnull));
 
  330    const ulint *field_lengths, 
 
  363    const char *op_info); 
 
  416                                                 const char *new_name,
 
  427    trx_t *
trx, std::vector<dict_index_t *> &indexes, 
size_t max_threads,
 
  443                                               bool check_keys, 
ulint *n_rows);
 
uint32_t space_id_t
Tablespace identifier.
Definition: api0api.h:48
 
The index tree persistent cursor.
 
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:36
 
The class defining a handle to an InnoDB table.
Definition: ha_innodb.h:87
 
The handler class is the interface for dynamically loadable storage engines.
Definition: handler.h:4741
 
Definition: sess0sess.h:71
 
void dtuple_set_n_fields(dtuple_t *tuple, ulint n_fields)
Sets number of fields used in a tuple.
Definition: data0data.cc:97
 
SQL data field and tuple.
 
constexpr uint32_t DATA_ROW_ID_LEN
stored length for row id
Definition: data0type.h:179
 
Global error codes for the database.
 
dberr_t
Definition: db0err.h:39
 
void dict_index_copy_types(dtuple_t *tuple, const dict_index_t *index, ulint n_fields)
Copies types of fields contained in index to tuple.
Definition: dict0dict.cc:2953
 
Data dictionary global types.
 
Full text search header file.
 
uint64_t doc_id_t
Document id type.
Definition: fts0fts.h:76
 
Prototypes for global functions in ha_innodb.cc that are called by InnoDB C code.
 
Undo logging small changes to BLOBs.
 
The transaction lock system global types.
 
select_mode
Definition: lock0types.h:47
 
lock_mode
Definition: lock0types.h:54
 
Header for compiler-dependent features.
 
Some integer typedefs for easier portability.
 
unsigned long long int ulonglong
Definition: my_inttypes.h:56
 
static const char * filepath
Definition: myisamlog.cc:97
 
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
 
The version of the current data dictionary table definitions.
Definition: dictionary_client.h:43
 
bool index(const std::string &value, const String &search_for, uint32_t *idx)
Definition: contains.h:76
 
entry::Table Table
Definition: select.h:51
 
ValueType value(const std::optional< ValueType > &v)
Definition: gtid.h:83
 
mode
Definition: file_handle.h:61
 
Query graph global types.
 
Record manager global types.
 
byte rec_t
Definition: rem0types.h:41
 
constexpr uint32_t ROW_MYSQL_NO_TEMPLATE
Definition: row0mysql.h:980
 
dberr_t row_drop_table_for_mysql(const char *name, trx_t *trx, bool nonatomic, dict_table_t *handler=nullptr)
Drop a table for MySQL.
Definition: row0mysql.cc:3734
 
void innobase_rename_vc_templ(dict_table_t *table)
Change dbname and table name in table->vc_templ.
Definition: ha_innodb.cc:23871
 
constexpr uint32_t ROW_PREBUILT_ALLOCATED
Definition: row0mysql.h:509
 
constexpr uint32_t ROW_READ_WITH_LOCKS
Definition: row0mysql.h:989
 
dberr_t row_mysql_lock_table(trx_t *trx, dict_table_t *table, enum lock_mode mode, const char *op_info)
Sets an exclusive lock on a table.
Definition: row0mysql.cc:3570
 
constexpr uint32_t ROW_PREBUILT_FETCH_MAGIC_N
Definition: row0mysql.h:976
 
void row_mysql_store_blob_ref(byte *dest, ulint col_len, const void *data, ulint len)
Stores a reference to a BLOB in the MySQL format.
Definition: row0mysql.cc:213
 
byte * row_mysql_store_col_in_innobase_format(dfield_t *dfield, byte *buf, bool row_format_col, const byte *mysql_data, ulint col_len, ulint comp)
Stores a non-SQL-NULL field given in the MySQL format in the InnoDB format.
Definition: row0mysql.cc:376
 
dfield_t * innobase_get_computed_value(const dtuple_t *row, const dict_v_col_t *col, const dict_table_t *table, mem_heap_t **local_heap, mem_heap_t *heap, THD *thd, TABLE *mysql_table, const dict_field_t *ifield=nullptr, const dict_table_t *old_table=nullptr, upd_t *row_update=nullptr)
Get the computed value by supplying the base column values.
Definition: ha_innodb.cc:24055
 
constexpr uint32_t ROW_RETRIEVE_PRIMARY_KEY
Definition: row0mysql.h:985
 
dberr_t row_create_index_for_mysql(dict_index_t *index, trx_t *trx, const ulint *field_lengths, dict_table_t *handler)
Does an index creation operation for MySQL.
Definition: row0mysql.cc:2867
 
void row_mysql_store_geometry(byte *dest, ulint dest_len, const byte *src, ulint src_len)
Converts InnoDB geometry data format to MySQL data format.
Definition: row0mysql.cc:246
 
const byte * row_mysql_read_true_varchar(ulint *len, const byte *field, ulint lenlen)
Reads a >= 5.0.3 format true VARCHAR length, in the MySQL row format, and returns a pointer to the da...
Definition: row0mysql.cc:186
 
dberr_t row_mysql_parallel_select_count_star(trx_t *trx, std::vector< dict_index_t * > &indexes, size_t max_threads, ulint *n_rows)
Read the total number of records in a consistent view.
Definition: row0mysql.cc:4340
 
constexpr uint32_t ROW_MYSQL_DUMMY_TEMPLATE
dummy template used in row_scan_and_check_index
Definition: row0mysql.h:982
 
void innobase_get_multi_value(const TABLE *mysql_table, ulint f_idx, dfield_t *dfield, multi_value_data *value, uint old_val, ulint comp, mem_heap_t *heap)
Parse out multi-values from a MySQL record.
Definition: ha_innodb.cc:9266
 
dberr_t row_scan_index_for_mysql(row_prebuilt_t *prebuilt, dict_index_t *index, size_t n_threads, bool check_keys, ulint *n_rows)
Scans an index for either COUNT(*) or CHECK TABLE.
Definition: row0mysql.cc:4538
 
const byte * row_mysql_read_blob_ref(ulint *len, const byte *ref, ulint col_len)
Reads a reference to a BLOB in the MySQL format.
Definition: row0mysql.cc:234
 
dberr_t row_create_table_for_mysql(dict_table_t *&table, const char *compression, const HA_CREATE_INFO *create_info, trx_t *trx, mem_heap_t *heap)
Creates a table for MySQL.
Definition: row0mysql.cc:2717
 
dberr_t row_update_cascade_for_mysql(que_thr_t *thr, upd_node_t *node, dict_table_t *table)
Does a cascaded delete or set null in a foreign key operation.
Definition: row0mysql.cc:2562
 
void row_mysql_unlock_data_dictionary(trx_t *trx)
Unlocks the data dictionary exclusive lock.
Definition: row0mysql.cc:2704
 
constexpr uint32_t ROW_PREBUILT_FREED
Definition: row0mysql.h:510
 
void row_wait_for_background_drop_list_empty()
Wait for the background drop list to become empty.
Definition: row0mysql.cc:128
 
void row_mysql_unfreeze_data_dictionary(trx_t *trx)
Unlocks the data dictionary shared lock.
Definition: row0mysql.cc:2677
 
constexpr uint32_t MYSQL_FETCH_CACHE_SIZE
Definition: row0mysql.h:505
 
dberr_t row_discard_tablespace_for_mysql(const char *name, trx_t *trx)
Discards the tablespace of a table which stored in an .ibd file.
Definition: row0mysql.cc:3515
 
dberr_t row_table_load_foreign_constraints(trx_t *trx, const char *name, const dd::Table *dd_table)
Loads foreign key constraints for the table being created.
Definition: row0mysql.cc:3029
 
dberr_t row_update_for_mysql(const byte *mysql_rec, row_prebuilt_t *prebuilt)
Does an update or delete of a row for MySQL.
Definition: row0mysql.cc:2436
 
dfield_t * innobase_compute_stored_gcol(const dtuple_t *row, const dict_s_col_t &col, const dict_table_t *table, mem_heap_t *heap, THD *thd, TABLE *mysql_table)
This is similar to the function innobase_get_computed_value(), but for stored generated columns (gcol...
Definition: ha_innodb.cc:23932
 
void row_mysql_prebuilt_free_blob_heap(row_prebuilt_t *prebuilt)
Frees the blob heap in prebuilt when no longer needed.
Definition: row0mysql.cc:147
 
row_prebuilt_t * row_create_prebuilt(dict_table_t *table, ulint mysql_row_len)
Create a prebuilt struct for a MySQL table handle.
Definition: row0mysql.cc:781
 
dberr_t row_drop_database_for_mysql(const char *name, trx_t *trx, ulint *found)
Drop a database for MySQL.
 
dberr_t row_lock_table_autoinc_for_mysql(row_prebuilt_t *prebuilt)
Sets an AUTO_INC type lock on the table mentioned in prebuilt.
Definition: row0mysql.cc:1139
 
constexpr uint32_t ROW_MYSQL_WHOLE_ROW
Definition: row0mysql.h:978
 
ulint row_drop_tables_for_mysql_in_background(void)
The master thread in srv0srv.cc calls this regularly to drop tables which we must drop in background ...
Definition: row0mysql.cc:3134
 
constexpr uint32_t ROW_READ_DID_SEMI_CONSISTENT
Definition: row0mysql.h:991
 
byte * row_mysql_store_true_var_len(byte *dest, ulint len, ulint lenlen)
Stores a >= 5.0.3 format true VARCHAR length to dest, in the MySQL row format.
Definition: row0mysql.cc:161
 
upd_t * row_get_prebuilt_update_vector(row_prebuilt_t *prebuilt)
Gets pointer to a prebuilt update vector used in updates.
Definition: row0mysql.cc:1777
 
constexpr uint32_t ROW_RETRIEVE_ALL_COLS
Definition: row0mysql.h:986
 
void row_mysql_freeze_data_dictionary(trx_t *trx, ut::Location location)
Locks the data dictionary in shared mode from modifications, for performing foreign key check,...
Definition: row0mysql.cc:2668
 
void row_mysql_pad_col(ulint mbminlen, byte *pad, ulint len)
Pad a column with spaces.
Definition: row0mysql.cc:339
 
bool row_is_mysql_tmp_table_name(const char *name)
Checks if a table name contains the string "/#sql" which denotes temporary tables in MySQL.
Definition: row0mysql.cc:4122
 
void row_mysql_close(void)
Close this module.
Definition: row0mysql.cc:4745
 
void row_update_prebuilt_trx(row_prebuilt_t *prebuilt, trx_t *trx)
Updates the transaction pointers in query graphs stored in the prebuilt struct.
Definition: row0mysql.cc:999
 
dberr_t row_rename_table_for_mysql(const char *old_name, const char *new_name, const dd::Table *dd_table, trx_t *trx, bool replay)
Renames a table for MySQL.
Definition: row0mysql.cc:4134
 
bool row_mysql_handle_errors(dberr_t *new_err, trx_t *trx, que_thr_t *thr, trx_savept_t *savept)
Handles user errors and lock waits detected by the database engine.
Definition: row0mysql.cc:653
 
void row_prebuilt_free(row_prebuilt_t *prebuilt, bool dict_locked)
Free a prebuilt struct for a MySQL table handle.
Definition: row0mysql.cc:930
 
constexpr uint32_t ROW_MYSQL_REC_FIELDS
Definition: row0mysql.h:979
 
void row_mysql_lock_data_dictionary(trx_t *trx, ut::Location location)
Locks the data dictionary exclusively for performing a table create or other data dictionary modifica...
Definition: row0mysql.cc:2690
 
constexpr uint32_t ROW_READ_TRY_SEMI_CONSISTENT
Definition: row0mysql.h:990
 
bool row_rollback_on_timeout
Provide optional 4.x backwards compatibility for 5.0 and above.
Definition: row0mysql.cc:94
 
void innobase_init_vc_templ(dict_table_t *table)
Get the computed value by supplying the base column values.
Definition: ha_innodb.cc:23837
 
upd_node_t * row_create_update_node_for_mysql(dict_table_t *table, mem_heap_t *heap)
Creates an query graph node of 'update' type to be used in the MySQL interface.
Definition: row0mysql.cc:1732
 
void row_mysql_init(void)
Initialize this module.
Definition: row0mysql.cc:4738
 
bool row_table_got_default_clust_index(const dict_table_t *table)
Checks if a table is such that we automatically created a clustered index on it (on row id).
Definition: row0mysql.cc:2654
 
dberr_t row_lock_table(row_prebuilt_t *prebuilt)
Sets a table lock on the table mentioned in prebuilt.
Definition: row0mysql.cc:1208
 
void row_delete_all_rows(dict_table_t *table)
Delete all rows for the given table by freeing/truncating indexes.
Definition: row0mysql.cc:2449
 
dberr_t row_drop_tablespace(space_id_t space_id, const char *filepath)
Drop a tablespace as part of dropping or renaming a table.
Definition: row0mysql.cc:3697
 
void row_prebuild_sel_graph(row_prebuilt_t *prebuilt)
Builds a dummy query graph used in selects.
Definition: row0mysql.cc:1713
 
constexpr uint32_t MYSQL_FETCH_CACHE_THRESHOLD
Definition: row0mysql.h:507
 
dberr_t row_insert_for_mysql(const byte *mysql_rec, row_prebuilt_t *prebuilt)
Does an insert for MySQL.
Definition: row0mysql.cc:1702
 
Row operation global types.
 
InnoDB session state tracker.
 
Representation of an SQL command.
 
case opt name
Definition: sslopt-case.h:29
 
Struct to hold information about the table that should be created.
Definition: handler.h:3347
 
Callback for row_mysql_sys_index_iterate()
Definition: row0mysql.h:907
 
virtual ~SysIndexCallback()=default
 
virtual void operator()(mtr_t *mtr, btr_pcur_t *pcur) noexcept=0
Callback method.
 
bool has_gcol() const
Definition: table.h:2108
 
Definition: btr0pcur.h:99
 
Structure for an SQL data field.
Definition: data0data.h:617
 
Data structure for a field in an index.
Definition: dict0mem.h:890
 
Data structure for a foreign key constraint; an example: FOREIGN KEY (A, B) REFERENCES TABLE2 (C,...
Definition: dict0mem.h:1670
 
Data structure for an index.
Definition: dict0mem.h:1041
 
unsigned n_fields
number of fields in the index
Definition: dict0mem.h:1101
 
Data structure for a stored column in a table.
Definition: dict0mem.h:842
 
Data structure for a database table.
Definition: dict0mem.h:1922
 
space_id_t space
Space where the clustered index of the table is placed.
Definition: dict0mem.h:2010
 
Data structure for a virtual column in a table.
Definition: dict0mem.h:810
 
Structure for an SQL data tuple of fields (logical record)
Definition: data0data.h:696
 
Definition: row0ins.h:162
 
The list of modifications to be applied on LOBs to get older versions.
Definition: lob0undo.h:146
 
void reset()
Empty the collected LOB undo information from cache.
Definition: lob0undo.h:190
 
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
 
Definition: row0mysql.h:455
 
ulint mysql_null_byte_offset
MySQL NULL bit byte offset in a MySQL record.
Definition: row0mysql.h:475
 
ulint mysql_col_offset
offset of the column in the MySQL row format
Definition: row0mysql.h:470
 
ulint rec_field_no
field number of the column in an Innobase record in the current index; not defined if template_type i...
Definition: row0mysql.h:457
 
ulint is_unsigned
if a column type is an integer type and this field is != 0, then it is an unsigned integer type
Definition: row0mysql.h:497
 
ulint mysql_type
MySQL type code; this is always < 256.
Definition: row0mysql.h:481
 
ulint mbminlen
minimum length of a char, in bytes, or zero if not a char type
Definition: row0mysql.h:493
 
ulint mbmaxlen
maximum length of a char, in bytes, or zero if not a char type
Definition: row0mysql.h:495
 
ulint mysql_length_bytes
if mysql_type == DATA_MYSQL_TRUE_VARCHAR, this tells whether we should use 1 or 2 bytes to store the ...
Definition: row0mysql.h:483
 
ulint mysql_null_bit_mask
bit mask to get the NULL bit, zero if column cannot be NULL
Definition: row0mysql.h:477
 
ulint is_virtual
if a column is a virtual column
Definition: row0mysql.h:500
 
ulint col_no
column number of the column
Definition: row0mysql.h:456
 
ulint is_multi_val
if a column is a Multi-Value Array virtual column
Definition: row0mysql.h:501
 
ulint type
column type in Innobase mtype numbers DATA_CHAR...
Definition: row0mysql.h:479
 
ulint mysql_col_len
length of the column in the MySQL row format
Definition: row0mysql.h:472
 
ulint clust_rec_field_no
field number of the column in an Innobase record in the clustered index; not defined if template_type...
Definition: row0mysql.h:461
 
ulint mysql_mvidx_len
index length on multi-value array
Definition: row0mysql.h:474
 
ulint icp_rec_field_no
field number of the column in an Innobase record in the current index; only defined for columns that ...
Definition: row0mysql.h:465
 
ulint charset
MySQL charset-collation code of the column, or zero.
Definition: row0mysql.h:491
 
Definition: que0que.h:301
 
Definition: que0que.h:242
 
A struct for (sometimes lazily) prebuilt structures in an Innobase table handle used within MySQL; th...
Definition: row0mysql.h:515
 
bool m_read_virtual_key
Return materialized key for secondary index scan.
Definition: row0mysql.h:807
 
trx_id_t trx_id
The table->def_trx_id when ins_graph was built.
Definition: row0mysql.h:621
 
unsigned used_in_HANDLER
true if we have been using this handle in a MySQL HANDLER low level index cursor command: then we mus...
Definition: row0mysql.h:545
 
byte * srch_key_val2
buffer used in converting search key values from MySQL format to InnoDB format.
Definition: row0mysql.h:793
 
upd_node_t * upd_node
Innobase SQL update node used to perform updates and deletes.
Definition: row0mysql.h:619
 
unsigned sql_stat_start
true when we start processing of an SQL statement: we may have to set an intention lock on the table,...
Definition: row0mysql.h:526
 
row_prebuilt_t(row_prebuilt_t &&)=delete
 
innodb_session_t * session
InnoDB session handler.
Definition: row0mysql.h:789
 
multi_value_data * mv_data
Definition: row0mysql.h:607
 
dict_table_t * table
Innobase table handle.
Definition: row0mysql.h:522
 
const byte * default_rec
the default values of all columns (a "default row") in MySQL format
Definition: row0mysql.h:608
 
ulonglong m_fts_limit
limit value to avoid fts result overflow
Definition: row0mysql.h:828
 
void lob_undo_reset()
Definition: row0mysql.h:838
 
unsigned replace
1 if extra(HA_EXTRA_WRITE_CAN_REPLACE) was requested, which happen when REPLACE is done instead of re...
Definition: row0mysql.h:586
 
size_t new_rec_locks_count() const
Counts how many elements of.
Definition: row0mysql.h:877
 
dtuple_t * search_tuple
prebuilt dtuple used in selects
Definition: row0mysql.h:634
 
ulint hint_need_to_fetch_extra_cols
normally this is set to 0; if this is set to ROW_RETRIEVE_PRIMARY_KEY, then we should at least retrie...
Definition: row0mysql.h:610
 
mysql_row_templ_t * mysql_template
template used to transform rows fast between MySQL and Innobase formats; memory for this template is ...
Definition: row0mysql.h:590
 
ulint mysql_prefix_len
byte offset of the end of the last requested column
Definition: row0mysql.h:690
 
doc_id_t fts_doc_id
Definition: row0mysql.h:652
 
bool keep_other_fields_on_keyread
when using fetch cache with HA_EXTRA_KEYREAD, don't overwrite other fields in mysql row row buffer.
Definition: row0mysql.h:744
 
ulint select_lock_type
LOCK_NONE, LOCK_S, or LOCK_X.
Definition: row0mysql.h:660
 
bool no_autoinc_locking
true, if we were asked to skip AUTOINC locking for the table.
Definition: row0mysql.h:804
 
row_prebuilt_t(row_prebuilt_t const &)=delete
It is unsafe to copy this struct, and we don't need to move it.
 
row_prebuilt_t & operator=(row_prebuilt_t const &)=delete
 
ulonglong autoinc_offset
The offset passed to get_auto_increment() by MySQL.
Definition: row0mysql.h:758
 
void end_stmt()
Inside this function perform activity that needs to be done at the end of statement.
Definition: row0mysql.cc:4808
 
ulint innodb_api_rec_size
Size of the Innodb API record.
Definition: row0mysql.h:777
 
unsigned innodb_api
whether this is a InnoDB API query
Definition: row0mysql.h:772
 
btr_pcur_t * clust_pcur
persistent cursor used in some selects and updates
Definition: row0mysql.h:630
 
unsigned templ_contains_fixed_point
true if the template contains a column with DATA_POINT.
Definition: row0mysql.h:573
 
unsigned null_bitmap_len
number of bytes in the SQL NULL bitmap at the start of a row in the MySQL format
Definition: row0mysql.h:558
 
bool ins_sel_stmt
if true then ins_sel_statement.
Definition: row0mysql.h:787
 
@ LOCK_PCUR
Definition: row0mysql.h:720
 
@ LOCK_COUNT
Definition: row0mysql.h:722
 
@ LOCK_CLUST_PCUR
Definition: row0mysql.h:721
 
mem_heap_t * blob_heap
in SELECTS BLOB fields are copied to this heap
Definition: row0mysql.h:715
 
ins_node_t * ins_node
Innobase SQL insert node used to perform inserts to the table.
Definition: row0mysql.h:600
 
bool m_no_prefetch
Disable prefetch.
Definition: row0mysql.h:798
 
unsigned n_template
number of elements in the template
Definition: row0mysql.h:556
 
bool m_temp_tree_modified
Whether tree modifying operation happened on a temporary (intrinsic) table index tree.
Definition: row0mysql.h:815
 
unsigned on_duplicate_key_update
1 if extra(HA_EXTRA_INSERT_WITH_UPDATE) was requested, which happens when ON DUPLICATE KEY UPDATE cla...
Definition: row0mysql.h:582
 
btr_pcur_t * pcur
persistent cursor used in selects and updates
Definition: row0mysql.h:628
 
ulint n_fetch_cached
number of not yet fetched rows in fetch_cache
Definition: row0mysql.h:713
 
std::bitset< LOCK_COUNT > new_rec_lock
normally false; if session is using READ COMMITTED or READ UNCOMMITTED isolation level,...
Definition: row0mysql.h:743
 
lob::undo_vers_t * get_lob_undo()
Definition: row0mysql.h:836
 
mem_heap_t * cursor_heap
memory heap from which innodb_api_buf is allocated per session
Definition: row0mysql.h:597
 
ulonglong autoinc_increment
The increment step of the auto increment column.
Definition: row0mysql.h:754
 
unsigned templ_contains_blob
true if the template contains a column with DATA_LARGE_MTYPE( get_innobase_type_from_mysql_type()) is...
Definition: row0mysql.h:566
 
ulint idx_cond_n_cols
Number of fields in idx_cond_cols.
Definition: row0mysql.h:769
 
ulint row_read_type
ROW_READ_WITH_LOCKS if row locks should be the obtained for records under an UPDATE or DELETE cursor.
Definition: row0mysql.h:663
 
lob::undo_vers_t m_lob_undo
Undo information for LOB mvcc.
Definition: row0mysql.h:834
 
ha_innobase * m_mysql_handler
The MySQL handler object.
Definition: row0mysql.h:823
 
bool in_fts_query
Whether we are in a FTS query.
Definition: row0mysql.h:748
 
bool no_read_locking
true, if server has called ha_extra(HA_EXTRA_NO_READ_LOCKING)
Definition: row0mysql.h:801
 
mem_heap_t * old_vers_heap
memory heap where a previous version is built in consistent read
Definition: row0mysql.h:717
 
bool skip_concurrency_ticket() const
Definition: row0mysql.cc:4772
 
void try_unlock(bool has_latches_on_recs)
This is an no-op unless trx is using a READ COMMITTED or READ UNCOMMITTED isolation level.
Definition: row0mysql.cc:2482
 
ulint fetch_direction
ROW_SEL_NEXT or ROW_SEL_PREV.
Definition: row0mysql.h:699
 
ulint n_rows_fetched
number of rows fetched after positioning the current cursor
Definition: row0mysql.h:696
 
bool allow_duplicates()
Determines if the query is REPLACE or ON DUPLICATE KEY UPDATE in which case duplicate values should b...
Definition: row0mysql.h:850
 
ulint mysql_row_len
length in bytes of a row in the MySQL format
Definition: row0mysql.h:693
 
byte * srch_key_val1
buffer used in converting search key values from MySQL format to InnoDB format.
Definition: row0mysql.h:790
 
unsigned need_to_access_clustered
if we are fetching columns through a secondary index and at least one column is not in the secondary ...
Definition: row0mysql.h:561
 
que_fork_t * upd_graph
Innobase SQL query graph used in updates or deletes.
Definition: row0mysql.h:626
 
dtuple_t * m_stop_tuple
prebuilt dtuple used in selects where the end of range is known
Definition: row0mysql.h:637
 
bool m_stop_tuple_found
Set to true in row_search_mvcc when a row matching exactly the length and value of stop_tuple was fou...
Definition: row0mysql.h:645
 
byte * fetch_cache[MYSQL_FETCH_CACHE_SIZE]
a cache for fetched rows if we fetch many rows from the same cursor: it saves CPU time to fetch them ...
Definition: row0mysql.h:701
 
dberr_t autoinc_error
The actual error code encountered while trying to init or read the autoinc value from the table.
Definition: row0mysql.h:761
 
bool idx_cond
True if index condition pushdown is used, false otherwise.
Definition: row0mysql.h:767
 
byte * ins_upd_rec_buff
buffer for storing data converted to the Innobase format from the MySQL format
Definition: row0mysql.h:604
 
trx_t * trx
current transaction handle
Definition: row0mysql.h:525
 
unsigned read_just_key
set to 1 when MySQL calls ha_innobase::extra with the argument HA_EXTRA_KEYREAD; it is enough to read...
Definition: row0mysql.h:539
 
row_prebuilt_t & operator=(row_prebuilt_t &&)=delete
 
bool m_temp_read_shared
Whether this is a temporary(intrinsic) table read to keep the position for this MySQL TABLE object.
Definition: row0mysql.h:811
 
byte row_id[DATA_ROW_ID_LEN]
if the clustered index was generated, the row id of the last row fetched is stored here
Definition: row0mysql.h:647
 
TABLE * m_mysql_table
The MySQL table object.
Definition: row0mysql.h:820
 
const rec_t * innodb_api_rec
InnoDB API search result.
Definition: row0mysql.h:774
 
space_id_t space_id() const
Definition: row0mysql.h:520
 
void init_search_tuples_types()
Initializes search_tuple and m_stop_tuple shape so they match the index.
Definition: row0mysql.h:880
 
unsigned clust_index_was_generated
if the user did not define a primary key in MySQL, then Innobase automatically generated a clustered ...
Definition: row0mysql.h:530
 
bool has_gcol() const
Definition: row0mysql.h:817
 
unsigned index_usable
caches the value of index->is_usable(trx)
Definition: row0mysql.h:537
 
void * innodb_api_buf
Buffer holding copy of the physical Innodb API search record.
Definition: row0mysql.h:775
 
void init_tuple_types(dtuple_t *tuple)
A helper function for init_search_tuples_types() which prepares the shape of the tuple to match the i...
Definition: row0mysql.h:870
 
bool can_prefetch_records() const
Can a record buffer or a prefetch cache be utilized for prefetching records in this scan?
Definition: row0mysql.cc:4757
 
rtr_info_t * rtr_info
R-tree Search Info.
Definition: row0mysql.h:781
 
ulint fetch_cache_first
position of the first not yet fetched row in fetch_cache
Definition: row0mysql.h:711
 
bool m_end_range
True if exceeded the end_range while filling the prefetch cache.
Definition: row0mysql.h:831
 
enum select_mode select_mode
SELECT_ORDINARY, SELECT_SKIP_LOKCED, or SELECT_NO_WAIT.
Definition: row0mysql.h:661
 
dtuple_t * clust_ref
prebuilt dtuple used in sel/upd/del
Definition: row0mysql.h:658
 
void clear_search_tuples()
Resets both search_tuple and m_stop_tuple.
Definition: row0mysql.h:886
 
ulint magic_n
this magic number is set to ROW_PREBUILT_ALLOCATED when created, or ROW_PREBUILT_FREED when the struc...
Definition: row0mysql.h:516
 
que_fork_t * ins_graph
Innobase SQL query graph used in inserts.
Definition: row0mysql.h:623
 
ulonglong autoinc_last_value
last value of AUTO-INC interval
Definition: row0mysql.h:752
 
uint srch_key_val_len
Size of search key.
Definition: row0mysql.h:796
 
THD * m_thd
Definition: row0mysql.h:825
 
bool fts_doc_id_in_read_set
true if table has externally defined FTS_DOC_ID coulmn.
Definition: row0mysql.h:749
 
mem_heap_t * heap
memory heap from which these auxiliary structures are allocated when needed
Definition: row0mysql.h:594
 
unsigned template_type
ROW_MYSQL_WHOLE_ROW, ROW_MYSQL_REC_FIELDS, ROW_MYSQL_DUMMY_TEMPLATE, or ROW_MYSQL_NO_TEMPLATE.
Definition: row0mysql.h:552
 
dict_index_t * index
current index for a search, if any
Definition: row0mysql.h:523
 
que_fork_t * sel_graph
dummy query graph used in selects
Definition: row0mysql.h:632
 
ulint magic_n2
this should be the same as magic_n
Definition: row0mysql.h:784
 
Vectors holding the matching internal pages/nodes and leaf records.
Definition: gis0type.h:109
 
Transaction savepoint.
Definition: trx0types.h:148
 
Definition: trx0trx.h:675
 
Definition: row0upd.h:724
 
Definition: row0upd.h:571
 
Transaction system global type definitions.
 
ib_id_t trx_id_t
Transaction identifier (DB_TRX_ID, DATA_TRX_ID)
Definition: trx0types.h:138
 
Version control for database, common definitions, and include files.
 
unsigned long int ulint
Definition: univ.i:406
 
The ut_bool_scope_guard class which sets boolean to true for the duration of scope.