Go to the source code of this file.
Functions | |
UNIV_INLINE void | mach_write_to_1 (byte *b, ulint n) |
UNIV_INLINE ulint | mach_read_from_1 (const byte *b) __attribute__((nonnull |
UNIV_INLINE void | mach_write_to_2 (byte *b, ulint n) |
UNIV_INLINE ulint | mach_read_from_2 (const byte *b) __attribute__((nonnull |
UNIV_INLINE uint16 | mach_encode_2 (ulint n) __attribute__((const )) |
UNIV_INLINE ulint | mach_decode_2 (uint16 n) __attribute__((const )) |
UNIV_INLINE void | mach_write_to_3 (byte *b, ulint n) |
UNIV_INLINE ulint | mach_read_from_3 (const byte *b) __attribute__((nonnull |
UNIV_INLINE void | mach_write_to_4 (byte *b, ulint n) |
UNIV_INLINE ulint | mach_read_from_4 (const byte *b) __attribute__((nonnull |
UNIV_INLINE ulint | mach_write_compressed (byte *b, ulint n) |
UNIV_INLINE ulint | mach_get_compressed_size (ulint n) __attribute__((const )) |
UNIV_INLINE ulint | mach_read_compressed (const byte *b) __attribute__((nonnull |
UNIV_INLINE void | mach_write_to_6 (byte *b, ib_uint64_t id) |
UNIV_INLINE ib_uint64_t | mach_read_from_6 (const byte *b) __attribute__((nonnull |
UNIV_INLINE void | mach_write_to_7 (byte *b, ib_uint64_t n) |
UNIV_INLINE ib_uint64_t | mach_read_from_7 (const byte *b) __attribute__((nonnull |
UNIV_INLINE void | mach_write_to_8 (byte *b, ib_uint64_t n) |
UNIV_INLINE ib_uint64_t | mach_read_from_8 (const byte *b) __attribute__((nonnull |
UNIV_INLINE ulint | mach_ull_write_compressed (byte *b, ib_uint64_t n) |
UNIV_INLINE ulint | mach_ull_get_compressed_size (ib_uint64_t n) |
UNIV_INLINE ib_uint64_t | mach_ull_read_compressed (const byte *b) __attribute__((nonnull |
UNIV_INLINE ulint | mach_ull_write_much_compressed (byte *b, ib_uint64_t n) |
UNIV_INLINE ulint | mach_ull_get_much_compressed_size (ib_uint64_t n) __attribute__((const )) |
UNIV_INLINE ib_uint64_t | mach_ull_read_much_compressed (const byte *b) __attribute__((nonnull |
UNIV_INTERN byte * | mach_parse_compressed (byte *ptr, byte *end_ptr, ulint *val) |
UNIV_INLINE byte * | mach_ull_parse_compressed (byte *ptr, byte *end_ptr, ib_uint64_t *val) |
UNIV_INLINE double | mach_double_read (const byte *b) __attribute__((nonnull |
UNIV_INLINE void | mach_double_write (byte *b, double d) |
UNIV_INLINE float | mach_float_read (const byte *b) __attribute__((nonnull |
UNIV_INLINE void | mach_float_write (byte *b, float d) |
UNIV_INLINE ulint | mach_read_from_n_little_endian (const byte *buf, ulint buf_size) __attribute__((nonnull |
UNIV_INLINE void | mach_write_to_n_little_endian (byte *dest, ulint dest_size, ulint n) |
UNIV_INLINE ulint | mach_read_from_2_little_endian (const byte *buf) __attribute__((nonnull |
UNIV_INLINE void | mach_write_to_2_little_endian (byte *dest, ulint n) |
UNIV_INLINE ullint | mach_read_int_type (const byte *src, ulint len, ibool unsigned_type) |
Variables | |
UNIV_INLINE ulint | pure |
Utilities for converting data from the database file to the machine format.
Created 11/28/1995 Heikki Tuuri
Definition in file mach0data.h.
UNIV_INLINE ulint mach_decode_2 | ( | uint16 | n | ) | const |
The following function is used to convert a 16-bit data item from the canonical format, for fast bytewise equality test against memory.
n | in: 16-bit integer in canonical format |
Referenced by page_dir_find_owner_slot().
UNIV_INLINE double mach_double_read | ( | const byte * | b | ) |
Reads a double. It is stored in a little-endian format.
b | in: pointer to memory from where to read |
UNIV_INLINE void mach_double_write | ( | byte * | b, |
double | d | ||
) |
Writes a double. It is stored in a little-endian format. in: double
b | in: pointer to memory where to write |
UNIV_INLINE uint16 mach_encode_2 | ( | ulint | n | ) | const |
The following function is used to convert a 16-bit data item to the canonical format, for fast bytewise equality test against memory.
n | in: integer in machine-dependent format |
Referenced by page_dir_find_owner_slot().
UNIV_INLINE float mach_float_read | ( | const byte * | b | ) |
Reads a float. It is stored in a little-endian format.
b | in: pointer to memory from where to read |
UNIV_INLINE void mach_float_write | ( | byte * | b, |
float | d | ||
) |
Writes a float. It is stored in a little-endian format. in: float
b | in: pointer to memory where to write |
UNIV_INLINE ulint mach_get_compressed_size | ( | ulint | n | ) | const |
Returns the size of an ulint when written in the compressed form.
n | in: ulint integer to be stored |
UNIV_INTERN byte* mach_parse_compressed | ( | byte * | ptr, |
byte * | end_ptr, | ||
ulint * | val | ||
) |
Reads a ulint in a compressed form if the log record fully contains it.
Reads a ulint in a compressed form if the log record fully contains it.
ptr | in: pointer to buffer from where to read |
end_ptr | in: pointer to end of the buffer |
val | out: read value (< 2^32) |
Definition at line 38 of file mach0data.cc.
References mach_parse_compressed(), mach_read_from_1(), mach_read_from_2(), mach_read_from_3(), mach_read_from_4(), and ut_ad.
Referenced by mach_parse_compressed(), mlog_parse_initial_log_record(), mlog_parse_nbytes(), page_cur_parse_insert_rec(), row_upd_index_parse(), row_upd_parse_sys_vals(), and trx_undo_parse_page_init().
UNIV_INLINE ulint mach_read_compressed | ( | const byte * | b | ) |
Reads a ulint in a compressed form.
b | in: pointer to memory from where to read |
UNIV_INLINE ulint mach_read_from_1 | ( | const byte * | b | ) |
The following function is used to fetch data from one byte.
b | in: pointer to byte |
Referenced by btr_cur_parse_del_mark_set_clust_rec(), btr_cur_parse_del_mark_set_sec_rec(), btr_cur_parse_update_in_place(), btr_free_externally_stored_field(), dfield_print_also_hex(), mach_parse_compressed(), mtr_read_ulint(), page_cur_parse_insert_rec(), row_mysql_read_true_varchar(), row_upd_index_parse(), trx_undo_rec_get_pars(), and trx_undo_update_rec_get_sys_cols().
UNIV_INLINE ulint mach_read_from_2 | ( | const byte * | b | ) |
The following function is used to fetch data from two consecutive bytes. The most significant byte is at the lowest address.
b | in: pointer to two bytes |
Referenced by btr_cur_parse_del_mark_set_clust_rec(), btr_cur_parse_del_mark_set_sec_rec(), btr_cur_parse_update_in_place(), btr_parse_set_min_rec_mark(), buf_page_print(), dfield_print_also_hex(), fil_op_log_parse_or_replay(), fil_page_get_type(), ibuf_rec_get_counter(), mach_parse_compressed(), mlog_parse_index(), mlog_parse_nbytes(), mlog_parse_string(), mtr_read_ulint(), page_check_dir(), page_copy_rec_list_end_no_locks(), page_cur_parse_delete_rec(), page_cur_parse_insert_rec(), page_parse_delete_rec_list(), page_zip_parse_write_blob_ptr(), page_zip_parse_write_node_ptr(), trx_undo_parse_add_undo_rec(), trx_undo_rec_get_partial_row(), trx_undo_set_state_at_finish(), and trx_undo_set_state_at_prepare().
UNIV_INLINE ulint mach_read_from_2_little_endian | ( | const byte * | buf | ) |
Reads a ulint stored in the little-endian format.
buf | in: from where to read |
Referenced by row_mysql_read_true_varchar().
UNIV_INLINE ulint mach_read_from_3 | ( | const byte * | b | ) |
The following function is used to fetch data from 3 consecutive bytes. The most significant byte is at the lowest address.
b | in: pointer to 3 bytes |
Referenced by dfield_print_also_hex(), and mach_parse_compressed().
UNIV_INLINE ulint mach_read_from_4 | ( | const byte * | b | ) |
The following function is used to fetch data from 4 consecutive bytes. The most significant byte is at the lowest address.
b | in: pointer to four bytes |
Referenced by btr_copy_externally_stored_field_prefix(), btr_free_externally_stored_field(), buf_page_io_complete(), buf_page_is_corrupted(), buf_page_print(), buf_zip_decompress(), dfield_print(), dfield_print_also_hex(), dict_check_tablespaces_and_store_max_id(), dict_load_column_low(), dict_load_field_low(), dict_load_index_low(), dict_load_table_low(), dict_process_sys_foreign_col_rec(), dict_process_sys_foreign_rec(), dict_truncate_index_tree(), fil_op_log_parse_or_replay(), fil_page_get_next(), fil_page_get_prev(), fsp_get_size_low(), fsp_header_get_flags(), fsp_header_get_space_id(), ibuf_update_max_tablespace_id(), log_checkpoint_get_nth_group_info(), mach_parse_compressed(), mtr_read_ulint(), page_parse_copy_rec_list_to_created_page(), row_check_index_for_mysql(), row_mysql_drop_temp_tables(), row_prebuilt_free(), trx_sys_create_doublewrite_buf(), and trx_sys_doublewrite_init_or_restore_pages().
UNIV_INLINE ib_uint64_t mach_read_from_6 | ( | const byte * | b | ) |
The following function is used to fetch data from 6 consecutive bytes. The most significant byte is at the lowest address.
b | in: pointer to 6 bytes |
Referenced by dfield_print_also_hex().
UNIV_INLINE ib_uint64_t mach_read_from_7 | ( | const byte * | b | ) |
The following function is used to fetch data from 7 consecutive bytes. The most significant byte is at the lowest address.
b | in: pointer to 7 bytes |
Referenced by dfield_print_also_hex().
UNIV_INLINE ib_uint64_t mach_read_from_8 | ( | const byte * | b | ) |
The following function is used to fetch data from 8 consecutive bytes. The most significant byte is at the lowest address.
b | in: pointer to 8 bytes |
Referenced by buf_page_is_corrupted(), dfield_print_also_hex(), dict_boot(), dict_hdr_get_new_id(), dict_load_column_low(), dict_load_index_low(), dict_load_table_low(), dict_load_table_on_id(), dict_process_sys_fields_rec(), dict_process_sys_indexes_rec(), dict_truncate_index_tree(), fil_read_flushed_lsn_and_arch_log_no(), fil_reset_too_high_lsns(), fseg_create_general(), fsp_print(), fsp_validate(), recv_recover_page_func(), recv_recovery_from_checkpoint_start_func(), trx_sys_init_at_db_start(), and trx_sys_read_commit_id().
UNIV_INLINE ulint mach_read_from_n_little_endian | ( | const byte * | buf, |
ulint | buf_size | ||
) |
Reads a ulint stored in the little-endian format.
buf | in: from where to read |
buf_size | in: from how many bytes to read |
Referenced by row_mysql_read_blob_ref().
UNIV_INLINE ullint mach_read_int_type | ( | const byte * | src, |
ulint | len, | ||
ibool | unsigned_type | ||
) |
Convert integral type from storage byte order (big endian) to host byte order.
src | in: where to read from |
len | in: length of src |
UNIV_INLINE ulint mach_ull_get_compressed_size | ( | ib_uint64_t | n | ) |
Returns the size of a 64-bit integer when written in the compressed form.
Referenced by trx_undo_update_rec_get_sys_cols().
UNIV_INLINE ulint mach_ull_get_much_compressed_size | ( | ib_uint64_t | n | ) | const |
Returns the size of a 64-bit integer when written in the compressed form.
n | in: 64-bit integer to be stored |
Referenced by trx_undo_rec_get_pars().
UNIV_INLINE byte* mach_ull_parse_compressed | ( | byte * | ptr, |
byte * | end_ptr, | ||
ib_uint64_t * | val | ||
) |
Reads a 64-bit integer in a compressed form if the log record fully contains it.
ptr | in: pointer to buffer from where to read |
end_ptr | in: pointer to end of the buffer |
Referenced by mlog_parse_nbytes(), row_upd_parse_sys_vals(), and trx_undo_parse_page_header().
UNIV_INLINE ib_uint64_t mach_ull_read_compressed | ( | const byte * | b | ) |
Reads a 64-bit integer in a compressed form.
b | in: pointer to memory from where to read |
Referenced by dfield_print_also_hex(), and trx_undo_update_rec_get_sys_cols().
UNIV_INLINE ib_uint64_t mach_ull_read_much_compressed | ( | const byte * | b | ) |
Reads a 64-bit integer in a compressed form.
b | in: pointer to memory from where to read |
Referenced by trx_undo_rec_get_pars().
UNIV_INLINE ulint mach_ull_write_compressed | ( | byte * | b, |
ib_uint64_t | n | ||
) |
Writes a 64-bit integer in a compressed form (5..9 bytes).
b | in: pointer to memory where to store |
Referenced by mlog_write_ull(), and row_upd_write_sys_vals_to_log().
UNIV_INLINE ulint mach_ull_write_much_compressed | ( | byte * | b, |
ib_uint64_t | n | ||
) |
Writes a 64-bit integer in a compressed form (1..11 bytes).
b | in: pointer to memory where to store |
UNIV_INLINE ulint mach_write_compressed | ( | byte * | b, |
ulint | n | ||
) |
Writes a ulint in a compressed form (1..5 bytes).
b | in: pointer to memory where to store |
Referenced by mlog_write_ulint(), row_upd_index_write_log(), and row_upd_write_sys_vals_to_log().
UNIV_INLINE void mach_write_to_1 | ( | byte * | b, |
ulint | n | ||
) |
The following function is used to store data in one byte. in: ulint integer to be stored, >= 0, < 256
b | in: pointer to byte where to store |
Referenced by mlog_parse_nbytes(), mlog_write_ulint(), row_mysql_store_true_var_len(), and row_upd_index_write_log().
UNIV_INLINE void mach_write_to_2 | ( | byte * | b, |
ulint | n | ||
) |
The following function is used to store data in two consecutive bytes. We store the most significant byte to the lower address. in: ulint integer to be stored, >= 0, < 64k
b | in: pointer to two bytes where to store |
Referenced by buf_page_create(), fil_page_set_type(), mlog_log_string(), mlog_open_and_write_index(), mlog_parse_nbytes(), mlog_write_ulint(), mlog_write_ull(), page_create_zip(), page_zip_dir_insert(), and trx_undo_parse_add_undo_rec().
UNIV_INLINE void mach_write_to_2_little_endian | ( | byte * | dest, |
ulint | n | ||
) |
Writes a ulint in the little-endian format. in: unsigned long int to write
dest | in: where to write |
Referenced by row_mysql_store_true_var_len().
UNIV_INLINE void mach_write_to_3 | ( | byte * | b, |
ulint | n | ||
) |
The following function is used to store data in 3 consecutive bytes. We store the most significant byte to the lowest address. in: ulint integer to be stored
b | in: pointer to 3 bytes where to store |
UNIV_INLINE void mach_write_to_4 | ( | byte * | b, |
ulint | n | ||
) |
The following function is used to store data in four consecutive bytes. We store the most significant byte to the lowest address. in: ulint integer to be stored
b | in: pointer to four bytes where to store |
Referenced by btr_free_externally_stored_field(), btr_store_big_rec_extern_fields(), buf_flush_init_for_writing(), buf_LRU_free_block(), dict_index_build_node_ptr(), fil_create_new_single_table_tablespace(), fsp_header_init_fields(), mlog_parse_nbytes(), mlog_write_ulint(), page_copy_rec_list_end_to_created_page(), pars_info_add_int4_literal(), row_search_for_mysql(), sym_tab_add_int_lit(), and trx_sys_doublewrite_init_or_restore_pages().
UNIV_INLINE void mach_write_to_6 | ( | byte * | b, |
ib_uint64_t | id | ||
) |
The following function is used to store data in 6 consecutive bytes. We store the most significant byte to the lowest address. in: 48-bit integer
b | in: pointer to 6 bytes where to store |
Referenced by page_zip_write_trx_id_and_roll_ptr().
UNIV_INLINE void mach_write_to_7 | ( | byte * | b, |
ib_uint64_t | n | ||
) |
The following function is used to store data in 7 consecutive bytes. We store the most significant byte to the lowest address. in: 56-bit integer
b | in: pointer to 7 bytes where to store |
Referenced by page_zip_write_trx_id_and_roll_ptr().
UNIV_INLINE void mach_write_to_8 | ( | byte * | b, |
ib_uint64_t | n | ||
) |
The following function is used to store data in 8 consecutive bytes. We store the most significant byte to the lowest address. in: 64-bit integer to be stored
b | in: pointer to 8 bytes where to store |
Referenced by buf_flush_init_for_writing(), dict_load_table_on_id(), dict_process_sys_fields_rec(), fil_reset_too_high_lsns(), mlog_parse_nbytes(), mlog_write_ull(), page_set_max_trx_id(), pars_info_add_ull_literal(), recv_recover_page_func(), and row_truncate_table_for_mysql().
UNIV_INLINE void mach_write_to_n_little_endian | ( | byte * | dest, |
ulint | dest_size, | ||
ulint | n | ||
) |
Writes a ulint in the little-endian format. in: unsigned long int to write
dest | in: where to write |
dest_size | in: into how many bytes to write |
Referenced by row_mysql_store_blob_ref().