MySQL 5.6.14 Source Code Document
|
#include "univ.i"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdarg.h>
#include "api0api.h"
#include "api0misc.h"
#include "srv0start.h"
#include "dict0dict.h"
#include "btr0pcur.h"
#include "row0ins.h"
#include "row0upd.h"
#include "row0vers.h"
#include "trx0roll.h"
#include "dict0crea.h"
#include "row0merge.h"
#include "pars0pars.h"
#include "lock0types.h"
#include "row0sel.h"
#include "lock0lock.h"
#include "rem0cmp.h"
#include "ut0dbg.h"
#include "dict0priv.h"
#include "ut0ut.h"
#include "ha_prototypes.h"
Go to the source code of this file.
Classes | |
struct | ib_qry_grph_t |
struct | ib_qry_node_t |
struct | ib_qry_proc_t |
struct | ib_cursor_t |
struct | ib_col_t |
struct | ib_key_col_t |
struct | ib_index_def_t |
struct | ib_table_def_t |
struct | ib_tuple_t |
Macros | |
#define | INNOBASE_WAKE_INTERVAL 32 |
#define | SRV_PATH_SEPARATOR '/' |
Enumerations | |
enum | ib_tuple_type_t { TPL_TYPE_ROW, TPL_TYPE_KEY } |
enum | ib_qry_type_t { QRY_NON, QRY_INS, QRY_UPD, QRY_SEL } |
Variables | |
my_bool | ib_binlog_enabled = FALSE |
my_bool | ib_mdl_enabled = FALSE |
my_bool | ib_disable_row_lock = FALSE |
ulong | ib_trx_level_setting = IB_TRX_READ_UNCOMMITTED |
ulong | ib_bk_commit_interval = 0 |
InnoDB Native API
2008-08-01 Created Sunny Bains 3/20/2011 Jimmy Yang extracted from Embedded InnoDB
Definition in file api0api.cc.
#define INNOBASE_WAKE_INTERVAL 32 |
The following counter is used to convey information to InnoDB
about server activity: in selects it is not sensible to call srv_active_wake_master_thread after each fetch or search, we only do it every INNOBASE_WAKE_INTERVAL'th step.
Definition at line 212 of file api0api.cc.
enum ib_qry_type_t |
Query types supported.
QRY_NON |
None/Sentinel |
QRY_INS |
Insert operation |
QRY_UPD |
Update operation |
QRY_SEL |
Select operation |
Definition at line 81 of file api0api.cc.
enum ib_tuple_type_t |
InnoDB tuple types.
TPL_TYPE_ROW |
Data row tuple |
TPL_TYPE_KEY |
Index key tuple |
Definition at line 75 of file api0api.cc.
UNIV_INLINE ib_bool_t ib_btr_cursor_is_positioned | ( | btr_pcur_t * | pcur | ) |
Check whether the Innodb persistent cursor is positioned.
pcur | in: InnoDB persistent cursor |
Definition at line 219 of file api0api.cc.
UNIV_INTERN ib_ulint_t ib_cfg_bk_commit_interval | ( | ) |
Return configure value for background commit interval (in seconds)
Definition at line 3921 of file api0api.cc.
UNIV_INTERN int ib_cfg_get_cfg | ( | ) |
UNIV_INTERN ib_trx_state_t ib_cfg_trx_level | ( | ) |
Return isolation configuration set by "innodb_api_trx_level"
Definition at line 3910 of file api0api.cc.
UNIV_INTERN ib_err_t ib_close_thd | ( | void * | thd | ) |
Frees a possible InnoDB trx object associated with the current THD.
thd | in: handle to the MySQL thread of the user whose resources should be free'd |
Definition at line 3895 of file api0api.cc.
Create an InnoDB tuple for table row operations.
ib_crsr | in: Cursor instance |
Definition at line 3194 of file api0api.cc.
Create an InnoDB tuple used for table key operations.
ib_crsr | in: Cursor instance |
Definition at line 3175 of file api0api.cc.
UNIV_INTERN ib_ulint_t ib_col_copy_value | ( | ib_tpl_t | ib_tpl, |
ib_ulint_t | i, | ||
void * | dst, | ||
ib_ulint_t | len | ||
) |
Copy a column value from the tuple.
ib_tpl | in: tuple instance |
i | in: column index in tuple |
dst | out: copied data value |
len | in: max data value len to copy |
Definition at line 2625 of file api0api.cc.
UNIV_INLINE ib_ulint_t ib_col_copy_value_low | ( | ib_tpl_t | ib_tpl, |
ib_ulint_t | i, | ||
void * | dst, | ||
ib_ulint_t | len | ||
) |
Copy a column value from the tuple.
ib_tpl | in: tuple instance |
i | in: column index in tuple |
dst | out: copied data value |
len | in: max data value len to copy |
Definition at line 2529 of file api0api.cc.
UNIV_INLINE ib_col_attr_t ib_col_get_attr | ( | ulint | prtype | ) |
Get the InnoDB column attribute from the internal column precise type.
prtype | in: column definition |
Definition at line 2640 of file api0api.cc.
UNIV_INLINE dfield_t* ib_col_get_dfield | ( | ib_tuple_t * | tuple, |
ulint | col_no | ||
) |
Get the dfield instance for the column in the tuple.
tuple | in: tuple instance |
col_no | in: col no. in tuple |
Definition at line 2264 of file api0api.cc.
UNIV_INTERN ib_ulint_t ib_col_get_len | ( | ib_tpl_t | ib_tpl, |
ib_ulint_t | i | ||
) |
Get the size of the data available in a column of the tuple.
ib_tpl | in: tuple instance |
i | in: column index in tuple |
Definition at line 2508 of file api0api.cc.
UNIV_INTERN ib_ulint_t ib_col_get_meta | ( | ib_tpl_t | ib_tpl, |
ib_ulint_t | i, | ||
ib_col_meta_t * | ib_col_meta | ||
) |
Get a column type, length and attributes from the tuple.
ib_tpl | in: tuple instance |
i | in: column index in tuple |
ib_col_meta | out: column meta data |
Definition at line 2969 of file api0api.cc.
UNIV_INLINE ib_ulint_t ib_col_get_meta_low | ( | ib_tpl_t | ib_tpl, |
ib_ulint_t | i, | ||
ib_col_meta_t * | ib_col_meta | ||
) |
Get a column type, length and attributes from the tuple.
ib_tpl | in: tuple instance |
i | in: column index in tuple |
ib_col_meta | out: column meta data |
Definition at line 2708 of file api0api.cc.
UNIV_INLINE ulint ib_col_get_mtype | ( | const ib_col_t * | ib_col | ) |
Get the InnoDB internal main type from the schema column definition.
ib_col | in: column definition |
Definition at line 747 of file api0api.cc.
UNIV_INTERN const char* ib_col_get_name | ( | ib_crsr_t | ib_crsr, |
ib_ulint_t | i | ||
) |
Get a column name from the tuple.
ib_crsr | in: InnoDB cursor instance |
i | in: column index in tuple |
Definition at line 2662 of file api0api.cc.
UNIV_INLINE ulint ib_col_get_prtype | ( | const ib_col_t * | ib_col | ) |
Get the InnoDB internal precise type from the schema column definition.
ib_col | in: column definition |
Definition at line 723 of file api0api.cc.
UNIV_INTERN const void* ib_col_get_value | ( | ib_tpl_t | ib_tpl, |
ib_ulint_t | i | ||
) |
Get a column value pointer from the tuple.
ib_tpl | in: tuple instance |
i | in: column index in tuple |
Definition at line 2946 of file api0api.cc.
Predicate to check whether a column type contains variable length data.
dtype | in: column type |
Definition at line 2281 of file api0api.cc.
UNIV_INTERN ib_err_t ib_col_set_value | ( | ib_tpl_t | ib_tpl, |
ib_ulint_t | col_no, | ||
const void * | src, | ||
ib_ulint_t | len, | ||
ib_bool_t | need_cpy | ||
) |
Set a column of the tuple. Make a copy using the tuple's heap.
ib_tpl | in: tuple instance |
col_no | in: column index in tuple |
src | in: data value |
len | in: data value len |
need_cpy | in: if need memcpy |
Definition at line 2300 of file api0api.cc.
UNIV_INTERN void ib_cursor_clear_trx | ( | ib_crsr_t | ib_crsr | ) |
set a cursor trx to NULL
ib_crsr | in/out: InnoDB cursor |
Definition at line 1299 of file api0api.cc.
Close an InnoDB table and free the cursor.
ib_crsr | in,own: InnoDB cursor |
Definition at line 1388 of file api0api.cc.
Close the table, decrement n_ref_count count.
ib_crsr | in,own: InnoDB cursor |
Definition at line 1426 of file api0api.cc.
Commit the transaction in a cursor
ib_crsr | in/out: InnoDB cursor |
ib_trx | in: transaction |
Definition at line 1367 of file api0api.cc.
Delete a row in a table.
ib_crsr | in: InnoDB cursor instance |
Definition at line 1995 of file api0api.cc.
Move cursor to the first record in the table.
ib_crsr | in: InnoDB cursor instance |
Definition at line 2152 of file api0api.cc.
Insert a row to a table.
ib_crsr | in/out: InnoDB cursor instance |
ib_tpl | in: tuple to insert |
Definition at line 1562 of file api0api.cc.
UNIV_INTERN ib_bool_t ib_cursor_is_positioned | ( | const ib_crsr_t | ib_crsr | ) |
Check if cursor is positioned.
ib_crsr | in: InnoDB cursor instance |
Definition at line 3336 of file api0api.cc.
Move cursor to the last record in the table.
ib_crsr | in: InnoDB cursor instance |
Definition at line 2166 of file api0api.cc.
UNIV_INTERN ib_err_t ib_cursor_lock | ( | ib_crsr_t | ib_crsr, |
ib_lck_mode_t | ib_lck_mode | ||
) |
Set the Lock an InnoDB cursor/table.
ib_crsr | in/out: InnoDB cursor |
ib_lck_mode | in: InnoDB lock mode |
Definition at line 3380 of file api0api.cc.
UNIV_INTERN ib_err_t ib_cursor_moveto | ( | ib_crsr_t | ib_crsr, |
ib_tpl_t | ib_tpl, | ||
ib_srch_mode_t | ib_srch_mode | ||
) |
Search for key.
ib_crsr | in: InnoDB cursor instance |
ib_tpl | in: Key to search for |
ib_srch_mode | in: search mode |
Definition at line 2203 of file api0api.cc.
update the cursor with new transactions and also reset the cursor
ib_crsr | in/out: InnoDB cursor |
ib_trx | in: transaction |
Definition at line 1339 of file api0api.cc.
Move cursor to the next user record in the table.
ib_crsr | in: InnoDB cursor instance |
Definition at line 2180 of file api0api.cc.
UNIV_INTERN ib_err_t ib_cursor_open_index_using_id | ( | ib_id_u64_t | index_id, |
ib_trx_t | ib_trx, | ||
ib_crsr_t * | ib_crsr | ||
) |
Open an InnoDB index and return a cursor handle to it.
index_id | in: index id of index to open |
ib_trx | in: Current transaction handle can be NULL |
ib_crsr | out: InnoDB cursor |
Definition at line 1117 of file api0api.cc.
UNIV_INTERN ib_err_t ib_cursor_open_index_using_name | ( | ib_crsr_t | ib_open_crsr, |
const char * | index_name, | ||
ib_crsr_t * | ib_crsr, | ||
int * | idx_type, | ||
ib_id_u64_t * | idx_id | ||
) |
Open an InnoDB secondary index cursor and return a cursor handle to it.
ib_open_crsr | in: open/active cursor |
index_name | in: secondary index name |
ib_crsr | out,own: InnoDB index cursor |
idx_type | out: index is cluster index |
idx_id | out: index id |
Definition at line 1166 of file api0api.cc.
UNIV_INTERN ib_err_t ib_cursor_open_table | ( | const char * | name, |
ib_trx_t | ib_trx, | ||
ib_crsr_t * | ib_crsr | ||
) |
Open an InnoDB table and return a cursor handle to it.
name | in: table name |
ib_trx | in: Current transaction handle can be NULL |
ib_crsr | out,own: InnoDB cursor |
Definition at line 1234 of file api0api.cc.
UNIV_INTERN ib_err_t ib_cursor_open_table_using_id | ( | ib_id_u64_t | table_id, |
ib_trx_t | ib_trx, | ||
ib_crsr_t * | ib_crsr | ||
) |
Open an InnoDB table and return a cursor handle to it.
table_id | in: table id of table to open |
ib_trx | in: Current transaction handle can be NULL |
ib_crsr | out,own: InnoDB cursor |
Definition at line 1085 of file api0api.cc.
UNIV_INLINE ib_err_t ib_cursor_position | ( | ib_cursor_t * | cursor, |
ib_srch_mode_t | mode | ||
) |
Move cursor to the first record in the table.
cursor | in: InnoDB cursor instance |
mode | in: Search mode |
Definition at line 2124 of file api0api.cc.
Read current row.
ib_crsr | in: InnoDB cursor instance |
ib_tpl | out: read cols into this tuple |
Definition at line 2056 of file api0api.cc.
Reset the cursor.
ib_crsr | in/out: InnoDB cursor |
Definition at line 1313 of file api0api.cc.
UNIV_INTERN void ib_cursor_set_cluster_access | ( | ib_crsr_t | ib_crsr | ) |
Set need to access clustered index record.
ib_crsr | in/out: InnoDB cursor |
Definition at line 3500 of file api0api.cc.
UNIV_INTERN ib_err_t ib_cursor_set_lock_mode | ( | ib_crsr_t | ib_crsr, |
ib_lck_mode_t | ib_lck_mode | ||
) |
Set the Lock mode of the cursor.
ib_crsr | in/out: InnoDB cursor |
ib_lck_mode | in: InnoDB lock mode |
Definition at line 3471 of file api0api.cc.
UNIV_INTERN void ib_cursor_set_match_mode | ( | ib_crsr_t | ib_crsr, |
ib_match_mode_t | match_mode | ||
) |
Set the cursor search mode.
ib_crsr | in: Cursor instance |
match_mode | in: ib_cursor_moveto match mode |
Definition at line 2249 of file api0api.cc.
UNIV_INTERN void ib_cursor_stmt_begin | ( | ib_crsr_t | ib_crsr | ) |
Inform the cursor that it's the start of an SQL statement.
ib_crsr | in: cursor |
Definition at line 3667 of file api0api.cc.
Truncate a table. The cursor handle will be closed and set to NULL on success.
ib_crsr | in/out: cursor for table to truncate |
table_id | out: new table id |
Definition at line 3784 of file api0api.cc.
Unlock an InnoDB table.
ib_crsr | in/out: InnoDB cursor |
Definition at line 3449 of file api0api.cc.
UNIV_INTERN ib_err_t ib_cursor_update_row | ( | ib_crsr_t | ib_crsr, |
const ib_tpl_t | ib_old_tpl, | ||
const ib_tpl_t | ib_new_tpl | ||
) |
Update a row in a table.
ib_crsr | in: InnoDB cursor instance |
ib_old_tpl | in: Old tuple in table |
ib_new_tpl | in: New tuple to update |
Definition at line 1883 of file api0api.cc.
UNIV_INLINE ib_err_t ib_execute_update_query_graph | ( | ib_cursor_t * | cursor, |
btr_pcur_t * | pcur | ||
) |
Does an update or delete of a row.
cursor | in: Cursor instance |
pcur | in: Btree persistent cursor |
Definition at line 1823 of file api0api.cc.
UNIV_INLINE ib_index_def_t* ib_find_clustered_index | ( | ib_vector_t * | indexes | ) |
Get an index definition that is tagged as a clustered index.
indexes | in: index defs. to search |
Definition at line 934 of file api0api.cc.
UNIV_INTERN const char* ib_get_idx_field_name | ( | ib_crsr_t | ib_crsr, |
ib_ulint_t | i | ||
) |
Get an index field name from the cursor.
ib_crsr | in: InnoDB cursor instance |
i | in: column index in tuple |
Definition at line 2683 of file api0api.cc.
UNIV_INLINE ulint ib_get_max_row_len | ( | dict_index_t * | cluster | ) |
Calculate the max row size of the columns in a cluster index.
cluster | in: cluster index |
Definition at line 326 of file api0api.cc.
UNIV_INLINE const ib_key_col_t* ib_index_find_col | ( | ib_vector_t * | cols, |
const char * | name | ||
) |
Find a column in the the column list with the same name.
cols | in: column list head |
name | in: column name to find |
Definition at line 787 of file api0api.cc.
UNIV_INTERN ib_err_t ib_index_get_id | ( | const char * | table_name, |
const char * | index_name, | ||
ib_id_u64_t * | index_id | ||
) |
Get an index id.
table_name | in: find index for this table |
index_name | in: index to find |
index_id | out: index id if found |
Definition at line 3283 of file api0api.cc.
UNIV_INLINE ib_err_t ib_insert_row_with_lock_retry | ( | que_thr_t * | thr, |
ins_node_t * | node, | ||
trx_savept_t * | savept | ||
) |
Run the insert query and do error handling.
thr | in: insert query graph |
node | in: insert node for the query |
savept | in: savepoint to rollback to in case of an error |
Definition at line 1444 of file api0api.cc.
UNIV_INTERN void* ib_open_table_by_name | ( | const char * | name | ) |
Open a table using the table name, if found then increment table ref count.
name | in: table name to lookup |
Definition at line 266 of file api0api.cc.
UNIV_INTERN ib_bool_t ib_schema_lock_is_exclusive | ( | const ib_trx_t | ib_trx | ) |
Checks if the data dictionary is latched in exclusive mode.
ib_trx | in: transaction |
Definition at line 3352 of file api0api.cc.
UNIV_INTERN ib_bool_t ib_schema_lock_is_shared | ( | const ib_trx_t | ib_trx | ) |
Checks if the data dictionary is latched in shared mode.
ib_trx | in: transaction |
Definition at line 3366 of file api0api.cc.
Create an InnoDB tuple used for index/table search.
ib_crsr | in: Cursor instance |
Definition at line 3158 of file api0api.cc.
Create an InnoDB tuple used for index/table search.
ib_crsr | in: Cursor instance |
Definition at line 3141 of file api0api.cc.
UNIV_INLINE const ib_col_t* ib_table_find_col | ( | const ib_vector_t * | cols, |
const char * | name | ||
) |
Find a column in the the column vector with the same name.
cols | in: column list head |
name | in: column name to find |
Definition at line 761 of file api0api.cc.
UNIV_INLINE const ib_index_def_t* ib_table_find_index | ( | ib_vector_t * | indexes, |
const char * | name | ||
) |
Find an index definition from the index vector using index name.
indexes | in: vector of indexes |
name | in: index name |
Definition at line 698 of file api0api.cc.
UNIV_INTERN ib_err_t ib_table_get_id | ( | const char * | table_name, |
ib_id_u64_t * | table_id | ||
) |
Get a table id. This function will acquire the dictionary mutex.
table_name | in: table to find |
table_id | out: table id if found |
Definition at line 3262 of file api0api.cc.
UNIV_INTERN ib_err_t ib_table_lock | ( | ib_trx_t | ib_trx, |
ib_id_u64_t | table_id, | ||
ib_lck_mode_t | ib_lck_mode | ||
) |
Set the Lock an InnoDB table using the table id.
ib_trx | in/out: transaction |
table_id | in: table id |
ib_lck_mode | in: InnoDB lock mode |
Definition at line 3399 of file api0api.cc.
UNIV_INTERN ib_err_t ib_table_name_check | ( | const char * | name | ) |
Check whether the table name conforms to our requirements. Currently we only do a simple check for the presence of a '/'.
name | in: table name to check |
Definition at line 887 of file api0api.cc.
UNIV_INTERN ib_err_t ib_table_truncate | ( | const char * | table_name, |
ib_id_u64_t * | table_id | ||
) |
Truncate a table.
table_name | in: table name |
table_id | out: new table id |
Definition at line 3837 of file api0api.cc.
UNIV_INTERN ib_trx_t ib_trx_begin | ( | ib_trx_level_t | ib_trx_level | ) |
Begin a transaction. This will allocate a new transaction handle. put the transaction in the active state.
ib_trx_level | in: trx isolation level |
Definition at line 584 of file api0api.cc.
Commit a transaction. This function will also release the schema latches too.
ib_trx | in: trx handle |
Definition at line 647 of file api0api.cc.
Get a trx start time.
ib_trx | in: transaction |
Definition at line 617 of file api0api.cc.
Release the resources of the transaction.
ib_trx | in: trx handle |
Definition at line 629 of file api0api.cc.
Rollback a transaction. This function will also release the schema latches too.
ib_trx | in: trx handle |
Definition at line 673 of file api0api.cc.
UNIV_INTERN ib_err_t ib_trx_start | ( | ib_trx_t | ib_trx, |
ib_trx_level_t | ib_trx_level, | ||
void * | thd | ||
) |
Begin a transaction.
ib_trx | in: transaction to restart |
ib_trx_level | in: trx isolation level |
thd | in: THD |
Definition at line 556 of file api0api.cc.
UNIV_INTERN ib_trx_state_t ib_trx_state | ( | ib_trx_t | ib_trx | ) |
Get the transaction's state.
ib_trx | in: trx handle |
Definition at line 603 of file api0api.cc.
UNIV_INLINE ib_err_t ib_tuple_check_int | ( | ib_tpl_t | ib_tpl, |
ib_ulint_t | i, | ||
ib_bool_t | usign, | ||
ulint | size | ||
) |
Read a signed int 8 bit column from an InnoDB tuple.
ib_tpl | in: InnoDB tuple |
i | in: column number |
usign | in: true if unsigned |
size | in: size of integer |
Definition at line 2741 of file api0api.cc.
"Clear" or reset an InnoDB tuple. We free the heap and recreate the tuple.
ib_tpl | in,own: tuple (will be freed) |
Definition at line 2983 of file api0api.cc.
Copy the contents of source tuple to destination tuple. The tuples must be of the same type and belong to the same table/index.
ib_dst_tpl | in: destination tuple |
ib_src_tpl | in: source tuple |
Definition at line 3087 of file api0api.cc.
UNIV_INTERN void ib_tuple_delete | ( | ib_tpl_t | ib_tpl | ) |
Destroy an InnoDB tuple.
ib_tpl | in,own: Tuple instance to delete |
Definition at line 3244 of file api0api.cc.
UNIV_INTERN ib_err_t ib_tuple_get_cluster_key | ( | ib_crsr_t | ib_crsr, |
ib_tpl_t * | ib_dst_tpl, | ||
const ib_tpl_t | ib_src_tpl | ||
) |
Create a new cluster key search tuple and copy the contents of the secondary index key tuple columns that refer to the cluster index record to the cluster key. It does a deep copy of the column data.
ib_crsr | in: secondary index cursor |
ib_dst_tpl | out,own: destination tuple |
ib_src_tpl | in: source tuple |
Definition at line 3012 of file api0api.cc.
UNIV_INTERN ib_ulint_t ib_tuple_get_n_cols | ( | const ib_tpl_t | ib_tpl | ) |
Return the number of columns in the tuple definition.
ib_tpl | in: Tuple for table/index |
Definition at line 3231 of file api0api.cc.
UNIV_INTERN ib_ulint_t ib_tuple_get_n_user_cols | ( | const ib_tpl_t | ib_tpl | ) |
Return the number of user columns in the tuple definition.
ib_tpl | in: Tuple for current table |
Definition at line 3213 of file api0api.cc.
UNIV_INTERN ib_err_t ib_tuple_read_double | ( | ib_tpl_t | ib_tpl, |
ib_ulint_t | col_no, | ||
double * | dval | ||
) |
Read a double column value from an InnoDB tuple.
ib_tpl | in: InnoDB tuple |
col_no | in: column number |
dval | out: double value |
Definition at line 3705 of file api0api.cc.
UNIV_INTERN ib_err_t ib_tuple_read_float | ( | ib_tpl_t | ib_tpl, |
ib_ulint_t | col_no, | ||
float * | fval | ||
) |
Read a float value from an InnoDB tuple.
ib_tpl | in: InnoDB tuple |
col_no | in: column number |
fval | out: float value |
Definition at line 3756 of file api0api.cc.
UNIV_INTERN ib_err_t ib_tuple_read_i16 | ( | ib_tpl_t | ib_tpl, |
ib_ulint_t | i, | ||
ib_i16_t * | ival | ||
) |
Read a signed int 16 bit column from an InnoDB tuple.
ib_tpl | in: InnoDB tuple |
i | in: column number |
ival | out: integer value |
Definition at line 2814 of file api0api.cc.
UNIV_INTERN ib_err_t ib_tuple_read_i32 | ( | ib_tpl_t | ib_tpl, |
ib_ulint_t | i, | ||
ib_i32_t * | ival | ||
) |
Read a signed int 32 bit column from an InnoDB tuple.
ib_tpl | in: InnoDB tuple |
i | in: column number |
ival | out: integer value |
Definition at line 2858 of file api0api.cc.
UNIV_INTERN ib_err_t ib_tuple_read_i64 | ( | ib_tpl_t | ib_tpl, |
ib_ulint_t | i, | ||
ib_i64_t * | ival | ||
) |
Read a signed int 64 bit column from an InnoDB tuple.
ib_tpl | in: InnoDB tuple |
i | in: column number |
ival | out: integer value |
Definition at line 2902 of file api0api.cc.
UNIV_INTERN ib_err_t ib_tuple_read_i8 | ( | ib_tpl_t | ib_tpl, |
ib_ulint_t | i, | ||
ib_i8_t * | ival | ||
) |
Read a signed int 8 bit column from an InnoDB tuple.
ib_tpl | in: InnoDB tuple |
i | in: column number |
ival | out: integer value |
Definition at line 2770 of file api0api.cc.
UNIV_INTERN ib_err_t ib_tuple_read_u16 | ( | ib_tpl_t | ib_tpl, |
ib_ulint_t | i, | ||
ib_u16_t * | ival | ||
) |
Read an unsigned int 16 bit column from an InnoDB tuple.
ib_tpl | in: InnoDB tuple |
i | in: column number |
ival | out: integer value |
Definition at line 2836 of file api0api.cc.
UNIV_INTERN ib_err_t ib_tuple_read_u32 | ( | ib_tpl_t | ib_tpl, |
ib_ulint_t | i, | ||
ib_u32_t * | ival | ||
) |
Read an unsigned int 32 bit column from an InnoDB tuple.
ib_tpl | in: InnoDB tuple |
i | in: column number |
ival | out: integer value |
Definition at line 2880 of file api0api.cc.
UNIV_INTERN ib_err_t ib_tuple_read_u64 | ( | ib_tpl_t | ib_tpl, |
ib_ulint_t | i, | ||
ib_u64_t * | ival | ||
) |
Read an unsigned int 64 bit column from an InnoDB tuple.
ib_tpl | in: InnoDB tuple |
i | in: column number |
ival | out: integer value |
Definition at line 2924 of file api0api.cc.
UNIV_INTERN ib_err_t ib_tuple_read_u8 | ( | ib_tpl_t | ib_tpl, |
ib_ulint_t | i, | ||
ib_u8_t * | ival | ||
) |
Read an unsigned int 8 bit column from an InnoDB tuple.
ib_tpl | in: InnoDB tuple |
i | in: column number |
ival | out: integer value |
Definition at line 2792 of file api0api.cc.
Write a double value to a column.
ib_tpl | in/out: tuple to write to |
col_no | in: column number |
val | in: value to write |
Definition at line 3681 of file api0api.cc.
Write a float value to a column.
ib_tpl | in/out: tuple to write to |
col_no | in: column number |
val | in: value to write |
Definition at line 3732 of file api0api.cc.
Write an integer value to a column. Integers are stored in big-endian format and will need to be converted from the host format.
ib_tpl | in/out: tuple to write to |
col_no | in: column number |
val | in: value to write |
Definition at line 3564 of file api0api.cc.
Write an integer value to a column. Integers are stored in big-endian format and will need to be converted from the host format.
ib_tpl | in/out: tuple to write to |
col_no | in: column number |
val | in: value to write |
Definition at line 3579 of file api0api.cc.
Write an integer value to a column. Integers are stored in big-endian format and will need to be converted from the host format.
ib_tpl | in/out: tuple to write to |
col_no | in: column number |
val | in: value to write |
Definition at line 3594 of file api0api.cc.
Write an integer value to a column. Integers are stored in big-endian format and will need to be converted from the host format.
ib_tpl | in/out: tuple to write to |
col_no | in: column number |
val | in: value to write |
Definition at line 3549 of file api0api.cc.
UNIV_INLINE ib_err_t ib_tuple_write_int | ( | ib_tpl_t | ib_tpl, |
ulint | col_no, | ||
const void * | value, | ||
ulint | value_len | ||
) |
Convert and write an INT column value to an InnoDB tuple.
ib_tpl | in/out: tuple to write to |
col_no | in: column number |
value | in: integer value |
value_len | in: sizeof value type |
Definition at line 3515 of file api0api.cc.
Write an integer value to a column. Integers are stored in big-endian format and will need to be converted from the host format.
ib_tpl | in/out: tupe to write to |
col_no | in: column number |
val | in: value to write |
Definition at line 3624 of file api0api.cc.
Write an integer value to a column. Integers are stored in big-endian format and will need to be converted from the host format.
ib_tpl | in/out: tuple to write to |
col_no | in: column number |
val | in: value to write |
Definition at line 3639 of file api0api.cc.
Write an integer value to a column. Integers are stored in big-endian format and will need to be converted from the host format.
ib_tpl | in/out: tuple to write to |
col_no | in: column number |
val | in: value to write |
Definition at line 3654 of file api0api.cc.
Write an integer value to a column. Integers are stored in big-endian format and will need to be converted from the host format.
ib_tpl | in/out: tuple to write to |
col_no | in: column number |
val | in: value to write |
Definition at line 3609 of file api0api.cc.
UNIV_INLINE ib_err_t ib_update_row_with_lock_retry | ( | que_thr_t * | thr, |
upd_node_t * | node, | ||
trx_savept_t * | savept | ||
) |
Run the update query and do error handling.
thr | in: Update query graph |
node | in: Update node for the query |
savept | in: savepoint to rollback to in case of an error |
Definition at line 1775 of file api0api.cc.
UNIV_INLINE upd_t* ib_update_vector_create | ( | ib_cursor_t * | cursor | ) |
Gets pointer to a prebuilt update vector used in updates.
cursor | in: current cursor |
Definition at line 1643 of file api0api.cc.
UNIV_INLINE void ib_wake_master_thread | ( | void | ) |
Increments innobase_active_counter and every INNOBASE_WAKE_INTERVALth time calls srv_active_wake_master_thread. This function should be used when a single database operation may introduce a small need for server utility activity, like checkpointing.
Definition at line 309 of file api0api.cc.
my_bool ib_binlog_enabled = FALSE |
configure variable for binlog option with InnoDB APIs
Definition at line 60 of file api0api.cc.
ulong ib_bk_commit_interval = 0 |
configure variable for background commit interval in seconds
Definition at line 72 of file api0api.cc.
my_bool ib_disable_row_lock = FALSE |
configure variable for disable rowlock with InnoDB APIs
Definition at line 66 of file api0api.cc.
my_bool ib_mdl_enabled = FALSE |
configure variable for MDL option with InnoDB APIs
Definition at line 63 of file api0api.cc.
ulong ib_trx_level_setting = IB_TRX_READ_UNCOMMITTED |
configure variable for Transaction isolation levels
Definition at line 69 of file api0api.cc.