Commit f74efca3 authored by unknown's avatar unknown

Bug fixes + defines for INNOBASE


Docs/manual.texi:
  Cleanups
client/sql_string.cc:
  Fixes for AIX
mit-pthreads/Changes-mysql:
  Changelog
mit-pthreads/config/configure.in:
  Fixes for NETBSD
mit-pthreads/config/configure:
  Fixes for NETBSD
mit-pthreads/gen/ctime.c:
  Fixes for NETBSD
mysys/my_pthread.c:
  Changed assert to dbug_assert
scripts/make_binary_distribution.sh:
  Removed mysql-test
scripts/safe_mysqld.sh:
  Forced --defaults-extra-file to be first argument to mysqld
sql/handler.h:
  Added INNOBASE database type
sql/item_func.h:
  Fixed core dump when using MATCH
sql/lex.h:
  Added INNOBASE database type
sql/mysqld.cc:
  Fix for future
sql/sql_yacc.yy:
  Added INNOBASE database type
parent 1b23e50c
...@@ -9408,7 +9408,8 @@ the sort order! ...@@ -9408,7 +9408,8 @@ the sort order!
@item The default return type of @code{IF} will now depend on both arguments @item The default return type of @code{IF} will now depend on both arguments
and not only the first argument. and not only the first argument.
@item @code{AUTO_INCREMENT} will not work with negative numbers. @item @code{AUTO_INCREMENT} will not work with negative numbers.
@item @code{INNER} and @code{DELAYED} are now reserved words. @item @code{INNER}, @code{DELAYED}, @code{RIGHT} and @code{WHEN}
are now reserved words.
@item @code{FLOAT(X)} is now a true floating point type and not a value with @item @code{FLOAT(X)} is now a true floating point type and not a value with
a fixed number of decimals. a fixed number of decimals.
@item When declaring @code{DECIMAL(length,dec)} the length argument no @item When declaring @code{DECIMAL(length,dec)} the length argument no
...@@ -18050,7 +18051,7 @@ the table will not be analyzed again. ...@@ -18050,7 +18051,7 @@ the table will not be analyzed again.
@section @code{REPAIR TABLE} syntax @section @code{REPAIR TABLE} syntax
@example @example
REPAIR TABLE tbl_name[,tbl_name...] [QUICK] REPAIR TABLE tbl_name[,tbl_name...] [QUICK] [EXTENDED]
@end example @end example
@code{REPAIR TABLE} only works on @code{MyISAM} tables and is the same things @code{REPAIR TABLE} only works on @code{MyISAM} tables and is the same things
...@@ -18077,6 +18078,11 @@ future, we will make it more flexible. ...@@ -18077,6 +18078,11 @@ future, we will make it more flexible.
If @code{QUICK} is given then @strong{MySQL} will try to do a If @code{QUICK} is given then @strong{MySQL} will try to do a
@code{REPAIR} of only the index tree. @code{REPAIR} of only the index tree.
If you use @code{EXTENDED} then @strong{MySQL} will create the index row
by row instead of creating one index at a time with sorting; This may be
better than sorting on fixed length keys if you have long @code{char()}
keys that compress very good.
@findex DELETE @findex DELETE
@node DELETE, SELECT, REPAIR TABLE, Reference @node DELETE, SELECT, REPAIR TABLE, Reference
@section @code{DELETE} syntax @section @code{DELETE} syntax
...@@ -19923,8 +19929,9 @@ Maximum number of temporary tables a client can keep open at the same time. ...@@ -19923,8 +19929,9 @@ Maximum number of temporary tables a client can keep open at the same time.
After this many write locks, allow some read locks to run in between. After this many write locks, allow some read locks to run in between.
@item @code{myisam_sort_buffer_size} @item @code{myisam_sort_buffer_size}
The buffer that is allocated when sorting the index when doing a @code{REPAIR} The buffer that is allocated when sorting the index when doing a
table. @code{REPAIR} or when creating indexes with @code{CREATE INDEX} or
@code{ALTER TABLE}.
@item @code{net_buffer_length} @item @code{net_buffer_length}
The communication buffer is reset to this size between queries. This The communication buffer is reset to this size between queries. This
...@@ -30912,8 +30919,9 @@ in these cases, and can provide useful information about the current number ...@@ -30912,8 +30919,9 @@ in these cases, and can provide useful information about the current number
of connections and their status. of connections and their status.
@item @item
Run the command @code{mysqladmin -i 5 status} Run the command @code{mysqladmin -i 5 status} or @code{mysqladmin -i 5
in a separate window to produce statistics while you run your other queries. -r status} or in a separate window to produce statistics while you run
your other queries.
@item @item
Try the following: Try the following:
...@@ -33513,7 +33521,9 @@ For the connection specified by @code{mysql}, @code{mysql_errno()} returns ...@@ -33513,7 +33521,9 @@ For the connection specified by @code{mysql}, @code{mysql_errno()} returns
the error code for the most recently invoked API function that can succeed the error code for the most recently invoked API function that can succeed
or fail. A return value of zero means that no error occurred. Client error or fail. A return value of zero means that no error occurred. Client error
message numbers are listed in the @strong{MySQL} @file{errmsg.h} header file. message numbers are listed in the @strong{MySQL} @file{errmsg.h} header file.
Server error message numbers are listed in @file{mysqld_error.h} Server error message numbers are listed in @file{mysqld_error.h}. In the
@strong{MySQL} source distribution you can find a complete list of
error messages and error numbers in the file @file{Docs/mysqld_error.txt}.
@subsubheading Return values: @subsubheading Return values:
...@@ -38101,7 +38111,8 @@ was part of the key that was used to find rows. ...@@ -38101,7 +38111,8 @@ was part of the key that was used to find rows.
@item @item
Fixed bug in @code{FULLTEXT} index when inserting a @code{NULL} column. Fixed bug in @code{FULLTEXT} index when inserting a @code{NULL} column.
@item @item
Changed to use @code{mkstemp()} instead of @code{tempnam()}. Changed to use @code{mkstemp()} instead of @code{tempnam()}. Based
on a patch from John Jones.
@end itemize @end itemize
@node News-3.23.25, News-3.23.24, News-3.23.26, News-3.23.x @node News-3.23.25, News-3.23.24, News-3.23.26, News-3.23.x
...@@ -42412,7 +42423,7 @@ tell us what you want to have done more quickly. @xref{Licensing and Support}. ...@@ -42412,7 +42423,7 @@ tell us what you want to have done more quickly. @xref{Licensing and Support}.
@item @item
Fail safe replication. Fail safe replication.
@item @item
Optimize, test and document transactions safe tables Optimize, test and document transactions safe tables (BDB tables)
@item @item
Allow users to change startup options. Allow users to change startup options.
@item @item
...@@ -42445,9 +42456,8 @@ Check if locked threads take any CPU. ...@@ -42445,9 +42456,8 @@ Check if locked threads take any CPU.
Fix configure so that one can compile all libraries (like @code{MyISAM}) Fix configure so that one can compile all libraries (like @code{MyISAM})
without threads. without threads.
@item @item
Change to use mkstemp() instead of tempnam() for system that supports the call. Add an option to periodically flush key pages for tables with delayed keys
We need to add a my_mkstemp() function in mysys and also change the cache if they haven't been used in a while.
code to not create the filename until we do the actual open.
@item @item
Allow join on key parts (optimization issue). Allow join on key parts (optimization issue).
@item @item
...@@ -81,7 +81,8 @@ bool String::realloc(uint32 alloc_length) ...@@ -81,7 +81,8 @@ bool String::realloc(uint32 alloc_length)
} }
else if ((new_ptr= (char*) my_malloc(len,MYF(MY_WME)))) else if ((new_ptr= (char*) my_malloc(len,MYF(MY_WME))))
{ {
memcpy(new_ptr,Ptr,str_length); if (str_length) // Avoid bugs in memcpy on AIX
memcpy(new_ptr,Ptr,str_length);
new_ptr[str_length]=0; new_ptr[str_length]=0;
Ptr=new_ptr; Ptr=new_ptr;
Alloced_length=len; Alloced_length=len;
...@@ -221,8 +222,8 @@ bool String::copy(const char *str,uint32 arg_length) ...@@ -221,8 +222,8 @@ bool String::copy(const char *str,uint32 arg_length)
{ {
if (alloc(arg_length)) if (alloc(arg_length))
return TRUE; return TRUE;
str_length=arg_length; if ((str_length=arg_length))
memcpy(Ptr,str,arg_length); memcpy(Ptr,str,arg_length);
Ptr[arg_length]=0; Ptr[arg_length]=0;
return FALSE; return FALSE;
} }
...@@ -251,17 +252,21 @@ void String::strip_sp() ...@@ -251,17 +252,21 @@ void String::strip_sp()
bool String::append(const String &s) bool String::append(const String &s)
{ {
if (realloc(str_length+s.length())) if (s.length())
return TRUE; {
memcpy(Ptr+str_length,s.ptr(),s.length()); if (realloc(str_length+s.length()))
str_length+=s.length(); return TRUE;
memcpy(Ptr+str_length,s.ptr(),s.length());
str_length+=s.length();
}
return FALSE; return FALSE;
} }
bool String::append(const char *s,uint32 arg_length) bool String::append(const char *s,uint32 arg_length)
{ {
if (!arg_length) // Default argument if (!arg_length) // Default argument
arg_length= (uint32) strlen(s); if (!(arg_length= (uint32) strlen(s)))
return FALSE;
if (realloc(str_length+arg_length)) if (realloc(str_length+arg_length))
return TRUE; return TRUE;
memcpy(Ptr+str_length,s,arg_length); memcpy(Ptr+str_length,s,arg_length);
...@@ -398,7 +403,8 @@ bool String::replace(uint32 offset,uint32 arg_length,const String &to) ...@@ -398,7 +403,8 @@ bool String::replace(uint32 offset,uint32 arg_length,const String &to)
{ {
if (diff < 0) if (diff < 0)
{ {
memcpy(Ptr+offset,to.ptr(),to.length()); if (to.length())
memcpy(Ptr+offset,to.ptr(),to.length());
bmove(Ptr+offset+to.length(),Ptr+offset+arg_length, bmove(Ptr+offset+to.length(),Ptr+offset+arg_length,
str_length-offset-arg_length); str_length-offset-arg_length);
} }
...@@ -411,7 +417,8 @@ bool String::replace(uint32 offset,uint32 arg_length,const String &to) ...@@ -411,7 +417,8 @@ bool String::replace(uint32 offset,uint32 arg_length,const String &to)
bmove_upp(Ptr+str_length+diff,Ptr+str_length, bmove_upp(Ptr+str_length+diff,Ptr+str_length,
str_length-offset-arg_length); str_length-offset-arg_length);
} }
memcpy(Ptr+offset,to.ptr(),to.length()); if (to.length())
memcpy(Ptr+offset,to.ptr(),to.length());
} }
str_length+=(uint32) diff; str_length+=(uint32) diff;
} }
...@@ -502,8 +509,8 @@ String *copy_if_not_alloced(String *to,String *from,uint32 from_length) ...@@ -502,8 +509,8 @@ String *copy_if_not_alloced(String *to,String *from,uint32 from_length)
} }
if (to->realloc(from_length)) if (to->realloc(from_length))
return from; // Actually an error return from; // Actually an error
to->str_length=min(from->str_length,from_length); if ((to->str_length=min(from->str_length,from_length)))
memcpy(to->Ptr,from->Ptr,to->str_length); memcpy(to->Ptr,from->Ptr,to->str_length);
return to; return to;
} }
......
...@@ -192,3 +192,7 @@ Changes done to this distrubtion (pthreads-1_60_beta6) by Monty (monty@tcx.se) ...@@ -192,3 +192,7 @@ Changes done to this distrubtion (pthreads-1_60_beta6) by Monty (monty@tcx.se)
00.03.30 by Monty (monty@mysql.com) 00.03.30 by Monty (monty@mysql.com)
- Added chroot() and gethostname(). - Added chroot() and gethostname().
00.10.18 by Monty (monty@mysql.com)
- Added patch by Dave Huang <khym@bga.com> to fix problem with date/time
on NETBSD/Alpha.
...@@ -1252,7 +1252,7 @@ except="" ...@@ -1252,7 +1252,7 @@ except=""
name=$host_cpu-$host_os name=$host_cpu-$host_os
case $host in case $host in
alpha-*-netbsd1.3[H-Z]|alpha-*-netbsd1.4*) alpha-*-netbsd1.3[H-Z]|alpha-*-netbsd1.[45]*)
name=alpha-netbsd-1.3 name=alpha-netbsd-1.3
sysincludes=netbsd-1.1 sysincludes=netbsd-1.1
except="fork lseek pipe fstat" except="fork lseek pipe fstat"
...@@ -1276,7 +1276,7 @@ case $host in ...@@ -1276,7 +1276,7 @@ case $host in
CFLAGS="$CFLAGS -std" CFLAGS="$CFLAGS -std"
fi fi
;; ;;
arm32-*-netbsd1.3[H-Z]|arm32-*-netbsd1.4*) arm32-*-netbsd1.3[H-Z]|arm32-*-netbsd1.[45]*)
name=arm32-netbsd-1.3 name=arm32-netbsd-1.3
sysincludes=netbsd-1.1 sysincludes=netbsd-1.1
except="fork pipe lseek ftruncate fstat" except="fork pipe lseek ftruncate fstat"
...@@ -1336,7 +1336,7 @@ EOF ...@@ -1336,7 +1336,7 @@ EOF
EOF EOF
;; ;;
sparc-*-netbsd1.3[H-Z]|sparc-*-netbsd1.4*) sparc-*-netbsd1.3[H-Z]|sparc-*-netbsd1.[45]*)
name=sparc-netbsd-1.3 name=sparc-netbsd-1.3
sysincludes=netbsd-1.1 sysincludes=netbsd-1.1
except="pipe fork lseek ftruncate fstat" except="pipe fork lseek ftruncate fstat"
...@@ -1375,7 +1375,7 @@ EOF ...@@ -1375,7 +1375,7 @@ EOF
syscall=i386-bsdi-2.0 syscall=i386-bsdi-2.0
except="fork lseek ftruncate sigsuspend" except="fork lseek ftruncate sigsuspend"
;; ;;
i386-*-netbsd1.3[H-Z]|i386-*-netbsd1.4*) i386-*-netbsd1.3[H-Z]|i386-*-netbsd1.[45]*)
name=i386-netbsd-1.3 name=i386-netbsd-1.3
sysincludes=netbsd-1.1 sysincludes=netbsd-1.1
except="fork lseek ftruncate pipe fstat" except="fork lseek ftruncate pipe fstat"
......
...@@ -126,7 +126,7 @@ name=$host_cpu-$host_os ...@@ -126,7 +126,7 @@ name=$host_cpu-$host_os
case $host in case $host in
changequote(,)dnl changequote(,)dnl
alpha-*-netbsd1.3[H-Z]|alpha-*-netbsd1.4*) alpha-*-netbsd1.3[H-Z]|alpha-*-netbsd1.[45]*)
name=alpha-netbsd-1.3 name=alpha-netbsd-1.3
sysincludes=netbsd-1.1 sysincludes=netbsd-1.1
except="fork lseek pipe fstat" except="fork lseek pipe fstat"
...@@ -152,7 +152,7 @@ changequote([,])dnl ...@@ -152,7 +152,7 @@ changequote([,])dnl
fi fi
;; ;;
changequote(,)dnl changequote(,)dnl
arm32-*-netbsd1.3[H-Z]|arm32-*-netbsd1.4*) arm32-*-netbsd1.3[H-Z]|arm32-*-netbsd1.[45]*)
name=arm32-netbsd-1.3 name=arm32-netbsd-1.3
sysincludes=netbsd-1.1 sysincludes=netbsd-1.1
except="fork pipe lseek ftruncate fstat" except="fork pipe lseek ftruncate fstat"
...@@ -199,7 +199,7 @@ changequote([,])dnl ...@@ -199,7 +199,7 @@ changequote([,])dnl
AC_DEFINE(BROKEN_SIGNALS) AC_DEFINE(BROKEN_SIGNALS)
;; ;;
changequote(,)dnl changequote(,)dnl
sparc-*-netbsd1.3[H-Z]|sparc-*-netbsd1.4*) sparc-*-netbsd1.3[H-Z]|sparc-*-netbsd1.[45]*)
name=sparc-netbsd-1.3 name=sparc-netbsd-1.3
sysincludes=netbsd-1.1 sysincludes=netbsd-1.1
except="pipe fork lseek ftruncate fstat" except="pipe fork lseek ftruncate fstat"
...@@ -240,7 +240,7 @@ changequote([,])dnl ...@@ -240,7 +240,7 @@ changequote([,])dnl
except="fork lseek ftruncate sigsuspend" except="fork lseek ftruncate sigsuspend"
;; ;;
changequote(,)dnl changequote(,)dnl
i386-*-netbsd1.3[H-Z]|i386-*-netbsd1.4*) i386-*-netbsd1.3[H-Z]|i386-*-netbsd1.[45]*)
name=i386-netbsd-1.3 name=i386-netbsd-1.3
sysincludes=netbsd-1.1 sysincludes=netbsd-1.1
except="fork lseek ftruncate pipe fstat" except="fork lseek ftruncate pipe fstat"
......
...@@ -129,7 +129,7 @@ struct rule { ...@@ -129,7 +129,7 @@ struct rule {
** Prototypes for static functions. ** Prototypes for static functions.
*/ */
static long detzcode __P_((const char *)); static int detzcode __P_((const char *));
static const char * getnum __P_((const char *, int *, int, int)); static const char * getnum __P_((const char *, int *, int, int));
static const char * getsecs __P_((const char *, long *)); static const char * getsecs __P_((const char *, long *));
static const char * getoffset __P_((const char *, long *)); static const char * getoffset __P_((const char *, long *));
...@@ -175,7 +175,7 @@ int daylight = 0; ...@@ -175,7 +175,7 @@ int daylight = 0;
time_t altzone = 0; time_t altzone = 0;
#endif /* defined ALTZONE */ #endif /* defined ALTZONE */
static long detzcode(const char * codep) static int detzcode(const char * codep)
{ {
long result; long result;
int i; int i;
......
...@@ -424,7 +424,7 @@ struct hostent *my_gethostbyname_r(const char *name, ...@@ -424,7 +424,7 @@ struct hostent *my_gethostbyname_r(const char *name,
int buflen, int *h_errnop) int buflen, int *h_errnop)
{ {
struct hostent *hp; struct hostent *hp;
assert((size_t) buflen >= sizeof(*result)); dbug_assert((size_t) buflen >= sizeof(*result));
if (gethostbyname_r(name,result, buffer, (size_t) buflen, &hp, h_errnop)) if (gethostbyname_r(name,result, buffer, (size_t) buflen, &hp, h_errnop))
return 0; return 0;
return hp; return hp;
...@@ -436,7 +436,7 @@ struct hostent *my_gethostbyname_r(const char *name, ...@@ -436,7 +436,7 @@ struct hostent *my_gethostbyname_r(const char *name,
struct hostent *result, char *buffer, struct hostent *result, char *buffer,
int buflen, int *h_errnop) int buflen, int *h_errnop)
{ {
assert(buflen >= sizeof(struct hostent_data)); dbug_assert(buflen >= sizeof(struct hostent_data));
if (gethostbyname_r(name,result,(struct hostent_data *) buffer) == -1) if (gethostbyname_r(name,result,(struct hostent_data *) buffer) == -1)
{ {
*h_errnop= errno; *h_errnop= errno;
...@@ -452,7 +452,7 @@ struct hostent *my_gethostbyname_r(const char *name, ...@@ -452,7 +452,7 @@ struct hostent *my_gethostbyname_r(const char *name,
int buflen, int *h_errnop) int buflen, int *h_errnop)
{ {
struct hostent *hp; struct hostent *hp;
assert(buflen >= sizeof(struct hostent_data)); dbug_assert(buflen >= sizeof(struct hostent_data));
hp= gethostbyname_r(name,result,(struct hostent_data *) buffer); hp= gethostbyname_r(name,result,(struct hostent_data *) buffer);
*h_errnop= errno; *h_errnop= errno;
return hp; return hp;
......
...@@ -37,8 +37,8 @@ done ...@@ -37,8 +37,8 @@ done
for i in extra/comp_err extra/replace extra/perror extra/resolveip \ for i in extra/comp_err extra/replace extra/perror extra/resolveip \
extra/my_print_defaults isam/isamchk isam/pack_isam myisam/myisamchk myisam/myisampack sql/mysqld sql/mysqlbinlog \ extra/my_print_defaults isam/isamchk isam/pack_isam myisam/myisamchk myisam/myisampack sql/mysqld sql/mysqlbinlog \
client/mysql sql/mysqld client/mysqlshow client/mysqladmin client/mysqldump client/mysqlimport client/mysql-test \ client/mysql sql/mysqld client/mysqlshow client/mysqladmin client/mysqldump client/mysqlimport \
client/.libs/mysql client/.libs/mysqlshow client/.libs/mysqladmin client/.libs/mysqldump client/.libs/mysqlimport client/.libs/mysql-test client/.libs/mysql client/.libs/mysqlshow client/.libs/mysqladmin client/.libs/mysqldump client/.libs/mysqlimport
do do
cp -p $i $BASE/bin cp -p $i $BASE/bin
done done
......
...@@ -14,7 +14,7 @@ trap '' 1 2 3 15 # we shouldn't let anyone kill us ...@@ -14,7 +14,7 @@ trap '' 1 2 3 15 # we shouldn't let anyone kill us
defaults= defaults=
case "$1" in case "$1" in
--no-defaults|--defaults-file=*) --no-defaults|--defaults-file=*|--defaults-extra-file=*)
defaults="$1"; shift defaults="$1"; shift
;; ;;
esac esac
...@@ -138,8 +138,8 @@ fi ...@@ -138,8 +138,8 @@ fi
# checked and repaired at start # checked and repaired at start
# #
# echo "Checking tables in $DATADIR" # echo "Checking tables in $DATADIR"
# $MY_BASEDIR_VERSION/bin/myisamchk --silent --force --fast --medium-check $DATADIR/*/*.MYI # $MY_BASEDIR_VERSION/bin/myisamchk --silent --force --fast --medium-check -O key_buffer=64M -O sort_buffer=64M $DATADIR/*/*.MYI
# $MY_BASEDIR_VERSION/bin/isamchk --silent --force $DATADIR/*/*.ISM # $MY_BASEDIR_VERSION/bin/isamchk --silent --force -O sort_buffer=64M $DATADIR/*/*.ISM
echo "Starting mysqld daemon with databases from $DATADIR" echo "Starting mysqld daemon with databases from $DATADIR"
...@@ -155,9 +155,9 @@ do ...@@ -155,9 +155,9 @@ do
rm -f $MYSQL_UNIX_PORT $pid_file # Some extra safety rm -f $MYSQL_UNIX_PORT $pid_file # Some extra safety
if test "$#" -eq 0 if test "$#" -eq 0
then then
(trap "" 1 ; exec $NOHUP_NICENESS $ledir/mysqld --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR --user=$user --pid-file=$pid_file @MYSQLD_DEFAULT_SWITCHES@ >> $err_log 2>&1 ) (trap "" 1 ; exec $NOHUP_NICENESS $ledir/mysqld $defaults --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR --user=$user --pid-file=$pid_file @MYSQLD_DEFAULT_SWITCHES@ >> $err_log 2>&1 )
else else
(trap "" ; exec $NOHUP_NICENESS $ledir/mysqld --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR --user=$user --pid-file=$pid_file @MYSQLD_DEFAULT_SWITCHES@ "$@" >> $err_log 2>&1 ) (trap "" ; exec $NOHUP_NICENESS $ledir/mysqld $defaults --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR --user=$user --pid-file=$pid_file @MYSQLD_DEFAULT_SWITCHES@ "$@" >> $err_log 2>&1 )
fi fi
if test ! -f $pid_file # This is removed if normal shutdown if test ! -f $pid_file # This is removed if normal shutdown
then then
......
...@@ -102,7 +102,7 @@ enum db_type { DB_TYPE_UNKNOWN=0,DB_TYPE_DIAB_ISAM=1, ...@@ -102,7 +102,7 @@ enum db_type { DB_TYPE_UNKNOWN=0,DB_TYPE_DIAB_ISAM=1,
DB_TYPE_HASH,DB_TYPE_MISAM,DB_TYPE_PISAM, DB_TYPE_HASH,DB_TYPE_MISAM,DB_TYPE_PISAM,
DB_TYPE_RMS_ISAM, DB_TYPE_HEAP, DB_TYPE_ISAM, DB_TYPE_RMS_ISAM, DB_TYPE_HEAP, DB_TYPE_ISAM,
DB_TYPE_MRG_ISAM, DB_TYPE_MYISAM, DB_TYPE_MRG_MYISAM, DB_TYPE_MRG_ISAM, DB_TYPE_MYISAM, DB_TYPE_MRG_MYISAM,
DB_TYPE_BERKELEY_DB, DB_TYPE_BERKELEY_DB, DB_TYPE_INNOBASE,
DB_TYPE_DEFAULT }; DB_TYPE_DEFAULT };
enum row_type { ROW_TYPE_DEFAULT, ROW_TYPE_FIXED, ROW_TYPE_DYNAMIC, enum row_type { ROW_TYPE_DEFAULT, ROW_TYPE_FIXED, ROW_TYPE_DYNAMIC,
......
...@@ -843,7 +843,7 @@ class Item_func_match :public Item_real_func ...@@ -843,7 +843,7 @@ class Item_func_match :public Item_real_func
FT_DOCLIST *ft_handler; FT_DOCLIST *ft_handler;
Item_func_match(List<Item> &a, Item *b): Item_real_func(b), Item_func_match(List<Item> &a, Item *b): Item_real_func(b),
fields(a), table(0), master(0), ft_handler(0) {} fields(a), table(0), join_key(0), master(0), ft_handler(0) {}
~Item_func_match() ~Item_func_match()
{ {
if (!master) if (!master)
......
...@@ -160,6 +160,7 @@ static SYMBOL symbols[] = { ...@@ -160,6 +160,7 @@ static SYMBOL symbols[] = {
{ "INDEX", SYM(INDEX),0,0}, { "INDEX", SYM(INDEX),0,0},
{ "INFILE", SYM(INFILE),0,0}, { "INFILE", SYM(INFILE),0,0},
{ "INNER", SYM(INNER_SYM),0,0}, { "INNER", SYM(INNER_SYM),0,0},
{ "INNOBASE", SYM(INNOBASE_SYM),0,0},
{ "INSERT", SYM(INSERT),0,0}, { "INSERT", SYM(INSERT),0,0},
{ "INSERT_ID", SYM(INSERT_ID),0,0}, { "INSERT_ID", SYM(INSERT_ID),0,0},
{ "INT", SYM(INT_SYM),0,0}, { "INT", SYM(INT_SYM),0,0},
......
...@@ -2169,7 +2169,7 @@ pthread_handler_decl(handle_flush,arg __attribute__((unused))) ...@@ -2169,7 +2169,7 @@ pthread_handler_decl(handle_flush,arg __attribute__((unused)))
flush_thread_in_use=1; flush_thread_in_use=1;
pthread_mutex_lock(&LOCK_flush); pthread_mutex_lock(&LOCK_flush);
for (;;) while (flush_time)
{ {
struct timespec abstime; struct timespec abstime;
#ifdef HAVE_TIMESPEC_TS_SEC #ifdef HAVE_TIMESPEC_TS_SEC
......
...@@ -178,6 +178,7 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize); ...@@ -178,6 +178,7 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize);
%token INDEX %token INDEX
%token INFILE %token INFILE
%token INNER_SYM %token INNER_SYM
%token INNOBASE_SYM
%token INTO %token INTO
%token IN_SYM %token IN_SYM
%token ISAM_SYM %token ISAM_SYM
...@@ -744,6 +745,7 @@ table_types: ...@@ -744,6 +745,7 @@ table_types:
| MERGE_SYM { $$= DB_TYPE_MRG_MYISAM; } | MERGE_SYM { $$= DB_TYPE_MRG_MYISAM; }
| HEAP_SYM { $$= DB_TYPE_HEAP; } | HEAP_SYM { $$= DB_TYPE_HEAP; }
| BERKELEY_DB_SYM { $$= DB_TYPE_BERKELEY_DB; } | BERKELEY_DB_SYM { $$= DB_TYPE_BERKELEY_DB; }
| INNOBASE_SYM { $$= DB_TYPE_INNOBASE; }
row_types: row_types:
DEFAULT { $$= ROW_TYPE_DEFAULT; } DEFAULT { $$= ROW_TYPE_DEFAULT; }
...@@ -2432,6 +2434,7 @@ keyword: ...@@ -2432,6 +2434,7 @@ keyword:
| AVG_SYM {} | AVG_SYM {}
| BACKUP_SYM {} | BACKUP_SYM {}
| BEGIN_SYM {} | BEGIN_SYM {}
| BERKELEY_DB_SYM {}
| BIT_SYM {} | BIT_SYM {}
| BOOL_SYM {} | BOOL_SYM {}
| CHANGED {} | CHANGED {}
...@@ -2463,6 +2466,7 @@ keyword: ...@@ -2463,6 +2466,7 @@ keyword:
| HOUR_SYM {} | HOUR_SYM {}
| IDENTIFIED_SYM {} | IDENTIFIED_SYM {}
| ISAM_SYM {} | ISAM_SYM {}
| INNOBASE_SYM {}
| LOCAL_SYM {} | LOCAL_SYM {}
| LOGS_SYM {} | LOGS_SYM {}
| MAX_ROWS {} | MAX_ROWS {}
......
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