Loading libmysql/libmysql.c +1 −1 Original line number Diff line number Diff line Loading @@ -737,7 +737,7 @@ static void mysql_read_default_options(struct st_mysql_options *options, *end=0; /* Remove '=' */ } /* Change all '_' in variable name to '-' */ for (end= *option ; (end= strcend(end,'_')) ; ) for (end= *option ; (end= strcend(end,'_')) && *end ; ) *end= '-'; switch (find_type(*option+2,&option_types,2)) { case 1: /* port */ Loading mysql-test/r/union.result +15 −0 Original line number Diff line number Diff line Loading @@ -86,6 +86,21 @@ explain select a,b from t1 union all select a,b from t2; table type possible_keys key key_len ref rows Extra t1 ALL NULL NULL NULL NULL 4 t2 ALL NULL NULL NULL NULL 4 explain select xx from t1 union select 1; Unknown column 'xx' in 'field list' explain select a,b from t1 union select 1; table type possible_keys key key_len ref rows Extra t1 ALL NULL NULL NULL NULL 4 0 0 No tables used explain select 1 union select a,b from t1 union select 1; table type possible_keys key key_len ref rows Extra 0 0 No tables used t1 ALL NULL NULL NULL NULL 4 0 0 No tables used explain select a,b from t1 union select 1 limit 0; table type possible_keys key key_len ref rows Extra t1 ALL NULL NULL NULL NULL 4 0 0 Impossible WHERE select a,b from t1 into outfile 'skr' union select a,b from t2; Wrong usage of UNION and INTO select a,b from t1 order by a union select a,b from t2; Loading mysql-test/t/union.test +6 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,12 @@ select 't1',b,count(*) from t1 group by b UNION select 't2',b,count(*) from t2 g # Test some error conditions with UNION explain select a,b from t1 union all select a,b from t2; --error 1054 explain select xx from t1 union select 1; explain select a,b from t1 union select 1; explain select 1 union select a,b from t1 union select 1; explain select a,b from t1 union select 1 limit 0; --error 1221 select a,b from t1 into outfile 'skr' union select a,b from t2; Loading sql/sql_yacc.yy +4 −4 Original line number Diff line number Diff line Loading @@ -1928,7 +1928,7 @@ opt_else: | ELSE expr { $$= $2; } when_list: { Select->when_list.push_front(new List<Item>) } { Select->when_list.push_front(new List<Item>); } when_list2 { $$= Select->when_list.pop(); } Loading Loading @@ -2031,7 +2031,7 @@ opt_key_definition: } key_usage_list: key_or_index { Select->interval_list.empty() } '(' key_usage_list2 ')' key_or_index { Select->interval_list.empty(); } '(' key_usage_list2 ')' { $$= &Select->interval_list; } key_usage_list2: Loading Loading @@ -2637,7 +2637,7 @@ describe: YYABORT; } opt_describe_column | describe_command select { Lex->select_lex.options|= SELECT_DESCRIBE }; | describe_command select { Lex->select_lex.options|= SELECT_DESCRIBE; } describe_command: Loading Loading @@ -3077,7 +3077,7 @@ set: lex->select->select_limit=lex->thd->default_select_limit; lex->tx_isolation=lex->thd->tx_isolation; lex->option_type=0; lex->option_list.empty() lex->option_list.empty(); } option_value_list Loading Loading
libmysql/libmysql.c +1 −1 Original line number Diff line number Diff line Loading @@ -737,7 +737,7 @@ static void mysql_read_default_options(struct st_mysql_options *options, *end=0; /* Remove '=' */ } /* Change all '_' in variable name to '-' */ for (end= *option ; (end= strcend(end,'_')) ; ) for (end= *option ; (end= strcend(end,'_')) && *end ; ) *end= '-'; switch (find_type(*option+2,&option_types,2)) { case 1: /* port */ Loading
mysql-test/r/union.result +15 −0 Original line number Diff line number Diff line Loading @@ -86,6 +86,21 @@ explain select a,b from t1 union all select a,b from t2; table type possible_keys key key_len ref rows Extra t1 ALL NULL NULL NULL NULL 4 t2 ALL NULL NULL NULL NULL 4 explain select xx from t1 union select 1; Unknown column 'xx' in 'field list' explain select a,b from t1 union select 1; table type possible_keys key key_len ref rows Extra t1 ALL NULL NULL NULL NULL 4 0 0 No tables used explain select 1 union select a,b from t1 union select 1; table type possible_keys key key_len ref rows Extra 0 0 No tables used t1 ALL NULL NULL NULL NULL 4 0 0 No tables used explain select a,b from t1 union select 1 limit 0; table type possible_keys key key_len ref rows Extra t1 ALL NULL NULL NULL NULL 4 0 0 Impossible WHERE select a,b from t1 into outfile 'skr' union select a,b from t2; Wrong usage of UNION and INTO select a,b from t1 order by a union select a,b from t2; Loading
mysql-test/t/union.test +6 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,12 @@ select 't1',b,count(*) from t1 group by b UNION select 't2',b,count(*) from t2 g # Test some error conditions with UNION explain select a,b from t1 union all select a,b from t2; --error 1054 explain select xx from t1 union select 1; explain select a,b from t1 union select 1; explain select 1 union select a,b from t1 union select 1; explain select a,b from t1 union select 1 limit 0; --error 1221 select a,b from t1 into outfile 'skr' union select a,b from t2; Loading
sql/sql_yacc.yy +4 −4 Original line number Diff line number Diff line Loading @@ -1928,7 +1928,7 @@ opt_else: | ELSE expr { $$= $2; } when_list: { Select->when_list.push_front(new List<Item>) } { Select->when_list.push_front(new List<Item>); } when_list2 { $$= Select->when_list.pop(); } Loading Loading @@ -2031,7 +2031,7 @@ opt_key_definition: } key_usage_list: key_or_index { Select->interval_list.empty() } '(' key_usage_list2 ')' key_or_index { Select->interval_list.empty(); } '(' key_usage_list2 ')' { $$= &Select->interval_list; } key_usage_list2: Loading Loading @@ -2637,7 +2637,7 @@ describe: YYABORT; } opt_describe_column | describe_command select { Lex->select_lex.options|= SELECT_DESCRIBE }; | describe_command select { Lex->select_lex.options|= SELECT_DESCRIBE; } describe_command: Loading Loading @@ -3077,7 +3077,7 @@ set: lex->select->select_limit=lex->thd->default_select_limit; lex->tx_isolation=lex->thd->tx_isolation; lex->option_type=0; lex->option_list.empty() lex->option_list.empty(); } option_value_list Loading