Commit 7b1cfb63 authored by unknown's avatar unknown

Fix for gcc 3.0

Fix for using quoted table names with the SJIS character set.


BUILD/FINISH.sh:
  Fix for gcc 3.0
BUILD/SETUP.sh:
  Fix for gcc 3.0
Docs/manual.texi:
  Changelog
innobase/include/univ.i:
  Fix for gcc 3.0
sql/sql_lex.cc:
  Fix for using quoted table names with the SJIS character set.
parent 859371bb
......@@ -20,7 +20,7 @@ then
(cd gemini && aclocal && autoheader && aclocal && automake && autoconf)
fi
CFLAGS=\"$cflags\" CXX=gcc CXXFLAGS=\"$cxxflags\" $configure"
CFLAGS=\"$cflags\" CXX=$CXX CXXFLAGS=\"$cxxflags\" $configure"
if [ -z "$just_configure" ]
then
......
......@@ -40,7 +40,7 @@ c_warnings="$global_warnings -Wunused"
cxx_warnings="$global_warnings -Woverloaded-virtual -Wextern-inline -Wsign-promo -Wreorder -Wctor-dtor-privacy -Wnon-virtual-dtor"
alpha_cflags="-mcpu=ev6 -Wa,-mev6" # Not used yet
pentium_cflags="-mpentiumpro"
pentium_cflags="-mcpu=pentiumpro"
sparc_cflags=""
# be as fast as we can be without losing our ability to backtrace
......@@ -65,3 +65,10 @@ then
else
make=make
fi
if gcc -v 2>&1 | grep 'version 3' > /dev/null 2>&1
then
CXX=c++
else
CXX=gcc
fi
......@@ -5948,9 +5948,6 @@ Change sort to allocate memory in ``hunks'' to get better memory utilization.
@code{Field_decimal::store(const char *from,uint len)} must be recoded
to fix this.
@item
Fix @code{mysql.cc} to do fewer @code{malloc()} calls when hashing field
names.
@item
Functions:
ADD_TO_SET(value,set) and REMOVE_FROM_SET(value,set)
@item
......@@ -5985,8 +5982,6 @@ join type.
@item
Oracle like @code{CONNECT BY PRIOR ...} to search hierarchy structures.
@item
@code{RENAME DATABASE}
@item
@code{mysqladmin copy database new-database}. -- Requires COPY command to be
added to @code{mysqld}
@item
......@@ -46845,6 +46840,13 @@ not yet 100% confident in this code.
@appendixsubsec Changes in release 3.23.44
@itemize @bullet
@item
Fixed problem with sjis character strings used within quoted table names.
@item
Fixed coredump when using @code{CREATE ... FULLTEXT} keys with other table
handlers than MyISAM.
@item
Add missing @code{InnoDB} variables to @code{SHOW VARIABLES}.
@item
Don't use @code{signal()} on windows because this appears to not be
100 % reliable.
@item
......@@ -46854,7 +46856,7 @@ that had @code{NULL} values.
Fixed bug when doing @code{LEFT JOIN ... ON (column_name = constant) WHERE column_name = constant}.
@item
When using replications, aborted queries that contained @code{%} could cause
a core dum.
a core dump.
@item
TCP_NODELAY was not used on some systems. (Speed problem).
@end itemize
......@@ -104,8 +104,12 @@ memory is read outside the allocated blocks. */
#define UNIV_INLINE __inline
#else
/* config.h contains the right def for 'inline' for the current compiler */
#if (__GNUC__ == 2)
#define UNIV_INLINE extern inline
#else
/* extern inline doesn't work with gcc 3.0.2 */
#define UNIV_INLINE static inline
#endif
#endif
#else
......
......@@ -601,8 +601,29 @@ int yylex(void *arg)
case STATE_USER_VARIABLE_DELIMITER:
lex->tok_start=lex->ptr; // Skipp first `
while ((c=yyGet()) && state_map[c] != STATE_USER_VARIABLE_DELIMITER &&
c != (uchar) NAMES_SEP_CHAR) ;
#ifdef USE_MB
if (use_mb(default_charset_info))
{
while ((c=yyGet()) && state_map[c] != STATE_USER_VARIABLE_DELIMITER &&
c != (uchar) NAMES_SEP_CHAR)
{
if (my_ismbhead(default_charset_info, c))
{
int l;
if ((l = my_ismbchar(default_charset_info,
(const char *)lex->ptr-1,
(const char *)lex->end_of_query)) == 0)
break;
lex->ptr += l-1;
}
}
}
else
#endif
{
while ((c=yyGet()) && state_map[c] != STATE_USER_VARIABLE_DELIMITER &&
c != (uchar) NAMES_SEP_CHAR) ;
}
yylval->lex_str=get_token(lex,yyLength());
if (state_map[c] == STATE_USER_VARIABLE_DELIMITER)
yySkip(); // Skipp end `
......
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