Loading myisam/mi_extra.c +1 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ int mi_extra(MI_INFO *info, enum ha_extra_function function) int error=0; MYISAM_SHARE *share=info->s; DBUG_ENTER("mi_extra"); DBUG_PRINT("enter",("function: %d",(int) function)); switch (function) { case HA_EXTRA_RESET: Loading mysql-test/r/union.result +6 −2 Original line number Diff line number Diff line Loading @@ -62,7 +62,11 @@ t2 ALL NULL NULL NULL NULL 4 pseudo dekad joce pseudo1 joce testtt tsestset pseudo pseudo1 same dekad joce 1 joce testtt 1 joce tsestset 1 joce testtt 1 dekad joce 1 mysql-test/t/union.test +2 −1 Original line number Diff line number Diff line Loading @@ -60,5 +60,6 @@ CREATE TABLE t1 ( ) TYPE=MyISAM; INSERT INTO t1 (pseudo,pseudo1,same) VALUES ('joce', 'testtt', 1),('joce', 'tsestset', 1),('dekad', 'joce', 1); SELECT pseudo FROM t1 WHERE pseudo1='joce' UNION SELECT pseudo FROM t1 WHERE pseudo='joce'; SELECT * FROM t1 WHERE pseudo1='joce' UNION SELECT * FROM t1 WHERE pseudo='joce'; SELECT pseudo1 FROM t1 WHERE pseudo1='joce' UNION SELECT pseudo1 FROM t1 WHERE pseudo='joce'; SELECT * FROM t1 WHERE pseudo1='joce' UNION SELECT * FROM t1 WHERE pseudo='joce' order by pseudo desc; drop table t1; sql/sql_base.cc +8 −1 Original line number Diff line number Diff line Loading @@ -1590,7 +1590,8 @@ Field *find_field_in_table(THD *thd,TABLE *table,const char *name,uint length, else thd->dupp_field=field; } if (check_grants && !thd->master_access && check_grant_column(thd,table,name,length)) if (check_grants && !thd->master_access && check_grant_column(thd,table,name,length)) return WRONG_GRANT; return field; } Loading Loading @@ -1808,6 +1809,12 @@ bool setup_tables(TABLE_LIST *tables) DBUG_RETURN(1); table->keys_in_use_for_query &= ~map; } if (table_list->shared) { /* Clear query_id that may have been set by previous select */ for (Field **ptr=table->field ; *ptr ; ptr++) (*ptr)->query_id=0; } } if (tablenr > MAX_TABLES) { Loading sql/sql_parse.cc +3 −1 Original line number Diff line number Diff line Loading @@ -2923,6 +2923,8 @@ static bool create_total_list(THD *thd, LEX *lex, TABLE_LIST **result) new_table_list= &cursor->next; *new_table_list=0; // end result list } else aux->shared=1; // Mark that it's used twice aux->table=(TABLE *) cursor; } } Loading Loading
myisam/mi_extra.c +1 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ int mi_extra(MI_INFO *info, enum ha_extra_function function) int error=0; MYISAM_SHARE *share=info->s; DBUG_ENTER("mi_extra"); DBUG_PRINT("enter",("function: %d",(int) function)); switch (function) { case HA_EXTRA_RESET: Loading
mysql-test/r/union.result +6 −2 Original line number Diff line number Diff line Loading @@ -62,7 +62,11 @@ t2 ALL NULL NULL NULL NULL 4 pseudo dekad joce pseudo1 joce testtt tsestset pseudo pseudo1 same dekad joce 1 joce testtt 1 joce tsestset 1 joce testtt 1 dekad joce 1
mysql-test/t/union.test +2 −1 Original line number Diff line number Diff line Loading @@ -60,5 +60,6 @@ CREATE TABLE t1 ( ) TYPE=MyISAM; INSERT INTO t1 (pseudo,pseudo1,same) VALUES ('joce', 'testtt', 1),('joce', 'tsestset', 1),('dekad', 'joce', 1); SELECT pseudo FROM t1 WHERE pseudo1='joce' UNION SELECT pseudo FROM t1 WHERE pseudo='joce'; SELECT * FROM t1 WHERE pseudo1='joce' UNION SELECT * FROM t1 WHERE pseudo='joce'; SELECT pseudo1 FROM t1 WHERE pseudo1='joce' UNION SELECT pseudo1 FROM t1 WHERE pseudo='joce'; SELECT * FROM t1 WHERE pseudo1='joce' UNION SELECT * FROM t1 WHERE pseudo='joce' order by pseudo desc; drop table t1;
sql/sql_base.cc +8 −1 Original line number Diff line number Diff line Loading @@ -1590,7 +1590,8 @@ Field *find_field_in_table(THD *thd,TABLE *table,const char *name,uint length, else thd->dupp_field=field; } if (check_grants && !thd->master_access && check_grant_column(thd,table,name,length)) if (check_grants && !thd->master_access && check_grant_column(thd,table,name,length)) return WRONG_GRANT; return field; } Loading Loading @@ -1808,6 +1809,12 @@ bool setup_tables(TABLE_LIST *tables) DBUG_RETURN(1); table->keys_in_use_for_query &= ~map; } if (table_list->shared) { /* Clear query_id that may have been set by previous select */ for (Field **ptr=table->field ; *ptr ; ptr++) (*ptr)->query_id=0; } } if (tablenr > MAX_TABLES) { Loading
sql/sql_parse.cc +3 −1 Original line number Diff line number Diff line Loading @@ -2923,6 +2923,8 @@ static bool create_total_list(THD *thd, LEX *lex, TABLE_LIST **result) new_table_list= &cursor->next; *new_table_list=0; // end result list } else aux->shared=1; // Mark that it's used twice aux->table=(TABLE *) cursor; } } Loading