mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Changed database, tablename and alias to be LEX_CSTRING
This was done in, among other things: - thd->db and thd->db_length - TABLE_LIST tablename, db, alias and schema_name - Audit plugin database name - lex->db - All db and table names in Alter_table_ctx - st_select_lex db Other things: - Changed a lot of functions to take const LEX_CSTRING* as argument for db, table_name and alias. See init_one_table() as an example. - Changed some function arguments from LEX_CSTRING to const LEX_CSTRING - Changed some lists from LEX_STRING to LEX_CSTRING - threads_mysql.result changed because process list_db wasn't always correctly updated - New append_identifier() function that takes LEX_CSTRING* as arguments - Added new element tmp_buff to Alter_table_ctx to separate temp name handling from temporary space - Ensure we store the length after my_casedn_str() of table/db names - Removed not used version of rename_table_in_stat_tables() - Changed Natural_join_column::table_name and db_name() to never return NULL (used for print) - thd->get_db() now returns db as a printable string (thd->db.str or "")
This commit is contained in:
@ -98,8 +98,8 @@ int delete_statistics_for_table(THD *thd, LEX_CSTRING *db, LEX_CSTRING *tab);
|
||||
int delete_statistics_for_column(THD *thd, TABLE *tab, Field *col);
|
||||
int delete_statistics_for_index(THD *thd, TABLE *tab, KEY *key_info,
|
||||
bool ext_prefixes_only);
|
||||
int rename_table_in_stat_tables(THD *thd, LEX_CSTRING *db, LEX_CSTRING *tab,
|
||||
LEX_CSTRING *new_db, LEX_CSTRING *new_tab);
|
||||
int rename_table_in_stat_tables(THD *thd, const LEX_CSTRING *db, const LEX_CSTRING *tab,
|
||||
const LEX_CSTRING *new_db, const LEX_CSTRING *new_tab);
|
||||
int rename_column_in_stat_tables(THD *thd, TABLE *tab, Field *col,
|
||||
const char *new_name);
|
||||
void set_statistics_for_table(THD *thd, TABLE *table);
|
||||
@ -110,7 +110,7 @@ double get_column_range_cardinality(Field *field,
|
||||
key_range *min_endp,
|
||||
key_range *max_endp,
|
||||
uint range_flag);
|
||||
bool is_stat_table(const char *db, const char *table);
|
||||
bool is_stat_table(const LEX_CSTRING *db, LEX_CSTRING *table);
|
||||
|
||||
class Histogram
|
||||
{
|
||||
@ -255,18 +255,6 @@ public:
|
||||
class Columns_statistics;
|
||||
class Index_statistics;
|
||||
|
||||
static inline
|
||||
int rename_table_in_stat_tables(THD *thd, const char *db, const char *tab,
|
||||
const char *new_db, const char *new_tab)
|
||||
{
|
||||
LEX_CSTRING od= { db, strlen(db) };
|
||||
LEX_CSTRING ot= { tab, strlen(tab) };
|
||||
LEX_CSTRING nd= { new_db, strlen(new_db) };
|
||||
LEX_CSTRING nt= { new_tab, strlen(new_tab) };
|
||||
return rename_table_in_stat_tables(thd, &od, &ot, &nd, &nt);
|
||||
}
|
||||
|
||||
|
||||
/* Statistical data on a table */
|
||||
|
||||
class Table_statistics
|
||||
|
Reference in New Issue
Block a user