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:
@ -297,9 +297,9 @@ dbcontext::init_thread(const void *stack_bottom, volatile int& shutdown_flag)
|
||||
#else
|
||||
thd->options |= OPTION_BIN_LOG;
|
||||
#endif
|
||||
safeFree(thd->db);
|
||||
thd->db = 0;
|
||||
thd->db = my_strdup("handlersocket", MYF(0));
|
||||
safeFree((char*) thd->db.str);
|
||||
thd->db.str= my_strdup("handlersocket", MYF(0));
|
||||
thd->db.length= sizeof("handlersocket")-1;
|
||||
}
|
||||
thd->variables.option_bits |= OPTION_TABLE_LOCK;
|
||||
my_pthread_setspecific_ptr(THR_THD, thd);
|
||||
@ -1005,8 +1005,9 @@ dbcontext::cmd_open(dbcallback_i& cb, const cmd_open_args& arg)
|
||||
bool refresh = true;
|
||||
const thr_lock_type lock_type = for_write_flag ? TL_WRITE : TL_READ;
|
||||
#if MYSQL_VERSION_ID >= 50505
|
||||
tables.init_one_table(arg.dbn, strlen(arg.dbn), arg.tbl, strlen(arg.tbl),
|
||||
arg.tbl, lock_type);
|
||||
LEX_CSTRING db_name= { arg.dbn, strlen(arg.dbn) };
|
||||
LEX_CSTRING tbl_name= { arg.tbl, strlen(arg.tbl) };
|
||||
tables.init_one_table(&db_name, &tbl_name, 0, lock_type);
|
||||
tables.mdl_request.init(MDL_key::TABLE, arg.dbn, arg.tbl,
|
||||
for_write_flag ? MDL_SHARED_WRITE : MDL_SHARED_READ, MDL_TRANSACTION);
|
||||
Open_table_context ot_act(thd, 0);
|
||||
|
Reference in New Issue
Block a user