1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0

into  moonbone.local:/work/tmp_merge-5.0-opt-mysql


mysql-test/r/rpl_insert_id.result:
  Auto merged
mysql-test/t/rpl_insert_id.test:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/item_strfunc.h:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
This commit is contained in:
unknown
2006-07-13 18:16:16 +04:00
18 changed files with 216 additions and 28 deletions

View File

@@ -755,6 +755,7 @@ static bool check_view_insertability(THD * thd, TABLE_LIST *view)
uint used_fields_buff_size= (table->s->fields + 7) / 8;
uchar *used_fields_buff= (uchar*)thd->alloc(used_fields_buff_size);
MY_BITMAP used_fields;
bool save_set_query_id= thd->set_query_id;
DBUG_ENTER("check_key_in_view");
if (!used_fields_buff)
@@ -767,15 +768,26 @@ static bool check_view_insertability(THD * thd, TABLE_LIST *view)
bitmap_clear_all(&used_fields);
view->contain_auto_increment= 0;
/*
we must not set query_id for fields as they're not
really used in this context
*/
thd->set_query_id= 0;
/* check simplicity and prepare unique test of view */
for (trans= trans_start; trans != trans_end; trans++)
{
if (!trans->item->fixed && trans->item->fix_fields(thd, &trans->item))
return TRUE;
{
thd->set_query_id= save_set_query_id;
DBUG_RETURN(TRUE);
}
Item_field *field;
/* simple SELECT list entry (field without expression) */
if (!(field= trans->item->filed_for_view_update()))
{
thd->set_query_id= save_set_query_id;
DBUG_RETURN(TRUE);
}
if (field->field->unireg_check == Field::NEXT_NUMBER)
view->contain_auto_increment= 1;
/* prepare unique test */
@@ -785,6 +797,7 @@ static bool check_view_insertability(THD * thd, TABLE_LIST *view)
*/
trans->item= field;
}
thd->set_query_id= save_set_query_id;
/* unique test */
for (trans= trans_start; trans != trans_end; trans++)
{