MariaDB server is a community developed fork of MySQL server. Started by core members of the original MySQL team, MariaDB actively works with outside developers to deliver the most featureful, stable, and sanely licensed open SQL server in the industry.
Find a file
unknown fe036d9848 Bug #27383: Crash in test "mysql_client_test"
The C optimizer may decide that data access operations
through pointer of different type are not related to 
the original data (strict aliasing).
This is what happens in fetch_long_with_conversion(),
when called as part of mysql_stmt_fetch() : it tries 
to check for truncation errors by first storing float
(and other types of data) into a char * buffer and then 
accesses them through a float pointer.
This is done to prevent the effects of excess precision
when using FPU registers.
However the doublestore() macro converts a double pointer
to an union pointer. This violates the strict aliasing rule.
Fixed by making the intermediary variables volatile (
to not re-introduce the excess precision bug) and using
the intermediary value instead of the char * buffer.
Note that there can be loss of precision for both signed
and unsigned 64 bit integers converted to double and back,
so the check must stay there (even for compatibility 
reasons).
Based on the excellent analysis in bug 28400.


libmysql/libmysql.c:
  Bug #27383: avoid pointer aliasing problems while 
  not re-violating the Intel FPU gcc bug.
2007-06-22 15:34:28 +03:00
bdb my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
BitKeeper Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-4.1-build 2007-06-13 19:24:46 +02:00
BUILD Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build-work-17707 2007-05-30 17:20:58 +02:00
client Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build-work 2007-06-16 06:16:00 +02:00
cmd-line-utils Merge pilot.(none):/data/msvensson/mysql/mysql-4.1-maint 2007-06-07 09:21:33 +02:00
config/ac-macros Fix SCI Transporter 2007-05-07 15:25:24 +02:00
dbug dbug/dbug_analyze.c : Avoid the unresolved symbol "my_thread_global_init()" 2007-04-23 13:36:18 +02:00
debian Change mode to -rw-rw-r-- 2007-04-19 21:59:25 -07:00
Docs Merge mysql.com:/home/kent/bk/tmp/mysql-4.1-build 2007-03-22 19:43:41 +01:00
extra Bug #27390: mysqld_multi --config-file= not working as documented 2007-04-28 01:27:54 +02:00
heap Fixing crash when compiled using -DNEW_HASH_FUNCTIONS 2007-05-08 17:04:56 +05:00
include Merge chilla.local:/home/mydev/mysql-5.0-amain 2007-06-16 11:34:21 +02:00
innobase Apply innodb-5.0-ss1405 snapshot 2007-04-18 19:36:22 -06:00
libmysql Bug #27383: Crash in test "mysql_client_test" 2007-06-22 15:34:28 +03:00
libmysql_r my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
libmysqld Merge trift2.:/MySQL/M41/tmp-4.1 2007-06-13 13:55:42 +02:00
man my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
myisam Merge mysql.com:/home/svoj/devel/bk/mysql-5.0 2007-05-23 12:39:33 +05:00
myisammrg BUG#26976 - Missing table in merge not noted in related error msg + 2007-06-06 04:42:41 +05:00
mysql-test Merge gleb.loc:/home/uchum/work/bk/5.0 2007-06-18 18:45:55 +05:00
mysys Merge chilla.local:/home/mydev/mysql-5.0-amain 2007-06-16 11:34:21 +02:00
ndb Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb 2007-06-14 21:58:45 +02:00
netware netware/*.def : Allocate 128K stack for all executables (bug#23504) 2007-06-07 12:59:31 +02:00
os2 my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
pstack my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
regex my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
scripts fix make_win_bin_dist typo 2007-06-13 19:19:11 +02:00
server-tools Merge pilot.blaudden:/home/msvensson/mysql/bug26664/my50-bug26664 2007-05-24 20:51:37 +02:00
sql Merge mysql.com:/home/hf/work/29117/my41-29117 2007-06-19 12:31:37 +05:00
sql-bench my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql-common Bug #24731 Shared memory connections do not work with MySql ran as service on Vista 2007-06-07 09:13:56 -05:00
SSL my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
strings Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0 2007-06-05 23:04:40 +02:00
support-files Merge trift2.:/MySQL/M41/spec-4.1 2007-05-02 16:53:54 +02:00
tests corrected valgrind problems for bug 28505 and 28934 2007-06-14 15:38:52 +03:00
tools Fixed compiler warnings (for linux and win32 and win64) 2007-02-22 16:59:57 +02:00
VC++Files mysql.sln: 2007-04-19 22:56:04 +02:00
vio Bug#26664 test suite times out on OS X 64bit 2007-05-24 11:21:27 +02:00
win Bug #24732 Executables do not include Vista manifests 2007-06-01 16:48:23 -04:00
zlib my_memmem.c: 2007-04-11 01:47:42 +02:00
.bzrignore Do not ignore mysqltest language interpreter warnings. 2007-06-01 18:06:40 +04:00
.cvsignore
CMakeLists.txt Bug #24732 Executables do not include Vista manifests 2007-06-01 16:48:23 -04:00
configure.in Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0-maint 2007-06-15 17:59:04 +02:00
COPYING
EXCEPTIONS-CLIENT EXCEPTIONS-CLIENT: 2007-03-14 18:28:16 +01:00
Makefile.am Add the "row_lock" test suite to the (to be) release build test run. 2007-05-22 17:21:22 +02:00
README

This is a release of MySQL, a dual-license SQL database server.
MySQL is brought to you by the MySQL team at MySQL AB.

License information can be found in these files:
- For GPL (free) distributions, see the COPYING file and
  the EXCEPTIONS-CLIENT file.
- For commercial distributions, see the LICENSE.mysql file.


For further information about MySQL or additional documentation, see:
- The latest information about MySQL: http://www.mysql.com
- The current MySQL documentation: http://dev.mysql.com/doc

Some manual sections of special interest:

- If you are migrating from an older version of MySQL, please read the
  "Upgrading from..." section first!
- To see what MySQL can do, take a look at the features section.
- For installation instructions, see the Installing and Upgrading chapter.
- For the new features/bugfix history, see the Change History appendix.
- For the currently known bugs/misfeatures (known errors) see the Problems
  and Common Errors appendix.
- For a list of developers and other contributors, see the Credits
  appendix.

A local copy of the MySQL Reference Manual can be found in the Docs
directory in GNU Info format.  You can also browse the manual online or
download it in any of several formats at the URL given earlier in this
file.

************************************************************

IMPORTANT:

Bug or error reports should be sent to http://bugs.mysql.com.