MCPcopy Create free account
hub / github.com/MariaDB/server / mrn_create_tmp_table_share

Function mrn_create_tmp_table_share

storage/mroonga/mrn_table.cpp:1030–1068  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1028}
1029
1030TABLE_SHARE *mrn_create_tmp_table_share(TABLE_LIST *table_list, const char *path,
1031 int *error)
1032{
1033 uint key_length;
1034 TABLE_SHARE *share;
1035 THD *thd = current_thd;
1036
1037 MRN_DBUG_ENTER_FUNCTION();
1038#ifdef MRN_HAVE_GET_TABLE_DEF_KEY
1039 const char *key;
1040 key_length = get_table_def_key(table_list, &key);
1041#else
1042 char key[MAX_DBKEY_LENGTH];
1043 key_length = create_table_def_key(thd, key, table_list, FALSE);
1044#endif
1045#if MYSQL_VERSION_ID >= 100002 && defined(MRN_MARIADB_P)
1046 share = alloc_table_share(table_list->db.str, table_list->table_name.str, key,
1047 key_length);
1048#else
1049 share = alloc_table_share(table_list, key, key_length);
1050#endif
1051 if (!share)
1052 {
1053 *error = ER_CANT_OPEN_FILE;
1054 DBUG_RETURN(NULL);
1055 }
1056 share->tmp_table = NO_TMP_TABLE; // TODO: is this right?
1057 share->path.str = (char *) path;
1058 share->path.length = strlen(share->path.str);
1059 share->normalized_path.str = mrn_my_strdup(path, MYF(MY_WME));
1060 share->normalized_path.length = strlen(share->normalized_path.str);
1061 if (open_table_def(thd, share, GTS_TABLE))
1062 {
1063 *error = ER_CANT_OPEN_FILE;
1064 mrn_free_tmp_table_share(share);
1065 DBUG_RETURN(NULL);
1066 }
1067 DBUG_RETURN(share);
1068}
1069
1070void mrn_free_tmp_table_share(TABLE_SHARE *tmp_table_share)
1071{

Callers 5

delete_tableMethod · 0.85
rename_tableMethod · 0.85

Calls 4

get_table_def_keyFunction · 0.85
alloc_table_shareFunction · 0.85
open_table_defFunction · 0.85
mrn_free_tmp_table_shareFunction · 0.85

Tested by

no test coverage detected