summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Barkov <bar@mariadb.org>2016-07-03 10:41:16 +0400
committerAlexander Barkov <bar@mariadb.org>2016-07-03 10:41:16 +0400
commitf832b47833bd03fbb9e972508097f3f88c0ba184 (patch)
tree23d3989230570528574ca97d76899c12bf15d7c5
parentccdd63388a789f407d502848d12c618593a5ded1 (diff)
downloadmariadb-git-f832b47833bd03fbb9e972508097f3f88c0ba184.tar.gz
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.
-rw-r--r--sql/item.h2
-rw-r--r--sql/item_func.h4
-rw-r--r--sql/sql_insert.cc6
3 files changed, 6 insertions, 6 deletions
diff --git a/sql/item.h b/sql/item.h
index 93da3985d4c..8650eb9382c 100644
--- a/sql/item.h
+++ b/sql/item.h
@@ -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()
diff --git a/sql/item_func.h b/sql/item_func.h
index 6a1494040c9..a6d0374d491 100644
--- a/sql/item_func.h
+++ b/sql/item_func.h
@@ -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) :
diff --git a/sql/sql_insert.cc b/sql/sql_insert.cc
index fcf8c143ec4..3efdd2535c2 100644
--- a/sql/sql_insert.cc
+++ b/sql/sql_insert.cc
@@ -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);