mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge sinisa@work.mysql.com:/home/bk/mysql-4.1
into sinisa.nasamreza.org:/mnt/work/mysql-4.1
This commit is contained in:
@ -1,6 +1,9 @@
|
|||||||
drop table if exists t1,t2;
|
drop table if exists t1,t2;
|
||||||
create table t1 (i int, j int);
|
create table t1 (i int, j int);
|
||||||
insert into t1 values (1,2), (3,4), (5,6), (7,8);
|
insert into t1 values (1,2), (3,4), (5,6), (7,8);
|
||||||
|
select count(*) from t1 procedure analyse();
|
||||||
|
Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype
|
||||||
|
-6510615555426900571 -6510615555426900571 -6510615555426900571 -6510615555426900571
|
||||||
select * from t1 procedure analyse();
|
select * from t1 procedure analyse();
|
||||||
Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype
|
Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype
|
||||||
t1.i 1 7 1 1 0 0 4.0000 2.2361 ENUM('1','3','5','7') NOT NULL
|
t1.i 1 7 1 1 0 0 4.0000 2.2361 ENUM('1','3','5','7') NOT NULL
|
||||||
|
@ -5,6 +5,8 @@ insert into t1 values
|
|||||||
(14,"aaa"),(15,"bbb"),(16,"ccc"),(16,"xxx"),
|
(14,"aaa"),(15,"bbb"),(16,"ccc"),(16,"xxx"),
|
||||||
(20,"ggg"),(21,"hhh"),(22,"iii");
|
(20,"ggg"),(21,"hhh"),(22,"iii");
|
||||||
handler t1 open as t2;
|
handler t1 open as t2;
|
||||||
|
handler t2 read a=(SELECT 1);
|
||||||
|
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT 1)' at line 1
|
||||||
handler t2 read a first;
|
handler t2 read a first;
|
||||||
a b
|
a b
|
||||||
14 aaa
|
14 aaa
|
||||||
|
@ -7,6 +7,7 @@ drop table if exists t1,t2;
|
|||||||
--enable_warnings
|
--enable_warnings
|
||||||
create table t1 (i int, j int);
|
create table t1 (i int, j int);
|
||||||
insert into t1 values (1,2), (3,4), (5,6), (7,8);
|
insert into t1 values (1,2), (3,4), (5,6), (7,8);
|
||||||
|
select count(*) from t1 procedure analyse();
|
||||||
select * from t1 procedure analyse();
|
select * from t1 procedure analyse();
|
||||||
create table t2 select * from t1 procedure analyse();
|
create table t2 select * from t1 procedure analyse();
|
||||||
select * from t2;
|
select * from t2;
|
||||||
|
@ -12,6 +12,8 @@ insert into t1 values
|
|||||||
(14,"aaa"),(15,"bbb"),(16,"ccc"),(16,"xxx"),
|
(14,"aaa"),(15,"bbb"),(16,"ccc"),(16,"xxx"),
|
||||||
(20,"ggg"),(21,"hhh"),(22,"iii");
|
(20,"ggg"),(21,"hhh"),(22,"iii");
|
||||||
handler t1 open as t2;
|
handler t1 open as t2;
|
||||||
|
-- error 1064
|
||||||
|
handler t2 read a=(SELECT 1);
|
||||||
handler t2 read a first;
|
handler t2 read a first;
|
||||||
handler t2 read a next;
|
handler t2 read a next;
|
||||||
handler t2 read a next;
|
handler t2 read a next;
|
||||||
|
@ -714,6 +714,13 @@ JOIN::exec()
|
|||||||
int tmp_error;
|
int tmp_error;
|
||||||
|
|
||||||
DBUG_ENTER("JOIN::exec");
|
DBUG_ENTER("JOIN::exec");
|
||||||
|
|
||||||
|
if (procedure)
|
||||||
|
{
|
||||||
|
if (procedure->change_columns(fields_list) ||
|
||||||
|
result->prepare(fields_list, unit))
|
||||||
|
DBUG_VOID_RETURN;
|
||||||
|
}
|
||||||
|
|
||||||
if (!tables_list)
|
if (!tables_list)
|
||||||
{ // Only test of functions
|
{ // Only test of functions
|
||||||
@ -768,8 +775,6 @@ JOIN::exec()
|
|||||||
test_if_skip_sort_order(&join_tab[const_tables], order,
|
test_if_skip_sort_order(&join_tab[const_tables], order,
|
||||||
select_limit, 0))))
|
select_limit, 0))))
|
||||||
order=0;
|
order=0;
|
||||||
if (procedure)
|
|
||||||
(void)result->prepare(fields_list, unit);
|
|
||||||
select_describe(this, need_tmp,
|
select_describe(this, need_tmp,
|
||||||
order != 0 && !skip_sort_order,
|
order != 0 && !skip_sort_order,
|
||||||
select_distinct);
|
select_distinct);
|
||||||
@ -989,9 +994,6 @@ JOIN::exec()
|
|||||||
}
|
}
|
||||||
if (procedure)
|
if (procedure)
|
||||||
{
|
{
|
||||||
if (procedure->change_columns(fields_list) ||
|
|
||||||
result->prepare(fields_list, unit))
|
|
||||||
DBUG_VOID_RETURN;
|
|
||||||
count_field_types(&tmp_table_param, all_fields, 0);
|
count_field_types(&tmp_table_param, all_fields, 0);
|
||||||
}
|
}
|
||||||
if (group || tmp_table_param.sum_func_count ||
|
if (group || tmp_table_param.sum_func_count ||
|
||||||
|
@ -2571,6 +2571,12 @@ select_derived:
|
|||||||
{
|
{
|
||||||
LEX *lex= Lex;
|
LEX *lex= Lex;
|
||||||
lex->derived_tables= 1;
|
lex->derived_tables= 1;
|
||||||
|
if (((int)lex->sql_command >= (int)SQLCOM_HA_OPEN &&
|
||||||
|
lex->sql_command <= (int)SQLCOM_HA_READ) || lex->sql_command == (int)SQLCOM_KILL)
|
||||||
|
{
|
||||||
|
send_error(lex->thd, ER_SYNTAX_ERROR);
|
||||||
|
YYABORT;
|
||||||
|
}
|
||||||
if (lex->current_select->linkage == GLOBAL_OPTIONS_TYPE ||
|
if (lex->current_select->linkage == GLOBAL_OPTIONS_TYPE ||
|
||||||
mysql_new_select(lex, 1))
|
mysql_new_select(lex, 1))
|
||||||
YYABORT;
|
YYABORT;
|
||||||
@ -4607,6 +4613,12 @@ in_subselect_init:
|
|||||||
subselect_start:
|
subselect_start:
|
||||||
'(' SELECT_SYM
|
'(' SELECT_SYM
|
||||||
{
|
{
|
||||||
|
LEX *lex=Lex;
|
||||||
|
if (((int)lex->sql_command >= (int)SQLCOM_HA_OPEN &&
|
||||||
|
lex->sql_command <= (int)SQLCOM_HA_READ) || lex->sql_command == (int)SQLCOM_KILL) {
|
||||||
|
send_error(lex->thd, ER_SYNTAX_ERROR);
|
||||||
|
YYABORT;
|
||||||
|
}
|
||||||
if (mysql_new_select(Lex, 1))
|
if (mysql_new_select(Lex, 1))
|
||||||
YYABORT;
|
YYABORT;
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user