|  | MySQL 9.5.0
    Source Code Documentation | 
#include <algorithm>#include <current_thd.h>#include <sql_class.h>#include <sql_show.h>#include <sql_table.h>#include <sql_tablespace.h>#include "api0api.h"#include "api0misc.h"#include "dict0boot.h"#include "dict0crea.h"#include "dict0dd.h"#include "dict0dict.h"#include "dict0sdi-decompress.h"#include "dict0sdi.h"#include "fsp0fsp.h"#include "ha_innodb.h"#include "trx0trx.h"| Functions | |
| static dberr_t | dict_sdi_exists (const dd::Tablespace &dd_space, uint32_t *space_id) | 
| Check if SDI Index exists in a tablespace.  More... | |
| static void | dict_sdi_report_error (int errornum, const char *operation, const dd::Table *table, const dd::Tablespace &tablespace) | 
| Report error on failure.  More... | |
| static void | dict_sdi_report_error (const char *operation, const dd::Table *table, const dd::Tablespace &tablespace) | 
| Report error on failure.  More... | |
| bool | dict_sdi_create (dd::Tablespace *tablespace) | 
| Create SDI in a tablespace.  More... | |
| bool | dict_sdi_drop (dd::Tablespace *tablespace) | 
| Drop SDI in a tablespace.  More... | |
| bool | dict_sdi_get_keys (const dd::Tablespace &tablespace, sdi_vector_t &vector) | 
| Get the SDI keys in a tablespace into the vector provided.  More... | |
| bool | dict_sdi_get (const dd::Tablespace &, const sdi_key_t *, void *, uint64_t *) | 
| Retrieve SDI from tablespace.  More... | |
| bool | dict_sdi_set (handlerton *hton, const dd::Tablespace &tablespace, const dd::Table *table, const sdi_key_t *sdi_key, const void *sdi, uint64_t sdi_len) | 
| Insert/Update SDI in tablespace.  More... | |
| bool | dict_sdi_delete (const dd::Tablespace &tablespace, const dd::Table *table, const sdi_key_t *sdi_key) | 
| Delete SDI from tablespace.  More... | |
| bool dict_sdi_create | ( | dd::Tablespace * | tablespace | ) | 
Create SDI in a tablespace.
This API should be used when upgrading a tablespace with no SDI.
| [in,out] | tablespace | tablespace object | 
| false | success | 
| true | failure | 
| bool dict_sdi_delete | ( | const dd::Tablespace & | tablespace, | 
| const dd::Table * | table, | ||
| const sdi_key_t * | sdi_key | ||
| ) | 
Delete SDI from tablespace.
| [in] | tablespace | tablespace object | 
| [in] | table | table object | 
| [in] | sdi_key | SDI key to uniquely identify the tablespace object | 
| false | success | 
| true | failure | 
| bool dict_sdi_drop | ( | dd::Tablespace * | tablespace | ) | 
Drop SDI in a tablespace.
This API should be used only when SDI is corrupted.
| [in,out] | tablespace | tablespace object | 
| false | success | 
| true | failure | 
| 
 | static | 
Check if SDI Index exists in a tablespace.
| [in] | dd_space | DD tablespace object | 
| [in,out] | space_id | space_id from tablespace object | 
| bool dict_sdi_get | ( | const dd::Tablespace & | tablespace, | 
| const sdi_key_t * | sdi_key, | ||
| void * | sdi, | ||
| uint64_t * | sdi_len | ||
| ) | 
Retrieve SDI from tablespace.
| [in] | tablespace | tablespace object | 
| [in] | sdi_key | SDI key | 
| [in,out] | sdi | SDI retrieved from tablespace | 
| [in,out] | sdi_len | in: size of memory allocated out: actual length of SDI | 
| false | success | 
| true | in case of failures like record not found, sdi_len is UINT64MAX_T, else sdi_len is actual length of SDI | 
| bool dict_sdi_get_keys | ( | const dd::Tablespace & | tablespace, | 
| sdi_vector_t & | vector | ||
| ) | 
Get the SDI keys in a tablespace into the vector provided.
| [in] | tablespace | tablespace object | 
| [in,out] | vector | vector to hold SDI keys | 
| false | success | 
| true | failure | 
| 
 | static | 
Report error on failure.
Calls dict_sdi_report_error(int errornum, const char *operation, const dd::Table *table, const dd::Tablespace &tablespace) with errornum=SDI_OPERATION_FAILED (for compatibility with existing code).
| [in] | operation | SDI set or delete | 
| [in] | table | table object for which SDI is serialized | 
| [in] | tablespace | tablespace where SDI is stored | 
| 
 | static | 
Report error on failure.
| [in] | errornum | MySQL error number (for my_error()) (Must take 4 string arguments, in the same way as ER_SDI_OPERATION_FAILED) | 
| [in] | operation | SDI set or delete | 
| [in] | table | table object for which SDI is serialized | 
| [in] | tablespace | tablespace where SDI is stored | 
| bool dict_sdi_set | ( | handlerton * | hton, | 
| const dd::Tablespace & | tablespace, | ||
| const dd::Table * | table, | ||
| const sdi_key_t * | sdi_key, | ||
| const void * | sdi, | ||
| uint64_t | sdi_len | ||
| ) | 
Insert/Update SDI in tablespace.
| [in] | hton | handlerton object | 
| [in] | tablespace | tablespace object | 
| [in] | table | table object | 
| [in] | sdi_key | SDI key to uniquely identify the tablespace object | 
| [in] | sdi | SDI to be stored in tablespace | 
| [in] | sdi_len | SDI length | 
| false | success | 
| true | failure |