InnoDB Plugin
1.0
|
#include "ut0mem.h"
Functions | |
UNIV_INLINE void | mach_write_to_1 (byte *b, ulint n) |
UNIV_INLINE ulint | mach_read_from_1 (const byte *b) |
UNIV_INLINE void | mach_write_to_2 (byte *b, ulint n) |
UNIV_INLINE ulint | mach_read_from_2 (const byte *b) |
UNIV_INLINE uint16 | mach_encode_2 (ulint n) |
UNIV_INLINE ulint | mach_decode_2 (uint16 n) |
UNIV_INLINE void | mach_write_to_3 (byte *b, ulint n) |
UNIV_INLINE ulint | mach_read_from_3 (const byte *b) |
UNIV_INLINE void | mach_write_to_4 (byte *b, ulint n) |
UNIV_INLINE ulint | mach_read_from_4 (const byte *b) |
UNIV_INLINE ulint | mach_write_compressed (byte *b, ulint n) |
UNIV_INLINE ulint | mach_get_compressed_size (ulint n) |
UNIV_INLINE ulint | mach_read_compressed (const byte *b) |
UNIV_INLINE void | mach_write_to_8 (void *b, ib_uint64_t n) |
UNIV_INLINE ib_uint64_t | mach_read_from_8 (const byte *b) |
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) |
UNIV_INLINE void | mach_write_to_6 (byte *b, ib_uint64_t n) |
UNIV_INLINE ib_uint64_t | mach_read_from_6 (const byte *b) |
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) |
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) |
UNIV_INLINE ib_uint64_t | mach_ull_read_much_compressed (const byte *b) |
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) |
UNIV_INLINE void | mach_double_write (byte *b, double d) |
UNIV_INLINE float | mach_float_read (const byte *b) |
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) |
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) |
UNIV_INLINE void | mach_write_to_2_little_endian (byte *dest, ulint n) |
UNIV_INLINE ib_uint64_t | mach_read_int_type (const byte *src, ulint len, ibool unsigned_type) |
UNIV_INLINE void | mach_swap_byte_order (byte *dest, const byte *from, ulint len) |
UNIV_INLINE void | mach_write_int_type (byte *dest, const byte *src, ulint len, bool usign) |
UNIV_INLINE void | mach_write_ulonglong (byte *dest, ulonglong src, ulint len, bool usign) |
UNIV_INLINE ulint | mach_read_ulint (const byte *ptr, ulint type) |
Utilities for converting data from the database file to the machine format.
Created 11/28/1995 Heikki Tuuri
UNIV_INLINE ulint mach_decode_2 | ( | uint16 | n | ) |
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 |
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.
b | in: pointer to memory where to write |
d | in: double |
UNIV_INLINE uint16 mach_encode_2 | ( | ulint | n | ) |
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 |
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.
b | in: pointer to memory where to write |
d | in: float |
UNIV_INLINE ulint mach_get_compressed_size | ( | ulint | n | ) |
Returns the size of a ulint when written in the compressed form.
n | in: ulint integer (< 2^32) to be stored |
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 |
UNIV_INLINE ulint mach_read_from_2 | ( | const byte * | b | ) |
The following function is used to fetch data from 2 consecutive bytes. The most significant byte is at the lowest address.
b | in: pointer to 2 bytes |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
UNIV_INLINE ib_uint64_t 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 |
unsigned_type | in: signed or unsigned flag |
UNIV_INLINE ulint mach_read_ulint | ( | const byte * | ptr, |
ulint | type | ||
) |
Reads 1 - 4 bytes from a file page buffered in the buffer pool.
ptr | in: pointer from where to read |
type | in: 1,2 or 4 bytes |
UNIV_INLINE void mach_swap_byte_order | ( | byte * | dest, |
const byte * | from, | ||
ulint | len | ||
) |
Swap byte ordering.
dest | out: where to write |
from | 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.
n | in: 64-bit integer to be stored |
UNIV_INLINE ulint mach_ull_get_much_compressed_size | ( | ib_uint64_t | n | ) |
Returns the size of a 64-bit integer when written in the compressed form.
n | in: 64-bit integer to be stored |
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 |
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 |
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 |
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 |
n | in: 64-bit integer to be stored |
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 |
n | in: 64-bit integer to be stored |
UNIV_INLINE ulint mach_write_compressed | ( | byte * | b, |
ulint | n | ||
) |
Writes a ulint in a compressed form where the first byte codes the length of the stored ulint. We look at the most significant bits of the byte. If the most significant bit is zero, it means 1-byte storage, else if the 2nd bit is 0, it means 2-byte storage, else if 3rd is 0, it means 3-byte storage, else if 4th is 0, it means 4-byte storage, else the storage is 5-byte.
b | in: pointer to memory where to store |
n | in: ulint integer (< 2^32) to be stored |
UNIV_INLINE void mach_write_int_type | ( | byte * | dest, |
const byte * | src, | ||
ulint | len, | ||
bool | usign | ||
) |
Convert integral type from host byte order to (big-endian) storage byte order. in: signed or unsigned flag
dest | in: where to write |
src | in: where to read from |
len | in: length of src |
usign | in: signed or unsigned flag |
UNIV_INLINE void mach_write_to_1 | ( | byte * | b, |
ulint | n | ||
) |
The following function is used to store data in one byte.
b | in: pointer to byte where to store |
n | in: ulint integer to be stored, >= 0, < 256 |
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 lowest address.
b | in: pointer to two bytes where to store |
n | in: ulint integer to be stored |
UNIV_INLINE void mach_write_to_2_little_endian | ( | byte * | dest, |
ulint | n | ||
) |
Writes a ulint in the little-endian format.
dest | in: where to write |
n | in: unsigned long int to write |
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.
b | in: pointer to 3 bytes where to store |
n | in: ulint integer to be stored |
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.
b | in: pointer to four bytes where to store |
n | in: ulint integer to be stored |
UNIV_INLINE void mach_write_to_6 | ( | byte * | b, |
ib_uint64_t | n | ||
) |
The following function is used to store data in 6 consecutive bytes. We store the most significant byte to the lowest address.
b | in: pointer to 6 bytes where to store |
n | in: 48-bit integer |
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.
b | in: pointer to 7 bytes where to store |
n | in: 56-bit integer |
UNIV_INLINE void mach_write_to_8 | ( | void * | 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.
b | in: pointer to 8 bytes where to store |
n | in: 64-bit integer to be stored |
UNIV_INLINE void mach_write_to_n_little_endian | ( | byte * | dest, |
ulint | dest_size, | ||
ulint | n | ||
) |
Writes a ulint in the little-endian format.
dest | in: where to write |
dest_size | in: into how many bytes to write |
n | in: unsigned long int to write |
UNIV_INLINE void mach_write_ulonglong | ( | byte * | dest, |
ulonglong | src, | ||
ulint | len, | ||
bool | usign | ||
) |
in: signed or unsigned flag
dest | in: where to write |
src | in: where to read from |
len | in: length of dest |
usign | in: signed or unsigned flag |