Commit 1f0b9d14 authored by unknown's avatar unknown

Merge bk-internal:/home/bk/mysql-4.1/

into serg.mylan:/usr/home/serg/Abk/mysql-4.1


sql/sql_yacc.yy:
  Auto merged
parents 8242d1f1 6170af8c
...@@ -28,6 +28,11 @@ ...@@ -28,6 +28,11 @@
#include <my_sys.h> #include <my_sys.h>
#include <m_string.h> #include <m_string.h>
#include <errno.h> #include <errno.h>
#ifndef EOVERFLOW
#define EOVERFLOW 84
#endif
#ifdef MSDOS #ifdef MSDOS
#include <share.h> /* Neaded for sopen() */ #include <share.h> /* Neaded for sopen() */
#endif #endif
......
...@@ -407,12 +407,12 @@ select @a, @b; ...@@ -407,12 +407,12 @@ select @a, @b;
@a @b @a @b
2 1 2 1
set @@global.global.key_buffer_size= 1; set @@global.global.key_buffer_size= 1;
ERROR 42000: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use ERROR 42000: 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 'key_buffer_size= 1' at line 1
set GLOBAL global.key_buffer_size= 1; set GLOBAL global.key_buffer_size= 1;
ERROR 42000: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use ERROR 42000: 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 'key_buffer_size= 1' at line 1
SELECT @@global.global.key_buffer_size; SELECT @@global.global.key_buffer_size;
ERROR 42000: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use ERROR 42000: 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 'key_buffer_size' at line 1
SELECT @@global.session.key_buffer_size; SELECT @@global.session.key_buffer_size;
ERROR 42000: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use ERROR 42000: 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 'key_buffer_size' at line 1
SELECT @@global.local.key_buffer_size; SELECT @@global.local.key_buffer_size;
ERROR 42000: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use ERROR 42000: 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 'key_buffer_size' at line 1
...@@ -289,13 +289,13 @@ select @a, @b; ...@@ -289,13 +289,13 @@ select @a, @b;
# #
# Bug#2586:Disallow global/session/local as structured var. instance names # Bug#2586:Disallow global/session/local as structured var. instance names
# #
--error 1149 --error 1064
set @@global.global.key_buffer_size= 1; set @@global.global.key_buffer_size= 1;
--error 1149 --error 1064
set GLOBAL global.key_buffer_size= 1; set GLOBAL global.key_buffer_size= 1;
--error 1149 --error 1064
SELECT @@global.global.key_buffer_size; SELECT @@global.global.key_buffer_size;
--error 1149 --error 1064
SELECT @@global.session.key_buffer_size; SELECT @@global.session.key_buffer_size;
--error 1149 --error 1064
SELECT @@global.local.key_buffer_size; SELECT @@global.local.key_buffer_size;
...@@ -107,7 +107,7 @@ bool test_if_int(const char *str, int length, const char *int_end, ...@@ -107,7 +107,7 @@ bool test_if_int(const char *str, int length, const char *int_end,
return 1; return 1;
} }
#ifdef NOT_USED
static bool test_if_real(const char *str,int length, CHARSET_INFO *cs) static bool test_if_real(const char *str,int length, CHARSET_INFO *cs)
{ {
cs= system_charset_info; // QQ move test_if_real into CHARSET_INFO struct cs= system_charset_info; // QQ move test_if_real into CHARSET_INFO struct
...@@ -159,7 +159,7 @@ static bool test_if_real(const char *str,int length, CHARSET_INFO *cs) ...@@ -159,7 +159,7 @@ static bool test_if_real(const char *str,int length, CHARSET_INFO *cs)
} }
return 1; return 1;
} }
#endif
static inline uint field_length_without_space(const char *ptr, uint length) static inline uint field_length_without_space(const char *ptr, uint length)
{ {
...@@ -2273,7 +2273,7 @@ int Field_float::store(const char *from,uint len,CHARSET_INFO *cs) ...@@ -2273,7 +2273,7 @@ int Field_float::store(const char *from,uint len,CHARSET_INFO *cs)
int err; int err;
char *end; char *end;
double nr= my_strntod(cs,(char*) from,len,&end,&err); double nr= my_strntod(cs,(char*) from,len,&end,&err);
if (!err && (!current_thd->count_cuted_fields || end-from==len)) if (!err && (!current_thd->count_cuted_fields || end-from==(int)len))
{ {
return Field_float::store(nr); return Field_float::store(nr);
} }
...@@ -2570,8 +2570,8 @@ int Field_double::store(const char *from,uint len,CHARSET_INFO *cs) ...@@ -2570,8 +2570,8 @@ int Field_double::store(const char *from,uint len,CHARSET_INFO *cs)
{ {
int err; int err;
char *end; char *end;
double nr= my_strntod(cs,(char*) from,len,&end,&err); double nr= my_strntod(cs,(char*) from,len,&end,&err);
if (!err && (!current_thd->count_cuted_fields || end-from==len)) if (!err && (!current_thd->count_cuted_fields || end-from==(int)len))
{ {
return Field_double::store(nr); return Field_double::store(nr);
} }
......
...@@ -2967,12 +2967,6 @@ Item *get_system_var(THD *thd, enum_var_type var_type, LEX_STRING name, ...@@ -2967,12 +2967,6 @@ Item *get_system_var(THD *thd, enum_var_type var_type, LEX_STRING name,
(uint) strlen(server_version), (uint) strlen(server_version),
system_charset_info); system_charset_info);
if (name.str && component.str && check_reserved_words(&name))
{
net_printf(thd, ER_SYNTAX_ERROR);
return 0;
}
Item *item; Item *item;
sys_var *var; sys_var *var;
char buff[MAX_SYS_VAR_LENGTH*2+4+8], *pos; char buff[MAX_SYS_VAR_LENGTH*2+4+8], *pos;
......
...@@ -2508,7 +2508,7 @@ simple_expr: ...@@ -2508,7 +2508,7 @@ simple_expr:
$$= new Item_func_set_collation($1, $$= new Item_func_set_collation($1,
new Item_string($3.str, new Item_string($3.str,
$3.length, $3.length,
YYTHD->charset())); YYTHD->charset()));
} }
| literal | literal
| param_marker | param_marker
...@@ -2524,6 +2524,12 @@ simple_expr: ...@@ -2524,6 +2524,12 @@ simple_expr:
} }
| '@' '@' opt_var_ident_type ident_or_text opt_component | '@' '@' opt_var_ident_type ident_or_text opt_component
{ {
if ($4.str && $5.str && check_reserved_words(&$4))
{
yyerror(ER(ER_SYNTAX_ERROR));
YYABORT;
}
if (!($$= get_system_var(YYTHD, (enum_var_type) $3, $4, $5))) if (!($$= get_system_var(YYTHD, (enum_var_type) $3, $4, $5)))
YYABORT; YYABORT;
} }
...@@ -5041,7 +5047,7 @@ internal_variable_name: ...@@ -5041,7 +5047,7 @@ internal_variable_name:
{ {
if (check_reserved_words(&$1)) if (check_reserved_words(&$1))
{ {
net_printf(YYTHD, ER_SYNTAX_ERROR); yyerror(ER(ER_SYNTAX_ERROR));
YYABORT; YYABORT;
} }
sys_var *tmp=find_sys_var($3.str, $3.length); sys_var *tmp=find_sys_var($3.str, $3.length);
......
...@@ -29,10 +29,6 @@ ...@@ -29,10 +29,6 @@
#include "my_base.h" /* Includes errno.h */ #include "my_base.h" /* Includes errno.h */
#include "m_ctype.h" #include "m_ctype.h"
#ifndef EOVERFLOW
#define EOVERFLOW 84
#endif
static double scaler10[] = { static double scaler10[] = {
1.0, 1e10, 1e20, 1e30, 1e40, 1e50, 1e60, 1e70, 1e80, 1e90 1.0, 1e10, 1e20, 1e30, 1e40, 1e50, 1e60, 1e70, 1e80, 1e90
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment