1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-07 00:04:31 +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:
Monty
2018-01-07 18:03:44 +02:00
parent 921c5e9314
commit a7e352b54d
145 changed files with 2361 additions and 2407 deletions

View File

@@ -65,8 +65,7 @@ struct mysql_event_general
unsigned long long general_rows;
/* Added in version 0x302 */
unsigned long long query_id;
const char *database;
unsigned int database_length;
MYSQL_CONST_LEX_STRING database;
};
@@ -101,8 +100,7 @@ struct mysql_event_connection
unsigned int host_length;
const char *ip;
unsigned int ip_length;
const char *database;
unsigned int database_length;
MYSQL_CONST_LEX_STRING database;
};
/*
@@ -137,17 +135,13 @@ struct mysql_event_table
const char *proxy_user;
const char *host;
const char *ip;
const char *database;
unsigned int database_length;
const char *table;
unsigned int table_length;
MYSQL_CONST_LEX_STRING database;
MYSQL_CONST_LEX_STRING table;
/* for MYSQL_AUDIT_TABLE_RENAME */
MYSQL_CONST_LEX_STRING new_database;
MYSQL_CONST_LEX_STRING new_table;
/* for MYSQL_AUDIT_TABLE_LOCK, true if read-only, false if read/write */
int read_only;
/* for MYSQL_AUDIT_TABLE_RENAME */
const char *new_database;
unsigned int new_database_length;
const char *new_table;
unsigned int new_table_length;
/* Added in version 0x302 */
unsigned long long query_id;
};