Commit fd078049 authored by monty@hundin.mysql.fi's avatar monty@hundin.mysql.fi
Browse files

merge with 3.23.44

parents 67951fde 65d4c846
Loading
Loading
Loading
Loading
+16 −16
Original line number Diff line number Diff line
@@ -120,17 +120,32 @@ bdb/dist/template/rec_txn
bdb/examples_java
bdb/hash/hash_auto.c
bdb/include/btree_auto.h
bdb/include/btree_ext.h
bdb/include/clib_ext.h
bdb/include/common_ext.h
bdb/include/crdel_auto.h
bdb/include/db_auto.h
bdb/include/db_ext.h
bdb/include/db_server.h
bdb/include/env_ext.h
bdb/include/gen_client_ext.h
bdb/include/gen_server_ext.h
bdb/include/hash_auto.h
bdb/include/hash_ext.h
bdb/include/lock_ext.h
bdb/include/log_auto.h
bdb/include/log_ext.h
bdb/include/mp_ext.h
bdb/include/mutex_ext.h
bdb/include/os_ext.h
bdb/include/qam_auto.h
bdb/include/qam_ext.h
bdb/include/rpc_client_ext.h
bdb/include/rpc_server_ext.h
bdb/include/tcl_ext.h
bdb/include/txn_auto.h
bdb/include/txn_ext.h
bdb/include/xa_ext.h
bdb/java/src/com/sleepycat/db/DbConstants.java
bdb/log/log_auto.c
bdb/qam/qam_auto.c
@@ -250,6 +265,7 @@ libmysqld/lock.cc
libmysqld/log.cc
libmysqld/log_event.cc
libmysqld/md5.c
libmysqld/mf_iocache.cc
libmysqld/mini_client.cc
libmysqld/net_pkg.cc
libmysqld/net_serv.cc
@@ -424,19 +440,3 @@ vio/test-ssl
vio/test-sslclient
vio/test-sslserver
vio/viotest-ssl
libmysqld/mf_iocache.cc
bdb/include/btree_ext.h
bdb/include/clib_ext.h
bdb/include/common_ext.h
bdb/include/db_ext.h
bdb/include/env_ext.h
bdb/include/hash_ext.h
bdb/include/lock_ext.h
bdb/include/log_ext.h
bdb/include/mp_ext.h
bdb/include/mutex_ext.h
bdb/include/os_ext.h
bdb/include/qam_ext.h
bdb/include/tcl_ext.h
bdb/include/txn_ext.h
bdb/include/xa_ext.h
+1 −1
Original line number Diff line number Diff line
@@ -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
+10 −3
Original line number Diff line number Diff line
@@ -35,12 +35,12 @@ AM_MAKEFLAGS="-j 4"
# -Wshadow -Wunused  -Winline (The later isn't usable in C++ as
# __attribute()__ doesn't work with gnu C++)
global_warnings="-Wimplicit -Wreturn-type -Wid-clash-51 -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wimplicit-function-dec -Wimplicit-int -Wparentheses -Wsign-compare -Wwrite-strings"
debug_extra_warnings="-Wuninitialized"
#debug_extra_warnings="-Wuninitialized"
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=""
pentium_cflags="-mcpu=pentiumpro"
sparc_cflags=""

# be as fast as we can be without losing our ability to backtrace
@@ -48,7 +48,7 @@ fast_cflags="-O3 -fno-omit-frame-pointer"
# this is one is for someone who thinks 1% speedup is worth not being
# able to backtrace
reckless_cflags="-O3 -fomit-frame-pointer "
debug_cflags="-DEXTRA_DEBUG -DFORCE_INIT_OF_VARS -DSAFEMALLOC -DSAFE_MUTEX -O2"
debug_cflags="-DEXTRA_DEBUG -DFORCE_INIT_OF_VARS -DSAFEMALLOC -DSAFE_MUTEX -O1"

base_cxxflags="-felide-constructors -fno-exceptions -fno-rtti"

@@ -66,3 +66,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
+1 −1
Original line number Diff line number Diff line
@@ -18,7 +18,7 @@ to_host=`hostname`
cc=gcc
ccc=gcc
EXTRA_CONFIG="--without-perl"
AM_MAKEFLAGS="-j 2"
#AM_MAKEFLAGS="-j 2"
echo "Building on $to_host"

rm -rf $BD/*
+108 −24
Original line number Diff line number Diff line
@@ -5772,9 +5772,6 @@ Change sort to allocate memory in ``hunks'' to get better memory utilisation.
@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
@@ -5809,8 +5806,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
@@ -24006,7 +24001,7 @@ By default, the @code{mysql.server} script starts the MySQL
server with the @code{-l} option.  If you need better performance when
you start using MySQL in a production environment, you can
remove the @code{-l} option from @code{mysql.server} or change it to
@code{--log-binary}.
@code{--log-bin}.
The entries in this log are written as @code{mysqld} receives the questions.
This may be different than the order in which the statements are executed.
@@ -24080,8 +24075,8 @@ and the crash.
@cindex binary log
@cindex files, binary log
In the future the binary log will replace the update log, so we
recommend you to switch to this log format as soon as possible!
The intention is that the binary log should replace the update log, so
we recommend you to switch to this log format as soon as possible!
The binary log contains all information that is available in the update
log in a more efficient format. It also contains information about how long
@@ -24096,6 +24091,14 @@ file name is given, it defaults to the name of the host machine followed
by @code{-bin}. If file name is given, but it doesn't contain a path, the
file is written in the data directory.
If you supply an extension to @code{--log-bin=filename.extension}, the
extension will be silenty removed.
To the binary log filename @code{mysqld} will append an extension that is a
number that is incremented each time you execute @code{mysqladmin
refresh}, execute @code{mysqladmin flush-logs}, execute the @code{FLUSH LOGS}
statement or restart the server. 
You can use the following options to @code{mysqld} to affect what is logged
to the binary log:
@@ -24110,11 +24113,6 @@ Tells the master that updates to the given database should not be logged
to the binary log (Example: @code{binlog-ignore-db=some_database})
@end multitable
To the binary log filename @code{mysqld} will append an extension that is a
number that is incremented each time you execute @code{mysqladmin
refresh}, execute @code{mysqladmin flush-logs}, execute the @code{FLUSH LOGS}
statement or restart the server.
To be able to know which different binary log files have been used,
@code{mysqld} will also create a binary log index file that
contains the name of all used binary log files. By default this has the
@@ -48950,6 +48948,7 @@ users use this code as the rest of the code and because of this we are
not yet 100% confident in this code.
@menu
* News-3.23.45::                Changes in release 3.23.45
* News-3.23.44::                Changes in release 3.23.44
* News-3.23.43::                Changes in release 3.23.43
* News-3.23.42::                Changes in release 3.23.42
@@ -48998,10 +48997,42 @@ not yet 100% confident in this code.
* News-3.23.0::                 Changes in release 3.23.0
@end menu
@node News-3.23.44, News-3.23.43, News-3.23.x, News-3.23.x
@node News-3.23.45, News-3.23.44, News-3.23.x, News-3.23.x
@appendixsubsec Changes in release 3.23.45
@itemize @bullet
@item
Fixed problem with @code{t1 LEFT_JOIN t2 ... WHERE t2.date_column IS NULL} when
date_column was declared as @code{NOT NULL}.
@item
Fixed bug with BDB tables and keys on @code{BLOB}'s.
@item
Fixed bug in @code{MERGE} tables on OS with 32 bit file pointers.
@item
Fixed bug in @code{TIME_TO_SEC()} when using negative values.
@end itemize
@node News-3.23.44, News-3.23.43, News-3.23.45, News-3.23.x
@appendixsubsec Changes in release 3.23.44
@itemize @bullet
@item
Fixed @code{Rows_examined} count in slow query log.
@item
Fixed bug when using a reference to a @code{AVG()} column in @code{HAVING}.
@item
Fixed that date functions that require correct dates, like
@code{DAYOFYEAR(column)} will return @code{NULL} for @code{0000-00-00} dates.
@item
Fixed bug in const-propagation when comparing columns of different
types. (@code{SELECT * FROM date_col="2001-01-01" and date_col=time_col})
@item
Fixed bug that caused error message @code{Can't write, because of unique
constraint} with some @code{GROUP BY} queries.
@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
Don't use @code{signal()} on windows because this appears to not be
100 % reliable.
@item
@@ -49011,9 +49042,62 @@ 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
@code{TCP_NODELAY} was not used on some systems. (Speed problem).
@item
Applied portability fixes for OS/2 (Patch by Yuri Dario).
@end itemize
The following changes are for @code{InnoDB} tables:
@itemize @bullet
@item
Add missing @code{InnoDB} variables to @code{SHOW VARIABLES}.
@item
Foreign keys checking is now done for @code{InnoDB} tables.
@item
@code{DROP DATABASE} now works also for @code{InnoDB} tables.
@item
@code{InnoDB} now supports data files and raw disk partitions bigger
than 4 GB on those operating systems which have big files.
@item
@code{InnoDB} calculates better table cardinality estimates for the
MySQL optimizer.
@item
Accent characters in the default character set latin1 are ordered
according to the MySQL ordering.
NOTE: if you are using latin1 and have inserted characters whose code is >
127 to an indexed CHAR column, you should run CHECK TABLE on your table when
you upgrade to 3.23.44, and drop and reimport the table if CHECK TABLE
reports an error!
@item
A new @file{my.cnf} parameter @code{innodb_thread_concurrency} helps in
performance tuning in heavily concurrent environments.
@item
A new @code{my.cnf} parameter @code{innodb_fast_shutdown} speeds up
server shutdown.
@item
A new @code{my.cnf} parameter @code{innodb_force_recovery} helps to save
your data in case the disk image of the database becomes corrupt.
@item
@code{innodb_monitor} has been improved and a new
@code{innodb_table_monitor} added.
@item
Increased maximum key length from 500 to 7000 bytes.
@item
Fixed a bug in replication of auto-inc columns with multiline inserts.
@item
Fixed a bug when the case of letters changes in an update of an indexed
secondary column.
@item
Fixed a hang when there are > 24 data files.
@item
Fixed a crash when @code{MAX(col)} is selected from an empty table, and
col is a not the first column in a multi-column index.
@item
TCP_NODELAY was not used on some systems. (Speed problem).
Fixed a bug in purge which could cause crashes.
@end itemize
@node News-3.23.43, News-3.23.42, News-3.23.44, News-3.23.x
@@ -49117,15 +49201,15 @@ Fixed possible problem with @code{shutdown} on Solaris where the
@item
InnoDB now supports < 4 GB rows. The former limit was 8000 bytes.
@item
The @code{doublewrite} file flush method is used in InnoDB.
The @code{doublewrite} file flush method is used in @code{InnoDB}.
It reduces the need for Unix fsync calls to a fraction and
improves performance on most Unix flavors.
@item
You can now use the InnoDB Monitor to print a lot of InnoDB state
You can now use the @code{InnoDB} Monitor to print a lot of @code{InnoDB} state
information, including locks, to the standard output; useful in
performance tuning.
@item
Several bugs which could cause hangs in InnoDB have been fixed.
Several bugs which could cause hangs in @code{InnoDB} have been fixed.
@item
Split @code{record_buffer} to @code{record_buffer} and
@code{record_rnd_buffer}.  To make things compatible to previous MySQL
@@ -49239,7 +49323,7 @@ Extended argument length in option files from 256 to 512 chars.
Fixed problem with shutdown when @code{INSERT DELAYED} was waiting for
a @code{LOCK TABLE}.
@item
Fixed coredump bug in InnoDB when tablespace was full.
Fixed coredump bug in @code{InnoDB} when tablespace was full.
@item
Fixed problem with @code{MERGE} tables and big tables (> 4G) when using
@code{ORDER BY}.
@@ -49284,7 +49368,7 @@ New program @code{mysqlcheck}.
Added database name to output for administrative commands like @code{CHECK},
@code{REPAIR}, @code{OPTIMIZE}.
@item
Lots of portability fixes for InnoDB.
Lots of portability fixes for @code{InnoDB}.
@item
Changed optimiser so that queries like
@code{SELECT * FROM table_name,table_name2 ... ORDER BY key_part1 LIMIT #}
@@ -54880,15 +54964,15 @@ Make a second backup of the tables.
Remove (or move away) any old log files from the MySQL data
directory if you need more space.
@item
Start @code{mysqld} with @code{--log-binary}. @xref{Binary log}.
Start @code{mysqld} with @code{--log-bin}. @xref{Binary log}.
If you want to find a query that crashes @code{mysqld}, you should use
@code{--log --log-binary}.
@code{--log --log-bin}.
@item
When you have gotten a crashed table, stop the @code{mysqld server}.
@item
Restore the backup.
@item
Restart the @code{mysqld} server @strong{without} @code{--log-binary}
Restart the @code{mysqld} server @strong{without} @code{--log-bin}
@item
Re-execute the commands with @code{mysqlbinlog update-log-file | mysql}.
The update log is saved in the MySQL database directory with
Loading