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 @@
#include <my_sys.h>
#include <m_string.h>
#include <errno.h>
#ifndef EOVERFLOW
#define EOVERFLOW 84
#endif
#ifdef MSDOS
#include <share.h> /* Neaded for sopen() */
#endif
......
......@@ -407,12 +407,12 @@ select @a, @b;
@a @b
2 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;
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;
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;
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;
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;
#
# Bug#2586:Disallow global/session/local as structured var. instance names
#
--error 1149
--error 1064
set @@global.global.key_buffer_size= 1;
--error 1149
--error 1064
set GLOBAL global.key_buffer_size= 1;
--error 1149
--error 1064
SELECT @@global.global.key_buffer_size;
--error 1149
--error 1064
SELECT @@global.session.key_buffer_size;
--error 1149
--error 1064
SELECT @@global.local.key_buffer_size;
......@@ -107,7 +107,7 @@ bool test_if_int(const char *str, int length, const char *int_end,
return 1;
}
#ifdef NOT_USED
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
......@@ -159,7 +159,7 @@ static bool test_if_real(const char *str,int length, CHARSET_INFO *cs)
}
return 1;
}
#endif
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)
int err;
char *end;
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);
}
......@@ -2571,7 +2571,7 @@ int Field_double::store(const char *from,uint len,CHARSET_INFO *cs)
int err;
char *end;
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);
}
......
......@@ -2967,12 +2967,6 @@ Item *get_system_var(THD *thd, enum_var_type var_type, LEX_STRING name,
(uint) strlen(server_version),
system_charset_info);
if (name.str && component.str && check_reserved_words(&name))
{
net_printf(thd, ER_SYNTAX_ERROR);
return 0;
}
Item *item;
sys_var *var;
char buff[MAX_SYS_VAR_LENGTH*2+4+8], *pos;
......
......@@ -2524,6 +2524,12 @@ simple_expr:
}
| '@' '@' 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)))
YYABORT;
}
......@@ -5041,7 +5047,7 @@ internal_variable_name:
{
if (check_reserved_words(&$1))
{
net_printf(YYTHD, ER_SYNTAX_ERROR);
yyerror(ER(ER_SYNTAX_ERROR));
YYABORT;
}
sys_var *tmp=find_sys_var($3.str, $3.length);
......
......@@ -29,10 +29,6 @@
#include "my_base.h" /* Includes errno.h */
#include "m_ctype.h"
#ifndef EOVERFLOW
#define EOVERFLOW 84
#endif
static double scaler10[] = {
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