mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Removing the "thd" argument from Item::create_field_for_create_select().
"thd" is available through the "table" argument, as table->in_use. Backporting (partially) from 10.2.
This commit is contained in:
@ -1023,7 +1023,7 @@ public:
|
||||
virtual Field *get_tmp_table_field() { return 0; }
|
||||
/* This is also used to create fields in CREATE ... SELECT: */
|
||||
virtual Field *tmp_table_field(TABLE *t_arg) { return 0; }
|
||||
virtual Field *create_field_for_create_select(THD *thd, TABLE *table);
|
||||
virtual Field *create_field_for_create_select(TABLE *table);
|
||||
virtual Field *create_field_for_schema(THD *thd, TABLE *table);
|
||||
virtual const char *full_name() const { return name ? name : "???"; }
|
||||
const char *field_name_or_null()
|
||||
|
@ -175,7 +175,7 @@ public:
|
||||
friend class udf_handler;
|
||||
Field *tmp_table_field() { return result_field; }
|
||||
Field *tmp_table_field(TABLE *t_arg);
|
||||
Field *create_field_for_create_select(THD *thd, TABLE *table)
|
||||
Field *create_field_for_create_select(TABLE *table)
|
||||
{
|
||||
return result_type() != STRING_RESULT ?
|
||||
tmp_table_field(table) :
|
||||
@ -1762,7 +1762,7 @@ public:
|
||||
bool update();
|
||||
bool fix_fields(THD *thd, Item **ref);
|
||||
void fix_length_and_dec();
|
||||
Field *create_field_for_create_select(THD *thd, TABLE *table)
|
||||
Field *create_field_for_create_select(TABLE *table)
|
||||
{
|
||||
return result_type() != STRING_RESULT ?
|
||||
tmp_table_field(table) :
|
||||
|
@ -3924,10 +3924,10 @@ void select_insert::abort_result_set() {
|
||||
CREATE TABLE (SELECT) ...
|
||||
***************************************************************************/
|
||||
|
||||
Field *Item::create_field_for_create_select(THD *thd, TABLE *table)
|
||||
Field *Item::create_field_for_create_select(TABLE *table)
|
||||
{
|
||||
Field *def_field, *tmp_field;
|
||||
return create_tmp_field(thd, table, this, type(),
|
||||
return create_tmp_field(table->in_use, table, this, type(),
|
||||
(Item ***) 0, &tmp_field, &def_field, 0, 0, 0, 0);
|
||||
}
|
||||
|
||||
@ -4002,7 +4002,7 @@ static TABLE *create_table_from_items(THD *thd,
|
||||
|
||||
while ((item=it++))
|
||||
{
|
||||
Field *tmp_field= item->create_field_for_create_select(thd, &tmp_table);
|
||||
Field *tmp_field= item->create_field_for_create_select(&tmp_table);
|
||||
|
||||
if (!tmp_field)
|
||||
DBUG_RETURN(NULL);
|
||||
|
Reference in New Issue
Block a user