![]()  | 
  
    MySQL 9.5.0
    
   Source Code Documentation 
   | 
 
Utilities for converting data from the database file to the machine format. More...
Go to the source code of this file.
Functions | |
| static void | mach_write_to_1 (byte *b, ulint n) | 
| The following function is used to store data in one byte.  More... | |
| static uint8_t | mach_read_from_1 (const byte *b) | 
| The following function is used to fetch data from one byte.  More... | |
| static void | mach_write_to_2 (byte *b, ulint n) | 
| The following function is used to store data in two consecutive bytes.  More... | |
| static uint16_t | mach_read_from_2 (const byte *b) | 
| The following function is used to fetch data from 2 consecutive bytes.  More... | |
| static uint16_t | 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.  More... | |
| static 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.  More... | |
| static void | mach_write_to_3 (byte *b, ulint n) | 
| The following function is used to store data in 3 consecutive bytes.  More... | |
| static uint32_t | mach_read_from_3 (const byte *b) | 
| The following function is used to fetch data from 3 consecutive bytes.  More... | |
| static void | mach_write_to_4 (byte *b, ulint n) | 
| The following function is used to store data in 4 consecutive bytes.  More... | |
| static uint32_t | mach_read_from_4 (const byte *b) | 
| The following function is used to fetch data from 4 consecutive bytes.  More... | |
| static ulint | mach_write_compressed (byte *b, ulint n) | 
| Write a ulint in a compressed form (1..5 bytes).  More... | |
| static uint32_t | mach_get_compressed_size (ulint n) | 
| Return the size of an ulint when written in the compressed form.  More... | |
| static uint32_t | mach_read_next_compressed (const byte **b) | 
| Read a 32-bit integer in a compressed form.  More... | |
| static void | mach_write_to_6 (byte *b, uint64_t id) | 
| The following function is used to store data in 6 consecutive bytes.  More... | |
| static uint64_t | mach_read_from_6 (const byte *b) | 
| The following function is used to fetch data from 6 consecutive bytes.  More... | |
| static void | mach_write_to_7 (byte *b, uint64_t n) | 
| The following function is used to store data in 7 consecutive bytes.  More... | |
| static uint64_t | mach_read_from_7 (const byte *b) | 
| The following function is used to fetch data from 7 consecutive bytes.  More... | |
| static void | mach_write_to_8 (void *b, uint64_t n) | 
| The following function is used to store data in 8 consecutive bytes.  More... | |
| static uint64_t | mach_read_from_8 (const byte *b) | 
| The following function is used to fetch data from 8 consecutive bytes.  More... | |
| static ulint | mach_u64_write_compressed (byte *b, uint64_t n) | 
| Writes a 64-bit integer in a compressed form (5..9 bytes).  More... | |
| static uint64_t | mach_u64_read_next_compressed (const byte **b) | 
| Read a 64-bit integer in a compressed form.  More... | |
| static ulint | mach_u64_write_much_compressed (byte *b, uint64_t n) | 
| Writes a 64-bit integer in a compressed form (1..11 bytes).  More... | |
| static uint64_t | mach_u64_read_much_compressed (const byte *b) | 
| Reads a 64-bit integer in a compressed form.  More... | |
| uint64_t | mach_parse_u64_much_compressed (const byte **ptr, const byte *end_ptr) | 
| Read a 64-bit integer in a much compressed form.  More... | |
| uint32_t | mach_parse_compressed (const byte **ptr, const byte *end_ptr) | 
| Read a 32-bit integer in a compressed form.  More... | |
| static uint64_t | mach_u64_parse_compressed (const byte **ptr, const byte *end_ptr) | 
| Read a 64-bit integer in a compressed form.  More... | |
| static double | mach_double_read (const byte *b) | 
| Reads a double.  More... | |
| static void | mach_double_write (byte *b, double d) | 
| Writes a double.  More... | |
| static float | mach_float_read (const byte *b) | 
| Reads a float.  More... | |
| static void | mach_float_write (byte *b, float d) | 
| Writes a float.  More... | |
| static ulint | mach_read_from_n_little_endian (const byte *buf, ulint buf_size) | 
| Reads a ulint stored in the little-endian format.  More... | |
| static void | mach_write_to_n_little_endian (byte *dest, ulint dest_size, ulint n) | 
| Writes a ulint in the little-endian format.  More... | |
| static ulint | mach_read_from_2_little_endian (const byte *buf) | 
| Reads a ulint stored in the little-endian format.  More... | |
| static void | mach_write_to_2_little_endian (byte *dest, ulint n) | 
| Writes a ulint in the little-endian format.  More... | |
| static uint64_t | mach_read_int_type (const byte *src, ulint len, bool unsigned_type) | 
| Convert integral type from storage byte order (big endian) to host byte order.  More... | |
| static 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.  More... | |
| static void | mach_write_ulonglong (byte *dest, ulonglong src, ulint len, bool usign) | 
| Convert a ulonglong integer from host byte order to (big-endian) storage byte order.  More... | |
| static uint32_t | mach_read_ulint (const byte *ptr, mlog_id_t type) | 
| Read 1 to 4 bytes from a file page buffered in the buffer pool.  More... | |
| static void | mach_write_ulint (byte *ptr, ulint val, mlog_id_t type) | 
| Writes 1, 2 or 4 bytes to a file page.  More... | |
Utilities for converting data from the database file to the machine format.
Created 11/28/1995 Heikki Tuuri
The following function is used to convert a 16-bit data item from the canonical format, for fast bytewise equality test against memory.
| [in] | n | 16-bit integer in canonical format | 
      
  | 
  inlinestatic | 
Reads a double.
It is stored in a little-endian format.
      
  | 
  inlinestatic | 
Writes a double.
It is stored in a little-endian format.
| [in] | b | pointer to memory where to write | 
| [in] | d | double | 
      
  | 
  inlinestatic | 
The following function is used to convert a 16-bit data item to the canonical format, for fast bytewise equality test against memory.
| [in] | n | integer in machine-dependent format | 
      
  | 
  inlinestatic | 
Reads a float.
It is stored in a little-endian format.
      
  | 
  inlinestatic | 
Writes a float.
It is stored in a little-endian format.
| [in] | b | pointer to memory where to write | 
| [in] | d | float | 
      
  | 
  inlinestatic | 
Return the size of an ulint when written in the compressed form.
| [in] | n | ulint integer to be stored | 
Read a 32-bit integer in a compressed form.
| [in,out] | ptr | pointer to memory from where to read; advanced by the number of bytes consumed, or set NULL if out of space | 
| [in] | end_ptr | end of the buffer | 
Read a 64-bit integer in a much compressed form.
| [in,out] | ptr | pointer to memory from where to read, advanced by the number of bytes consumed, or set NULL if out of space | 
| [in] | end_ptr | end of the buffer | 
      
  | 
  inlinestatic | 
The following function is used to fetch data from one byte.
| [in] | b | pointer to a byte to read | 
      
  | 
  inlinestatic | 
The following function is used to fetch data from 2 consecutive bytes.
The most significant byte is at the lowest address.
| [in] | b | pointer to 2 bytes where to store | 
Reads a ulint stored in the little-endian format.
      
  | 
  inlinestatic | 
The following function is used to fetch data from 3 consecutive bytes.
The most significant byte is at the lowest address.
| [in] | b | pointer to 3 bytes to read | 
      
  | 
  inlinestatic | 
The following function is used to fetch data from 4 consecutive bytes.
The most significant byte is at the lowest address.
| [in] | b | pointer to 4 bytes to read | 
      
  | 
  inlinestatic | 
The following function is used to fetch data from 6 consecutive bytes.
The most significant byte is at the lowest address.
| [in] | b | pointer to 6 bytes to read | 
      
  | 
  inlinestatic | 
The following function is used to fetch data from 7 consecutive bytes.
The most significant byte is at the lowest address.
| [in] | b | pointer to 7 bytes to read | 
      
  | 
  inlinestatic | 
The following function is used to fetch data from 8 consecutive bytes.
The most significant byte is at the lowest address.
| [in] | b | pointer to 8 bytes to read | 
Reads a ulint stored in the little-endian format.
| [in] | buf | From where to read. | 
| [in] | buf_size | From how many bytes to read. | 
Convert integral type from storage byte order (big endian) to host byte order.
| [in] | src | where to read from | 
| [in] | len | length of src | 
| [in] | unsigned_type | signed or unsigned flag | 
      
  | 
  inlinestatic | 
Read a 32-bit integer in a compressed form.
| [in,out] | b | pointer to memory where to read; advanced by the number of bytes consumed | 
Read 1 to 4 bytes from a file page buffered in the buffer pool.
| [in] | ptr | pointer where to read | 
| [in] | type | MLOG_1BYTE, MLOG_2BYTES, or MLOG_4BYTES | 
Read a 64-bit integer in a compressed form.
| [in,out] | ptr | pointer to memory from where to read; advanced by the number of bytes consumed, or set NULL if out of space | 
| [in] | end_ptr | end of the buffer | 
      
  | 
  inlinestatic | 
Reads a 64-bit integer in a compressed form.
| [in] | b | pointer to memory from where to read | 
      
  | 
  inlinestatic | 
Read a 64-bit integer in a compressed form.
| [in,out] | b | pointer to memory where to read; advanced by the number of bytes consumed | 
Writes a 64-bit integer in a compressed form (5..9 bytes).
| [in] | b | pointer to memory where to store | 
| [in] | n | 64-bit integer to be stored | 
Writes a 64-bit integer in a compressed form (1..11 bytes).
| [in] | b | pointer to memory where to store | 
| [in] | n | 64-bit integer to be stored | 
Write a ulint in a compressed form (1..5 bytes).
| [in] | b | pointer to memory where to store | 
| [in] | n | ulint integer to be stored | 
      
  | 
  inlinestatic | 
Convert integral type from host byte order to (big-endian) storage byte order.
| [in] | dest | where to write | 
| [in] | src | where to read | 
| [in] | len | length of src | 
| [in] | usign | signed or unsigned flag | 
The following function is used to store data in one byte.
| [in] | b | pointer to byte where to store | 
| [in] | n | One byte integer to be stored, >= 0, < 256 | 
The following function is used to store data in two consecutive bytes.
We store the most significant byte to the lower address.
| [in] | b | pointer to 2 bytes where to store | 
| [in] | n | 2-byte integer to be stored, >= 0, < 64k | 
Writes a ulint in the little-endian format.
| [in] | dest | where to write | 
| [in] | n | unsigned long int to write | 
The following function is used to store data in 3 consecutive bytes.
We store the most significant byte to the lowest address.
| [in] | b | pointer to 3 bytes where to store | 
| [in] | n | 3 byte integer to be stored | 
The following function is used to store data in 4 consecutive bytes.
We store the most significant byte to the lowest address.
| [in] | b | pointer to 4 bytes where to store | 
| [in] | n | 4 byte integer to be stored | 
      
  | 
  inlinestatic | 
The following function is used to store data in 6 consecutive bytes.
We store the most significant byte to the lowest address.
| [in] | b | pointer to 6 bytes where to store | 
| [in] | id | 48-bit integer to write | 
      
  | 
  inlinestatic | 
The following function is used to store data in 7 consecutive bytes.
We store the most significant byte to the lowest address.
| [in] | b | pointer to 7 bytes where to store | 
| [in] | n | 56-bit integer | 
      
  | 
  inlinestatic | 
The following function is used to store data in 8 consecutive bytes.
We store the most significant byte to the lowest address.
| [in] | b | pointer to 8 bytes where to store | 
| [in] | n | 64-bit integer to be stored | 
Writes a ulint in the little-endian format.
| [in] | dest | where to write | 
| [in] | dest_size | into how many bytes to write | 
| [in] | n | unsigned long int to write | 
Writes 1, 2 or 4 bytes to a file page.
| [in] | ptr | pointer where to write | 
| [in] | val | value to write | 
| [in] | type | MLOG_1BYTE, MLOG_2BYTES, MLOG_4BYTES |