![]()  | 
  
    MySQL 8.0.44
    
   Source Code Documentation 
   | 
 
Import a tablespace to a running instance. More...
#include <errno.h>#include <my_aes.h>#include <sys/types.h>#include <memory>#include <vector>#include "sql/dd/types/column_type_element.h"#include "btr0pcur.h"#include "dict0boot.h"#include "dict0crea.h"#include "dict0dd.h"#include "dict0upgrade.h"#include "ha_prototypes.h"#include "ibuf0ibuf.h"#include "lob0first.h"#include "lob0impl.h"#include "lob0lob.h"#include "lob0pages.h"#include "log0chkp.h"#include "pars0pars.h"#include "que0que.h"#include "row0import.h"#include "row0mysql.h"#include "row0quiesce.h"#include "row0sel.h"#include "row0upd.h"#include "sql/mysqld.h"#include "srv0start.h"#include "ut0new.h"#include "zlob0first.h"#include "my_dbug.h"Classes | |
| struct | row_stats_t | 
| For gathering stats on records during phase I.  More... | |
| struct | row_index_t | 
| Index information required by IMPORT.  More... | |
| struct | row_import | 
| Meta data required by IMPORT.  More... | |
| class | RecIterator | 
| Use the page cursor to iterate over records in a block.  More... | |
| class | IndexPurge | 
| Class that purges delete marked records from indexes, both secondary and cluster.  More... | |
| class | AbstractCallback | 
| Functor that is called for each physical page that is read from the tablespace file.  More... | |
| struct | FetchIndexRootPages | 
| Try and determine the index root pages by checking if the next/prev pointers are both FIL_NULL.  More... | |
| struct | FetchIndexRootPages::Index | 
| Index information gathered from the .ibd file.  More... | |
| class | PageConverter | 
Functions | |
| size_t | IO_BUFFER_SIZE (size_t m, size_t n) | 
| The size of the buffer to use for IO.  More... | |
| static void | row_import_discard_changes (row_prebuilt_t *prebuilt, trx_t *trx, dberr_t err) | 
| Clean up after import tablespace failure, this function will acquire the dictionary latches on behalf of the transaction if the transaction hasn't already acquired them.  More... | |
| static dberr_t | row_import_cleanup (row_prebuilt_t *prebuilt, trx_t *trx, dberr_t err) | 
| Clean up after import tablespace.  More... | |
| static dberr_t | row_import_error (row_prebuilt_t *prebuilt, trx_t *trx, dberr_t err) | 
| Report error during tablespace import.  More... | |
| static dberr_t | row_import_adjust_root_pages_of_secondary_indexes (trx_t *trx, dict_table_t *table, const row_import &cfg) | 
| Adjust the root page index node and leaf node segment headers, update with the new space id.  More... | |
| static dberr_t | row_import_set_sys_max_row_id (row_prebuilt_t *prebuilt, dict_table_t *table) | 
| Ensure that dict_sys->row_id exceeds SELECT MAX(DB_ROW_ID).  More... | |
| static dberr_t | row_import_cfg_read_string (FILE *file, byte *ptr, ulint max_len) | 
| Read the a string from the meta data file.  More... | |
| static dberr_t | row_import_cfg_read_index_fields (FILE *file, THD *thd, row_index_t *index, row_import *cfg) | 
| Write the meta data (index user fields) config file.  More... | |
| static dberr_t | row_import_read_index_data (FILE *file, THD *thd, row_import *cfg) | 
| Read the index names and root page numbers of the indexes and set the values.  More... | |
| static dberr_t | row_import_read_indexes (FILE *file, THD *thd, row_import *cfg) | 
| Set the index root page number for v1 format.  More... | |
| static byte * | row_import_read_bytes (FILE *file, size_t length) | 
| Read specified bytes from the meta data file.  More... | |
| static dberr_t | row_import_read_default_values (FILE *file, dict_col_t *col, mem_heap_t **heap, bool *read) | 
| Read the metadata config file.  More... | |
| static dberr_t | row_import_read_dropped_col_metadata (dd::Table *table_def, FILE *file, THD *thd, dict_col_t *col, const char *col_name) | 
| Read dd::Column metadata for the dropped table.  More... | |
| static dberr_t | row_import_read_columns (dd::Table *table_def, FILE *file, THD *thd, row_import *cfg) | 
| Read the meta data (table columns) config file.  More... | |
| static dberr_t | row_import_read_v1 (FILE *file, THD *thd, row_import *cfg) | 
| Read the contents of the <tablespace>.cfg file.  More... | |
| static dberr_t | row_import_read_v2 (FILE *file, THD *thd, row_import *cfg) | 
| Read tablespace flags and compression type info from <tablespace>.cfg file.  More... | |
| static dberr_t | row_import_read_common (dd::Table *table_def, FILE *file, THD *thd, row_import *cfg) | 
| Read the contents of the <tablespace>.cfg file.  More... | |
| static dberr_t | row_import_read_meta_data (dict_table_t *table, dd::Table *table_def, FILE *file, THD *thd, row_import &cfg) | 
| Read the contents of the <tablespace>.cfg file.  More... | |
| static dberr_t | row_import_read_cfg (dict_table_t *table, dd::Table *table_def, THD *thd, row_import &cfg) | 
| Read the contents of the <tablename>.cfg file.  More... | |
| static dberr_t | row_import_read_encryption_data (row_import &cfg, FILE *file, THD *thd) | 
| Read the contents of the .cfp file.  More... | |
| static dberr_t | row_import_read_cfp (dict_table_t *table, THD *thd, row_import &import) | 
| Read the contents of the .cfp file.  More... | |
| dberr_t | row_import_check_corruption (dict_table_t *table, THD *thd, bool missing) | 
| Check the correctness of clustered index of imported table.  More... | |
| dberr_t | row_import_for_mysql (dict_table_t *table, dd::Table *table_def, row_prebuilt_t *prebuilt) | 
| Imports a tablespace.  More... | |
Import a tablespace to a running instance.
Created 2012-02-08 by Sunny Bains.
      
  | 
  inline | 
The size of the buffer to use for IO.
Note: os_file_read() doesn't expect reads to fail. If you set the buffer size to be greater than a multiple of the file size then it will assert. TODO: Fix this limitation of the IO functions.
| m | page size of the tablespace. | 
| n | page size of the tablespace. | 
| number | of pages | 
      
  | 
  static | 
Adjust the root page index node and leaf node segment headers, update with the new space id.
For all the table's secondary indexes.
| trx | in: transaction used for the import | 
| table | in: table the indexes belong to | 
| cfg | Import context | 
      
  | 
  static | 
Write the meta data (index user fields) config file.
| file | in: file to write to | 
| thd | in/out: session | 
| index | Index being read in | 
| cfg | in/out: meta-data read | 
Read the a string from the meta data file.
| file | in/out: File to read from | 
| ptr | out: string to read | 
| max_len | in: maximum length of the output buffer in bytes | 
| dberr_t row_import_check_corruption | ( | dict_table_t * | table, | 
| THD * | thd, | ||
| bool | missing | ||
| ) | 
Check the correctness of clustered index of imported table.
Once there is corruption found, the IMPORT would be refused. This can help to detect the missing .cfg file for a table with instant added columns.
| [in,out] | table | InnoDB table object | 
| [in,out] | thd | MySQL session variable | 
| [in] | missing | true if .cfg file is missing | 
      
  | 
  static | 
Clean up after import tablespace.
| prebuilt | in/out: prebuilt from handler | 
| trx | in/out: transaction for import | 
| err | in: error code | 
      
  | 
  static | 
Clean up after import tablespace failure, this function will acquire the dictionary latches on behalf of the transaction if the transaction hasn't already acquired them.
| prebuilt | in/out: prebuilt from handler | 
| trx | in/out: transaction for import | 
| err | in: error code | 
      
  | 
  static | 
Report error during tablespace import.
| prebuilt | in/out: prebuilt from handler | 
| trx | in/out: transaction for import | 
| err | in: error code | 
| dberr_t row_import_for_mysql | ( | dict_table_t * | table, | 
| dd::Table * | table_def, | ||
| row_prebuilt_t * | prebuilt | ||
| ) | 
Imports a tablespace.
The space id in the .ibd file must match the space id of the table in the data dictionary.
| [in] | table | table | 
| [in] | table_def | dd table | 
| [in] | prebuilt | prebuilt struct in MySQL | 
      
  | 
  static | 
Read specified bytes from the meta data file.
| [in] | file | file to read from | 
| [in] | length | length of bytes to read | 
      
  | 
  static | 
Read the contents of the <tablename>.cfg file.
| [in] | table | table | 
| [in] | table_def | dd table | 
| [in] | thd | session | 
| [in,out] | cfg | contents of the .cfg file | 
      
  | 
  static | 
Read the contents of the .cfp file.
| [in] | table | table | 
| [in] | thd | session | 
| [in,out] | import | meta data | 
      
  | 
  static | 
Read the meta data (table columns) config file.
Deserialise the contents of dict_col_t structure, along with the column name.
| [in,out] | table_def | Table definition | 
| [in] | file | file to read from | 
| [in] | thd | session | 
| [in] | cfg | meta-data read | 
      
  | 
  static | 
Read the contents of the <tablespace>.cfg file.
| [in] | table_def | Table definition | 
| [in] | file | file to read from | 
| [in] | thd | session | 
| [in,out] | cfg | meta data | 
      
  | 
  static | 
Read the metadata config file.
Deserialise the contents of dict_col_t::instant_default if exists. Refer to row_quiesce_write_default_value() for the format details.
| [in] | file | file to read from | 
| [in,out] | col | column whose default value to read | 
| [in,out] | heap | memory heap to store default value | 
| [in,out] | read | true if default value read | 
      
  | 
  static | 
Read dd::Column metadata for the dropped table.
| [in,out] | table_def | Table definition | 
| [in] | file | file to read from | 
| [in] | thd | session | 
| [in] | col | dict_col_t | 
| [in] | col_name | name of the columns | 
      
  | 
  static | 
Read the contents of the .cfp file.
| [out] | cfg | the encryption key will be stored to it | 
| [in] | file | file to read from | 
| [in] | thd | session | 
      
  | 
  static | 
Read the index names and root page numbers of the indexes and set the values.
Row format [root_page_no, len of str, str ... ]
| file | in: File to read from | 
| thd | in: session | 
| cfg | in/out: meta-data read | 
      
  | 
  static | 
Set the index root page number for v1 format.
| file | in: File to read from | 
| thd | in: session | 
| cfg | in/out: meta-data read | 
      
  | 
  static | 
Read the contents of the <tablespace>.cfg file.
| [in] | table | dict table | 
| [in] | table_def | Table definition | 
| [in] | file | File to read from | 
| [in] | thd | session | 
| [out] | cfg | contents of the .cfg file | 
      
  | 
  static | 
Read the contents of the <tablespace>.cfg file.
| file | in: File to read from | 
| thd | in: session | 
| cfg | out: meta data | 
      
  | 
  static | 
Read tablespace flags and compression type info from <tablespace>.cfg file.
| [in] | file | File to read from | 
| [in] | thd | session | 
| [in,out] | cfg | meta data | 
      
  | 
  static | 
Ensure that dict_sys->row_id exceeds SELECT MAX(DB_ROW_ID).
| prebuilt | in/out: prebuilt from handler | 
| table | in: table to import |