Skip to content

Commit fd07804

Browse files
author
monty@hundin.mysql.fi
committed
merge with 3.23.44
2 parents 67951fd + 65d4c84 commit fd07804

File tree

115 files changed

+3380
-1382
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

115 files changed

+3380
-1382
lines changed

.bzrignore

+16-16
Original file line numberDiff line numberDiff line change
@@ -120,17 +120,32 @@ bdb/dist/template/rec_txn
120120
bdb/examples_java
121121
bdb/hash/hash_auto.c
122122
bdb/include/btree_auto.h
123+
bdb/include/btree_ext.h
124+
bdb/include/clib_ext.h
125+
bdb/include/common_ext.h
123126
bdb/include/crdel_auto.h
124127
bdb/include/db_auto.h
128+
bdb/include/db_ext.h
125129
bdb/include/db_server.h
130+
bdb/include/env_ext.h
126131
bdb/include/gen_client_ext.h
127132
bdb/include/gen_server_ext.h
128133
bdb/include/hash_auto.h
134+
bdb/include/hash_ext.h
135+
bdb/include/lock_ext.h
129136
bdb/include/log_auto.h
137+
bdb/include/log_ext.h
138+
bdb/include/mp_ext.h
139+
bdb/include/mutex_ext.h
140+
bdb/include/os_ext.h
130141
bdb/include/qam_auto.h
142+
bdb/include/qam_ext.h
131143
bdb/include/rpc_client_ext.h
132144
bdb/include/rpc_server_ext.h
145+
bdb/include/tcl_ext.h
133146
bdb/include/txn_auto.h
147+
bdb/include/txn_ext.h
148+
bdb/include/xa_ext.h
134149
bdb/java/src/com/sleepycat/db/DbConstants.java
135150
bdb/log/log_auto.c
136151
bdb/qam/qam_auto.c
@@ -250,6 +265,7 @@ libmysqld/lock.cc
250265
libmysqld/log.cc
251266
libmysqld/log_event.cc
252267
libmysqld/md5.c
268+
libmysqld/mf_iocache.cc
253269
libmysqld/mini_client.cc
254270
libmysqld/net_pkg.cc
255271
libmysqld/net_serv.cc
@@ -424,19 +440,3 @@ vio/test-ssl
424440
vio/test-sslclient
425441
vio/test-sslserver
426442
vio/viotest-ssl
427-
libmysqld/mf_iocache.cc
428-
bdb/include/btree_ext.h
429-
bdb/include/clib_ext.h
430-
bdb/include/common_ext.h
431-
bdb/include/db_ext.h
432-
bdb/include/env_ext.h
433-
bdb/include/hash_ext.h
434-
bdb/include/lock_ext.h
435-
bdb/include/log_ext.h
436-
bdb/include/mp_ext.h
437-
bdb/include/mutex_ext.h
438-
bdb/include/os_ext.h
439-
bdb/include/qam_ext.h
440-
bdb/include/tcl_ext.h
441-
bdb/include/txn_ext.h
442-
bdb/include/xa_ext.h

BUILD/FINISH.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ then
2020
(cd gemini && aclocal && autoheader && aclocal && automake && autoconf)
2121
fi
2222
23-
CFLAGS=\"$cflags\" CXX=gcc CXXFLAGS=\"$cxxflags\" $configure"
23+
CFLAGS=\"$cflags\" CXX=$CXX CXXFLAGS=\"$cxxflags\" $configure"
2424

2525
if [ -z "$just_configure" ]
2626
then

BUILD/SETUP.sh

+10-3
Original file line numberDiff line numberDiff line change
@@ -35,20 +35,20 @@ AM_MAKEFLAGS="-j 4"
3535
# -Wshadow -Wunused -Winline (The later isn't usable in C++ as
3636
# __attribute()__ doesn't work with gnu C++)
3737
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"
38-
debug_extra_warnings="-Wuninitialized"
38+
#debug_extra_warnings="-Wuninitialized"
3939
c_warnings="$global_warnings -Wunused"
4040
cxx_warnings="$global_warnings -Woverloaded-virtual -Wextern-inline -Wsign-promo -Wreorder -Wctor-dtor-privacy -Wnon-virtual-dtor"
4141

4242
alpha_cflags="-mcpu=ev6 -Wa,-mev6" # Not used yet
43-
pentium_cflags=""
43+
pentium_cflags="-mcpu=pentiumpro"
4444
sparc_cflags=""
4545

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

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

@@ -66,3 +66,10 @@ then
6666
else
6767
make=make
6868
fi
69+
70+
if gcc -v 2>&1 | grep 'version 3' > /dev/null 2>&1
71+
then
72+
CXX=c++
73+
else
74+
CXX=gcc
75+
fi

Build-tools/Do-all-build-steps

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ to_host=`hostname`
1818
cc=gcc
1919
ccc=gcc
2020
EXTRA_CONFIG="--without-perl"
21-
AM_MAKEFLAGS="-j 2"
21+
#AM_MAKEFLAGS="-j 2"
2222
echo "Building on $to_host"
2323

2424
rm -rf $BD/*

Docs/manual.texi

+108-24
Original file line numberDiff line numberDiff line change
@@ -5772,9 +5772,6 @@ Change sort to allocate memory in ``hunks'' to get better memory utilisation.
57725772
@code{Field_decimal::store(const char *from,uint len)} must be recoded
57735773
to fix this.
57745774
@item
5775-
Fix @code{mysql.cc} to do fewer @code{malloc()} calls when hashing field
5776-
names.
5777-
@item
57785775
Functions:
57795776
ADD_TO_SET(value,set) and REMOVE_FROM_SET(value,set)
57805777
@item
@@ -5809,8 +5806,6 @@ join type.
58095806
@item
58105807
Oracle like @code{CONNECT BY PRIOR ...} to search hierarchy structures.
58115808
@item
5812-
@code{RENAME DATABASE}
5813-
@item
58145809
@code{mysqladmin copy database new-database}. -- Requires COPY command to be
58155810
added to @code{mysqld}
58165811
@item
@@ -24006,7 +24001,7 @@ By default, the @code{mysql.server} script starts the MySQL
2400624001
server with the @code{-l} option. If you need better performance when
2400724002
you start using MySQL in a production environment, you can
2400824003
remove the @code{-l} option from @code{mysql.server} or change it to
24009-
@code{--log-binary}.
24004+
@code{--log-bin}.
2401024005

2401124006
The entries in this log are written as @code{mysqld} receives the questions.
2401224007
This may be different than the order in which the statements are executed.
@@ -24080,8 +24075,8 @@ and the crash.
2408024075
@cindex binary log
2408124076
@cindex files, binary log
2408224077

24083-
In the future the binary log will replace the update log, so we
24084-
recommend you to switch to this log format as soon as possible!
24078+
The intention is that the binary log should replace the update log, so
24079+
we recommend you to switch to this log format as soon as possible!
2408524080

2408624081
The binary log contains all information that is available in the update
2408724082
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
2409624091
by @code{-bin}. If file name is given, but it doesn't contain a path, the
2409724092
file is written in the data directory.
2409824093

24094+
If you supply an extension to @code{--log-bin=filename.extension}, the
24095+
extension will be silenty removed.
24096+
24097+
To the binary log filename @code{mysqld} will append an extension that is a
24098+
number that is incremented each time you execute @code{mysqladmin
24099+
refresh}, execute @code{mysqladmin flush-logs}, execute the @code{FLUSH LOGS}
24100+
statement or restart the server.
24101+
2409924102
You can use the following options to @code{mysqld} to affect what is logged
2410024103
to the binary log:
2410124104

@@ -24110,11 +24113,6 @@ Tells the master that updates to the given database should not be logged
2411024113
to the binary log (Example: @code{binlog-ignore-db=some_database})
2411124114
@end multitable
2411224115

24113-
To the binary log filename @code{mysqld} will append an extension that is a
24114-
number that is incremented each time you execute @code{mysqladmin
24115-
refresh}, execute @code{mysqladmin flush-logs}, execute the @code{FLUSH LOGS}
24116-
statement or restart the server.
24117-
2411824116
To be able to know which different binary log files have been used,
2411924117
@code{mysqld} will also create a binary log index file that
2412024118
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
4895048948
not yet 100% confident in this code.
4895148949

4895248950
@menu
48951+
* News-3.23.45:: Changes in release 3.23.45
4895348952
* News-3.23.44:: Changes in release 3.23.44
4895448953
* News-3.23.43:: Changes in release 3.23.43
4895548954
* News-3.23.42:: Changes in release 3.23.42
@@ -48998,10 +48997,42 @@ not yet 100% confident in this code.
4899848997
* News-3.23.0:: Changes in release 3.23.0
4899948998
@end menu
4900048999

49001-
@node News-3.23.44, News-3.23.43, News-3.23.x, News-3.23.x
49000+
@node News-3.23.45, News-3.23.44, News-3.23.x, News-3.23.x
49001+
@appendixsubsec Changes in release 3.23.45
49002+
@itemize @bullet
49003+
@item
49004+
Fixed problem with @code{t1 LEFT_JOIN t2 ... WHERE t2.date_column IS NULL} when
49005+
date_column was declared as @code{NOT NULL}.
49006+
@item
49007+
Fixed bug with BDB tables and keys on @code{BLOB}'s.
49008+
@item
49009+
Fixed bug in @code{MERGE} tables on OS with 32 bit file pointers.
49010+
@item
49011+
Fixed bug in @code{TIME_TO_SEC()} when using negative values.
49012+
@end itemize
49013+
49014+
@node News-3.23.44, News-3.23.43, News-3.23.45, News-3.23.x
4900249015
@appendixsubsec Changes in release 3.23.44
4900349016
@itemize @bullet
4900449017
@item
49018+
Fixed @code{Rows_examined} count in slow query log.
49019+
@item
49020+
Fixed bug when using a reference to a @code{AVG()} column in @code{HAVING}.
49021+
@item
49022+
Fixed that date functions that require correct dates, like
49023+
@code{DAYOFYEAR(column)} will return @code{NULL} for @code{0000-00-00} dates.
49024+
@item
49025+
Fixed bug in const-propagation when comparing columns of different
49026+
types. (@code{SELECT * FROM date_col="2001-01-01" and date_col=time_col})
49027+
@item
49028+
Fixed bug that caused error message @code{Can't write, because of unique
49029+
constraint} with some @code{GROUP BY} queries.
49030+
@item
49031+
Fixed problem with sjis character strings used within quoted table names.
49032+
@item
49033+
Fixed coredump when using @code{CREATE ... FULLTEXT} keys with other table
49034+
handlers than MyISAM.
49035+
@item
4900549036
Don't use @code{signal()} on windows because this appears to not be
4900649037
100 % reliable.
4900749038
@item
@@ -49011,9 +49042,62 @@ that had @code{NULL} values.
4901149042
Fixed bug when doing @code{LEFT JOIN ... ON (column_name = constant) WHERE column_name = constant}.
4901249043
@item
4901349044
When using replications, aborted queries that contained @code{%} could cause
49014-
a core dum.
49045+
a core dump.
49046+
@item
49047+
@code{TCP_NODELAY} was not used on some systems. (Speed problem).
49048+
@item
49049+
Applied portability fixes for OS/2 (Patch by Yuri Dario).
49050+
@end itemize
49051+
49052+
The following changes are for @code{InnoDB} tables:
49053+
49054+
@itemize @bullet
49055+
@item
49056+
Add missing @code{InnoDB} variables to @code{SHOW VARIABLES}.
49057+
@item
49058+
Foreign keys checking is now done for @code{InnoDB} tables.
49059+
@item
49060+
@code{DROP DATABASE} now works also for @code{InnoDB} tables.
49061+
@item
49062+
@code{InnoDB} now supports data files and raw disk partitions bigger
49063+
than 4 GB on those operating systems which have big files.
49064+
@item
49065+
@code{InnoDB} calculates better table cardinality estimates for the
49066+
MySQL optimizer.
49067+
@item
49068+
Accent characters in the default character set latin1 are ordered
49069+
according to the MySQL ordering.
49070+
49071+
NOTE: if you are using latin1 and have inserted characters whose code is >
49072+
127 to an indexed CHAR column, you should run CHECK TABLE on your table when
49073+
you upgrade to 3.23.44, and drop and reimport the table if CHECK TABLE
49074+
reports an error!
49075+
@item
49076+
A new @file{my.cnf} parameter @code{innodb_thread_concurrency} helps in
49077+
performance tuning in heavily concurrent environments.
49078+
@item
49079+
A new @code{my.cnf} parameter @code{innodb_fast_shutdown} speeds up
49080+
server shutdown.
49081+
@item
49082+
A new @code{my.cnf} parameter @code{innodb_force_recovery} helps to save
49083+
your data in case the disk image of the database becomes corrupt.
49084+
@item
49085+
@code{innodb_monitor} has been improved and a new
49086+
@code{innodb_table_monitor} added.
49087+
@item
49088+
Increased maximum key length from 500 to 7000 bytes.
49089+
@item
49090+
Fixed a bug in replication of auto-inc columns with multiline inserts.
49091+
@item
49092+
Fixed a bug when the case of letters changes in an update of an indexed
49093+
secondary column.
49094+
@item
49095+
Fixed a hang when there are > 24 data files.
49096+
@item
49097+
Fixed a crash when @code{MAX(col)} is selected from an empty table, and
49098+
col is a not the first column in a multi-column index.
4901549099
@item
49016-
TCP_NODELAY was not used on some systems. (Speed problem).
49100+
Fixed a bug in purge which could cause crashes.
4901749101
@end itemize
4901849102

4901949103
@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
4911749201
@item
4911849202
InnoDB now supports < 4 GB rows. The former limit was 8000 bytes.
4911949203
@item
49120-
The @code{doublewrite} file flush method is used in InnoDB.
49204+
The @code{doublewrite} file flush method is used in @code{InnoDB}.
4912149205
It reduces the need for Unix fsync calls to a fraction and
4912249206
improves performance on most Unix flavors.
4912349207
@item
49124-
You can now use the InnoDB Monitor to print a lot of InnoDB state
49208+
You can now use the @code{InnoDB} Monitor to print a lot of @code{InnoDB} state
4912549209
information, including locks, to the standard output; useful in
4912649210
performance tuning.
4912749211
@item
49128-
Several bugs which could cause hangs in InnoDB have been fixed.
49212+
Several bugs which could cause hangs in @code{InnoDB} have been fixed.
4912949213
@item
4913049214
Split @code{record_buffer} to @code{record_buffer} and
4913149215
@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.
4923949323
Fixed problem with shutdown when @code{INSERT DELAYED} was waiting for
4924049324
a @code{LOCK TABLE}.
4924149325
@item
49242-
Fixed coredump bug in InnoDB when tablespace was full.
49326+
Fixed coredump bug in @code{InnoDB} when tablespace was full.
4924349327
@item
4924449328
Fixed problem with @code{MERGE} tables and big tables (> 4G) when using
4924549329
@code{ORDER BY}.
@@ -49284,7 +49368,7 @@ New program @code{mysqlcheck}.
4928449368
Added database name to output for administrative commands like @code{CHECK},
4928549369
@code{REPAIR}, @code{OPTIMIZE}.
4928649370
@item
49287-
Lots of portability fixes for InnoDB.
49371+
Lots of portability fixes for @code{InnoDB}.
4928849372
@item
4928949373
Changed optimiser so that queries like
4929049374
@code{SELECT * FROM table_name,table_name2 ... ORDER BY key_part1 LIMIT #}
@@ -54880,15 +54964,15 @@ Make a second backup of the tables.
5488054964
Remove (or move away) any old log files from the MySQL data
5488154965
directory if you need more space.
5488254966
@item
54883-
Start @code{mysqld} with @code{--log-binary}. @xref{Binary log}.
54967+
Start @code{mysqld} with @code{--log-bin}. @xref{Binary log}.
5488454968
If you want to find a query that crashes @code{mysqld}, you should use
54885-
@code{--log --log-binary}.
54969+
@code{--log --log-bin}.
5488654970
@item
5488754971
When you have gotten a crashed table, stop the @code{mysqld server}.
5488854972
@item
5488954973
Restore the backup.
5489054974
@item
54891-
Restart the @code{mysqld} server @strong{without} @code{--log-binary}
54975+
Restart the @code{mysqld} server @strong{without} @code{--log-bin}
5489254976
@item
5489354977
Re-execute the commands with @code{mysqlbinlog update-log-file | mysql}.
5489454978
The update log is saved in the MySQL database directory with

client/client_priv.h

+1
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,5 @@
2929
enum options { OPT_CHARSETS_DIR=256, OPT_DEFAULT_CHARSET,
3030
OPT_PAGER, OPT_NOPAGER, OPT_TEE, OPT_NOTEE,
3131
OPT_LOW_PRIORITY, OPT_AUTO_REPAIR, OPT_COMPRESS,
32+
OPT_DROP, OPT_LOCKS, OPT_KEYWORDS, OPT_DELAYED, OPT_OPTIMIZE,
3233
OPT_FTB, OPT_LTB, OPT_ENC, OPT_O_ENC, OPT_ESC, OPT_TABLES};

client/mysqladmin.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
#include <my_pthread.h> /* because of signal() */
2424
#endif
2525

26-
#define ADMIN_VERSION "8.22"
26+
#define ADMIN_VERSION "8.23"
2727
#define MAX_MYSQL_VAR 64
2828
#define SHUTDOWN_DEF_TIMEOUT 3600 /* Wait for shutdown */
2929
#define MAX_TRUNC_LENGTH 3
@@ -1130,7 +1130,7 @@ static void wait_pidfile(char *pidfile)
11301130

11311131
system_filename(buff,pidfile);
11321132
while ((fd = my_open(buff, O_RDONLY, MYF(0))) >= 0 &&
1133-
count++ < opt_shutdown_timeout)
1133+
count++ < opt_shutdown_timeout && !interrupted)
11341134
{
11351135
my_close(fd,MYF(0));
11361136
sleep(1);

0 commit comments

Comments
 (0)