mirror of
https://github.com/MariaDB/server.git
synced 2026-01-06 05:22:24 +03:00
Merge 4.1 into 5.0 (first pass).
BitKeeper/etc/ignore: auto-union BitKeeper/etc/logging_ok: auto-union BitKeeper/deleted/.del-cron-build: Delete: netware/BUILD/cron-build BitKeeper/deleted/.del-crontab: Delete: netware/BUILD/crontab BitKeeper/triggers/post-commit: Auto merged client/mysql.cc: Auto merged client/mysqltest.c: Auto merged configure.in: Auto merged include/my_global.h: Auto merged include/my_pthread.h: Auto merged include/mysql_com.h: Auto merged libmysqld/Makefile.am: Auto merged myisam/mi_check.c: Auto merged myisam/myisamchk.c: Auto merged myisam/myisamdef.h: Auto merged myisam/sort.c: Auto merged mysql-test/r/connect.result: Auto merged mysql-test/r/rpl_temporary.result: Auto merged mysql-test/r/show_check.result: Auto merged mysql-test/r/variables.result: Auto merged mysql-test/t/subselect.test: Auto merged mysql-test/t/variables.test: Auto merged netware/BUILD/compile-AUTOTOOLS: Auto merged netware/BUILD/compile-linux-tools: Auto merged netware/BUILD/compile-netware-END: Auto merged netware/BUILD/compile-netware-START: Auto merged netware/BUILD/compile-netware-all: Auto merged netware/BUILD/compile-netware-debug: Auto merged netware/BUILD/compile-netware-standard: Auto merged netware/BUILD/mwasmnlm: Auto merged netware/BUILD/mwccnlm: Auto merged netware/BUILD/mwldnlm: Auto merged netware/BUILD/nwbootstrap: Auto merged sql/filesort.cc: Auto merged sql/ha_myisam.cc: Auto merged sql/item.h: Auto merged sql/item_create.cc: Auto merged sql/item_func.h: Auto merged sql/log.cc: Auto merged sql/log_event.cc: Auto merged sql/protocol.cc: Auto merged sql/records.cc: Auto merged sql/repl_failsafe.cc: Auto merged sql/set_var.cc: Auto merged sql/slave.cc: Auto merged sql/sql_acl.cc: Auto merged sql/sql_base.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_db.cc: Auto merged sql/sql_delete.cc: Auto merged sql/sql_derived.cc: Auto merged sql/sql_error.cc: Auto merged sql/sql_load.cc: Auto merged sql/sql_prepare.cc: Auto merged sql/sql_repl.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_show.cc: Auto merged sql/sql_table.cc: Auto merged sql/sql_union.cc: Auto merged
This commit is contained in:
@@ -115,7 +115,7 @@ bool select_union::flush()
|
||||
int st_select_lex_unit::prepare(THD *thd, select_result *sel_result,
|
||||
bool tables_and_fields_initied)
|
||||
{
|
||||
SELECT_LEX_NODE *lex_select_save= thd->lex.current_select;
|
||||
SELECT_LEX_NODE *lex_select_save= thd->lex->current_select;
|
||||
SELECT_LEX *select_cursor;
|
||||
DBUG_ENTER("st_select_lex_unit::prepare");
|
||||
|
||||
@@ -129,7 +129,7 @@ int st_select_lex_unit::prepare(THD *thd, select_result *sel_result,
|
||||
t_and_f= tables_and_fields_initied;
|
||||
|
||||
bzero((char *)&tmp_table_param,sizeof(TMP_TABLE_PARAM));
|
||||
thd->lex.current_select= select_cursor= first_select_in_union();
|
||||
thd->lex->current_select= select_cursor= first_select_in_union();
|
||||
/* Global option */
|
||||
if (((void*)(global_parameters)) == ((void*)this))
|
||||
{
|
||||
@@ -194,14 +194,14 @@ int st_select_lex_unit::prepare(THD *thd, select_result *sel_result,
|
||||
or derived table ...
|
||||
*/
|
||||
|
||||
if (thd->lex.describe)
|
||||
if (thd->lex->describe)
|
||||
{
|
||||
for (SELECT_LEX *sl= select_cursor; sl; sl= sl->next_select())
|
||||
{
|
||||
JOIN *join= new JOIN(thd, sl->item_list,
|
||||
sl->options | thd->options | SELECT_NO_UNLOCK,
|
||||
union_result);
|
||||
thd->lex.current_select= sl;
|
||||
thd->lex->current_select= sl;
|
||||
offset_limit_cnt= sl->offset_limit;
|
||||
select_limit_cnt= sl->select_limit+sl->offset_limit;
|
||||
if (select_limit_cnt < sl->select_limit)
|
||||
@@ -227,7 +227,7 @@ int st_select_lex_unit::prepare(THD *thd, select_result *sel_result,
|
||||
}
|
||||
|
||||
item_list.empty();
|
||||
thd->lex.current_select= lex_select_save;
|
||||
thd->lex->current_select= lex_select_save;
|
||||
{
|
||||
List_iterator<Item> it(select_cursor->item_list);
|
||||
Field **field;
|
||||
@@ -242,7 +242,7 @@ int st_select_lex_unit::prepare(THD *thd, select_result *sel_result,
|
||||
|
||||
DBUG_RETURN(res || thd->is_fatal_error ? 1 : 0);
|
||||
err:
|
||||
thd->lex.current_select= lex_select_save;
|
||||
thd->lex->current_select= lex_select_save;
|
||||
DBUG_RETURN(-1);
|
||||
}
|
||||
|
||||
@@ -250,7 +250,7 @@ err:
|
||||
int st_select_lex_unit::exec()
|
||||
{
|
||||
int do_print_slow= 0;
|
||||
SELECT_LEX_NODE *lex_select_save= thd->lex.current_select;
|
||||
SELECT_LEX_NODE *lex_select_save= thd->lex->current_select;
|
||||
SELECT_LEX *select_cursor=first_select_in_union();
|
||||
DBUG_ENTER("st_select_lex_unit::exec");
|
||||
|
||||
@@ -275,7 +275,7 @@ int st_select_lex_unit::exec()
|
||||
JOIN *join= new JOIN(thd, sl->item_list,
|
||||
sl->options | thd->options | SELECT_NO_UNLOCK,
|
||||
union_result);
|
||||
thd->lex.current_select= sl;
|
||||
thd->lex->current_select= sl;
|
||||
offset_limit_cnt= sl->offset_limit;
|
||||
select_limit_cnt= sl->select_limit+sl->offset_limit;
|
||||
if (select_limit_cnt < sl->select_limit)
|
||||
@@ -297,7 +297,7 @@ int st_select_lex_unit::exec()
|
||||
t_and_f=0;
|
||||
if (res | thd->is_fatal_error)
|
||||
{
|
||||
thd->lex.current_select= lex_select_save;
|
||||
thd->lex->current_select= lex_select_save;
|
||||
DBUG_RETURN(res);
|
||||
}
|
||||
res= sl->join->optimize();
|
||||
@@ -308,13 +308,13 @@ int st_select_lex_unit::exec()
|
||||
res= sl->join->error;
|
||||
if (!res && union_result->flush())
|
||||
{
|
||||
thd->lex.current_select= lex_select_save;
|
||||
thd->lex->current_select= lex_select_save;
|
||||
DBUG_RETURN(1);
|
||||
}
|
||||
}
|
||||
if (res)
|
||||
{
|
||||
thd->lex.current_select= lex_select_save;
|
||||
thd->lex->current_select= lex_select_save;
|
||||
DBUG_RETURN(res);
|
||||
}
|
||||
do_print_slow|= select_cursor->options;
|
||||
@@ -325,7 +325,7 @@ int st_select_lex_unit::exec()
|
||||
/* Send result to 'result' */
|
||||
|
||||
// to correct ORDER BY reference resolving
|
||||
thd->lex.current_select= select_cursor;
|
||||
thd->lex->current_select= select_cursor;
|
||||
res= -1;
|
||||
{
|
||||
List<Item_func_match> empty_list;
|
||||
@@ -333,7 +333,7 @@ int st_select_lex_unit::exec()
|
||||
|
||||
if (!thd->is_fatal_error) // Check if EOM
|
||||
{
|
||||
SELECT_LEX *fake_select = new SELECT_LEX(&thd->lex);
|
||||
SELECT_LEX *fake_select = new SELECT_LEX(thd->lex);
|
||||
offset_limit_cnt= (select_cursor->braces ?
|
||||
global_parameters->offset_limit : 0);
|
||||
select_limit_cnt= (select_cursor->braces ?
|
||||
@@ -368,7 +368,7 @@ int st_select_lex_unit::exec()
|
||||
QUERY_NO_GOOD_INDEX_USED));
|
||||
}
|
||||
}
|
||||
thd->lex.current_select= lex_select_save;
|
||||
thd->lex->current_select= lex_select_save;
|
||||
DBUG_RETURN(res);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user