diff options
author | unknown <monty@hundin.mysql.fi> | 2001-10-30 16:31:35 +0200 |
---|---|---|
committer | unknown <monty@hundin.mysql.fi> | 2001-10-30 16:31:35 +0200 |
commit | 7b1cfb6353ee805326a22d8c9e71953b7ea8ed54 (patch) | |
tree | ae7c97d916cbedaec41df19869889814ef8f8688 | |
parent | 859371bb5ffaf635d18552081a85c975278ab8e7 (diff) | |
download | mariadb-git-7b1cfb6353ee805326a22d8c9e71953b7ea8ed54.tar.gz |
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.
-rw-r--r-- | BUILD/FINISH.sh | 2 | ||||
-rw-r--r-- | BUILD/SETUP.sh | 9 | ||||
-rw-r--r-- | Docs/manual.texi | 14 | ||||
-rw-r--r-- | innobase/include/univ.i | 6 | ||||
-rw-r--r-- | sql/sql_lex.cc | 25 |
5 files changed, 45 insertions, 11 deletions
diff --git a/BUILD/FINISH.sh b/BUILD/FINISH.sh index 368ab339c2b..c7cd43fa64e 100644 --- a/BUILD/FINISH.sh +++ b/BUILD/FINISH.sh @@ -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 diff --git a/BUILD/SETUP.sh b/BUILD/SETUP.sh index 778625e9e75..a8b0762c3ec 100644 --- a/BUILD/SETUP.sh +++ b/BUILD/SETUP.sh @@ -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 diff --git a/Docs/manual.texi b/Docs/manual.texi index eafca54b6e1..6514b36e703 100644 --- a/Docs/manual.texi +++ b/Docs/manual.texi @@ -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 diff --git a/innobase/include/univ.i b/innobase/include/univ.i index 9fc9f85f633..a4345babbbe 100644 --- a/innobase/include/univ.i +++ b/innobase/include/univ.i @@ -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 diff --git a/sql/sql_lex.cc b/sql/sql_lex.cc index 5c63fa32293..7c3b933bbd7 100644 --- a/sql/sql_lex.cc +++ b/sql/sql_lex.cc @@ -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 ` |