diff options
Diffstat (limited to 'sql')
-rw-r--r-- | sql/sp_head.cc | 3 | ||||
-rw-r--r-- | sql/sql_base.cc | 4 | ||||
-rw-r--r-- | sql/sql_builtin.cc.in | 1 | ||||
-rw-r--r-- | sql/sql_parse.cc | 2 | ||||
-rw-r--r-- | sql/sql_select.cc | 9 | ||||
-rw-r--r-- | sql/sql_show.cc | 2 | ||||
-rw-r--r-- | sql/table.cc | 3 |
7 files changed, 18 insertions, 6 deletions
diff --git a/sql/sp_head.cc b/sql/sp_head.cc index e7310787a35..ead4a1bfe58 100644 --- a/sql/sp_head.cc +++ b/sql/sp_head.cc @@ -1924,9 +1924,10 @@ sp_head::execute_procedure(THD *thd, List<Item> *args) if (spvar->mode == sp_param_out) { Item_null *null_item= new Item_null(); + Item *tmp_item= (Item*) null_item; if (!null_item || - nctx->set_variable(thd, i, (Item **)&null_item)) + nctx->set_variable(thd, i, &tmp_item)) { err_status= TRUE; break; diff --git a/sql/sql_base.cc b/sql/sql_base.cc index 9fd47a655e0..0594dcf31c0 100644 --- a/sql/sql_base.cc +++ b/sql/sql_base.cc @@ -5823,6 +5823,7 @@ find_field_in_natural_join(THD *thd, TABLE_LIST *table_ref, const char *name, { /* This is a base table. */ DBUG_ASSERT(nj_col->view_field == NULL); + Item *ref= 0; /* This fix_fields is not necessary (initially this item is fixed by the Item_field constructor; after reopen_tables the Item_func_eq @@ -5830,12 +5831,13 @@ find_field_in_natural_join(THD *thd, TABLE_LIST *table_ref, const char *name, reopening for columns that was dropped by the concurrent connection. */ if (!nj_col->table_field->fixed && - nj_col->table_field->fix_fields(thd, (Item **)&nj_col->table_field)) + nj_col->table_field->fix_fields(thd, &ref)) { DBUG_PRINT("info", ("column '%s' was dropped by the concurrent connection", nj_col->table_field->name)); DBUG_RETURN(NULL); } + DBUG_ASSERT(ref == 0); // Should not have changed DBUG_ASSERT(nj_col->table_ref->table == nj_col->table_field->field->table); found_field= nj_col->table_field->field; update_field_dependencies(thd, found_field, nj_col->table_ref->table); diff --git a/sql/sql_builtin.cc.in b/sql/sql_builtin.cc.in index 3becdbaccfe..7ecd4918d7b 100644 --- a/sql/sql_builtin.cc.in +++ b/sql/sql_builtin.cc.in @@ -13,6 +13,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ +#include <my_global.h> #include <mysql/plugin.h> typedef struct st_mysql_plugin builtin_plugin[]; diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index df8d131df59..a0a14e3af19 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -464,7 +464,7 @@ pthread_handler_t handle_bootstrap(void *arg) thd->init_for_queries(); while (fgets(buff, thd->net.max_packet, file)) { - char *query, *res; + char *query; /* strlen() can't be deleted because fgets() doesn't return length */ ulong length= (ulong) strlen(buff); while (buff[length-1] != '\n' && !feof(file)) diff --git a/sql/sql_select.cc b/sql/sql_select.cc index 47af428ed56..b44accd1123 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -3586,8 +3586,9 @@ add_key_fields(JOIN *join, KEY_FIELD **key_fields, uint *and_level, { if (!field->eq(item->field)) { + Item *tmp_item= (Item*) item; add_key_field(key_fields, *and_level, cond_func, field, - TRUE, (Item **) &item, 1, usable_tables, + TRUE, &tmp_item, 1, usable_tables, sargables); } } @@ -15748,7 +15749,11 @@ static bool add_ref_to_table_cond(THD *thd, JOIN_TAB *join_tab) DBUG_RETURN(TRUE); if (!cond->fixed) - cond->fix_fields(thd, (Item**)&cond); + { + Item *tmp_item= (Item*) cond; + cond->fix_fields(thd, &tmp_item); + DBUG_ASSERT(cond == tmp_item); + } if (join_tab->select) { error=(int) cond->add(join_tab->select->cond); diff --git a/sql/sql_show.cc b/sql/sql_show.cc index 918227122ed..a1ee50f426f 100644 --- a/sql/sql_show.cc +++ b/sql/sql_show.cc @@ -3551,7 +3551,9 @@ static int get_schema_tables_record(THD *thd, TABLE_LIST *tables, TABLE_SHARE *share= show_table->s; handler *file= show_table->file; handlerton *tmp_db_type= share->db_type(); +#ifdef WITH_PARTITION_STORAGE_ENGINE bool is_partitioned= FALSE; +#endif if (share->tmp_table == SYSTEM_TMP_TABLE) table->field[3]->store(STRING_WITH_LEN("SYSTEM VIEW"), cs); else if (share->tmp_table) diff --git a/sql/table.cc b/sql/table.cc index 2c45dc800f5..fa1f215d7b5 100644 --- a/sql/table.cc +++ b/sql/table.cc @@ -2077,8 +2077,9 @@ ulong get_form_pos(File file, uchar *head, TYPELIB *save_names) else { char *str; + const char **tmp = (const char**) (char*) buf; str=(char *) (buf+a_length); - fix_type_pointers((const char ***) &buf,save_names,1,&str); + fix_type_pointers(&tmp, save_names, 1, &str); } DBUG_RETURN(ret_value); } |