summaryrefslogtreecommitdiff
path: root/sql/sql_update.cc
diff options
context:
space:
mode:
authorunknown <bell@sanja.is.com.ua>2002-10-30 13:18:52 +0200
committerunknown <bell@sanja.is.com.ua>2002-10-30 13:18:52 +0200
commit0bb1e716bcb14aa8321893b906aaf79f32b7c577 (patch)
tree27649c1870a43321e1b60ed8b0693461db05b8f1 /sql/sql_update.cc
parentfc4c9c01ee8105888b75f01728f651c4c496cc22 (diff)
downloadmariadb-git-0bb1e716bcb14aa8321893b906aaf79f32b7c577.tar.gz
removed SELECT_LEX_UNIT -> SELECT_LEX pointer conversion (SCRUM)
fixed some possible bugs sql/item.cc: removed SELECT_LEX_UNIT -> SELECT_LEX pointer conversion sql/item_subselect.cc: removed SELECT_LEX_UNIT -> SELECT_LEX pointer conversion sql/item_sum.cc: removed SELECT_LEX_UNIT -> SELECT_LEX pointer conversion sql/mysql_priv.h: removed SELECT_LEX_UNIT -> SELECT_LEX pointer conversion sql/sql_base.cc: removed SELECT_LEX_UNIT -> SELECT_LEX pointer conversion sql/sql_cache.cc: removed SELECT_LEX_UNIT -> SELECT_LEX pointer conversion sql/sql_delete.cc: removed SELECT_LEX_UNIT -> SELECT_LEX pointer conversion sql/sql_lex.cc: removed SELECT_LEX_UNIT -> SELECT_LEX pointer conversion sql/sql_lex.h: removed SELECT_LEX_UNIT -> SELECT_LEX pointer conversion fixed some possible bugs sql/sql_parse.cc: removed SELECT_LEX_UNIT -> SELECT_LEX pointer conversion sql/sql_prepare.cc: removed SELECT_LEX_UNIT -> SELECT_LEX pointer conversion sql/sql_repl.cc: removed SELECT_LEX_UNIT -> SELECT_LEX pointer conversion sql/sql_select.cc: removed SELECT_LEX_UNIT -> SELECT_LEX pointer conversion sql/sql_union.cc: removed SELECT_LEX_UNIT -> SELECT_LEX pointer conversion sql/sql_update.cc: removed SELECT_LEX_UNIT -> SELECT_LEX pointer conversion sql/sql_yacc.yy: removed SELECT_LEX_UNIT -> SELECT_LEX pointer conversion
Diffstat (limited to 'sql/sql_update.cc')
-rw-r--r--sql/sql_update.cc13
1 files changed, 10 insertions, 3 deletions
diff --git a/sql/sql_update.cc b/sql/sql_update.cc
index e8d4af94640..b00a8ba851c 100644
--- a/sql/sql_update.cc
+++ b/sql/sql_update.cc
@@ -78,7 +78,7 @@ int mysql_update(THD *thd,
want_privilege=table->grant.want_privilege;
table->grant.want_privilege=(SELECT_ACL & ~table->grant.privilege);
if (setup_tables(table_list) || setup_conds(thd,table_list,&conds)
- || setup_ftfuncs(thd))
+ || setup_ftfuncs(&thd->lex.select_lex))
DBUG_RETURN(-1); /* purecov: inspected */
old_used_keys=table->used_keys; // Keys used in WHERE
@@ -142,7 +142,7 @@ int mysql_update(THD *thd,
DBUG_RETURN(1);
}
}
- init_ftfuncs(thd,1);
+ init_ftfuncs(thd, &thd->lex.select_lex, 1);
/* Check if we are modifying a key that we are used to search with */
if (select && select->quick)
used_key_is_modified= (!select->quick->unique_key_range() &&
@@ -508,7 +508,14 @@ multi_update::prepare(List<Item> &values, SELECT_LEX_UNIT *u)
counter++;
}
}
- init_ftfuncs(thd,1);
+ /*
+
+ There are (SELECT_LEX*) pointer conversion here global union parameters
+ can't be used in multiupdate
+
+ TODO: check is thd->lex.current_select == &thd->lex.select_lex?
+ */
+ init_ftfuncs(thd, (SELECT_LEX*)thd->lex.current_select, 1);
error = 0; // Timestamps do not need to be restored, so far ...
DBUG_RETURN(0);
}