- 07 Dec, 2007 1 commit
-
-
unknown authored
and vice versa" Initial import of the dtoa.c code and custom wrappers around it to allow its usage from the server code. Conversion of FLOAT/DOUBLE values to DECIMAL ones or strings and vice versa has been significantly reworked. As the new algoritms are more precise than the older ones, results of such conversions may not always match those obtained from older server versions. This in turn may break compatibility for some applications. This patch also fixes the following bugs: - bug #12860 "Difference in zero padding of exponent between Unix and Windows" - bug #21497 "DOUBLE truncated to unusable value" - bug #26788 "mysqld (debug) aborts when inserting specific numbers into char fields" - bug #24541 "Data truncated..." on decimal type columns without any good reason" BitKeeper/deleted/.del-strtod.c: Rename: strings/strtod.c -> BitKeeper/deleted/.del-strtod.c client/Makefile.am: Added dtoa.c client/sql_string.cc: Replaced sprintf() with a new wrapper around dtoa() include/m_string.h: Added declarations for the new double to/from string conversion functions. libmysql/Makefile.shared: Removed strtod.c, added dtoa.c libmysql/libmysql.c: Replaced sprintf() with my_gcvt(). We must use the same conversion method in both server and client lib. mysql-test/r/archive_gis.result: Fixed tests to take additional precision from dtoa() into account. mysql-test/r/cast.result: Fixed tests to take the formatting changes into account. mysql-test/r/func_group.result: Fixed tests to take additional precision from dtoa() into account. mysql-test/r/func_math.result: Fixed tests to take additional precision from dtoa() and formatting changes into account. mysql-test/r/func_str.result: Fixed tests to take additional precision from dtoa() and formatting changes into account. mysql-test/r/gis.result: Fixed tests to take additional precision from dtoa() into account. mysql-test/r/innodb_gis.result: Fixed tests to take additional precision from dtoa() into account. mysql-test/r/insert.result: Fixed tests to take additional precision from dtoa() into account. mysql-test/r/mysqldump.result: No need for result substitution since we do not rely on system behavior anymore. mysql-test/r/ndb_gis.result: Fixed tests to take additional precision from dtoa() into account. mysql-test/r/parser.result: Fixed tests to take additional precision from dtoa() into account. mysql-test/r/ps_2myisam.result: Fixed tests to take additional precision from dtoa() and formatting changes into account. mysql-test/r/ps_3innodb.result: Fixed tests to take additional precision from dtoa() and formatting changes into account. mysql-test/r/ps_4heap.result: Fixed tests to take additional precision from dtoa() and formatting changes into account. mysql-test/r/ps_5merge.result: Fixed tests to take additional precision from dtoa() and formatting changes into account. mysql-test/r/ps_7ndb.result: Fixed tests to take additional precision from dtoa() and formatting changes into account. mysql-test/r/select.result: Fixed tests to take additional precision from dtoa() into account. mysql-test/r/sp.result: Fixed tests to take additional precision from dtoa() into account. Decimal 2.7182818284590452354 is now converted to the double value of 2.718281828459045, not 2.718281828459. Thus we get additional precision from the subsequent calculations. mysql-test/r/strict.result: Fixed tests to take additional precision from dtoa() and formatting changes into account. mysql-test/r/type_decimal.result: Added a test case for bug #24541. mysql-test/r/type_float.result: Fixed tests to take additional precision from dtoa() and formatting changes into account. Added test cases for bugs #12860, #21497 and #26788. mysql-test/r/type_newdecimal.result: Fixed tests to take additional precision from dtoa() and formatting changes into account. mysql-test/r/variables.result: Fixed tests to take the formatting changes into account. mysql-test/r/view.result: Fixed tests to take additional precision from dtoa() into account. mysql-test/t/cast.test: No need to replace the results for Windows anymore. mysql-test/t/insert.test: Added test cases from bug #26788. mysql-test/t/mysqldump.test: Fixed tests to take additional precision from dtoa() into account. No need for results substitution because we do not rely on system behavior anymore. mysql-test/t/type_decimal.test: Added a test case for bug #24541. mysql-test/t/type_float.test: Added test cases for bugs #12860, #21497 and #26788. mysql-test/t/type_newdecimal.test: Removed replace_result which is pointless with our own floating point conversion library. Added a reference for WL#3977. sql/field.cc: Replaced the field.cc's own constant for the maximum double->string conversion buffer with the one defined in m_string.h Replaced double->string conversion code with the new wrappers around dtoa(). Fixed a bug in Field_real::truncate() which led to incorrect results when +-Infinity was passed as an input number. Fixed Field_blob::store(double) to use NOT_FIXED_DEC instead of 2 as precision, so that my_gcvt() is now used for conversion. sql/field.h: Moved NOT_FIXED_DEC to m_string.h because we now use this constant in floating point <-> string conversion routines. sql/item.cc: If a result of a numeric functions is stored in a string field, follow the same rules as in Field_str::store(double), i.e. take the field width into account. sql/log_event.cc: Replaced sprintf() with my_gcvt(). sql/mysql_priv.h: Moved log_10[] from strtod.c to mysqld.c, because we don't need it in libmystrings anymore. sql/mysqld.cc: Moved log_10[] from strtod.c to mysqld.c, because we don't need it in libmystrings anymore. sql/sql_show.cc: Replaced sprintf() with my_fcvt(). sql/sql_string.cc: Replace the double->string conversion code with the new wrappers around dtoa(). sql/unireg.h: Moved FLOATING_POINT_BUFFER from unireg.h to m_string.h so it can be used in libmystrings. strings/Makefile.am: Removed strtod.c, added dtoa.c strings/decimal.c: Replaced sprintf() with my_gcvt(). Changed double2decimal() to print the digits to a string buffer, then use my_strtod(). strings/dtoa.c: Initial import of the dtoa code and custom wrappers around it to allow its usage from the server code.
-
- 19 Jun, 2007 2 commits
-
-
unknown authored
Additional edits to the 5.0 ChangeSet|1.2519 that are necessary for the fix to work with the new code structure in 5.1. sql/item_create.cc: Added line to prevent a query that contains a UDF from being cached. In 5.0 this was handled in sql_yacc.cc but now the the individual Create_func builders will be responsible for clearing the flag.
-
unknown authored
into damien-katzs-computer.local:/Users/dkatz/mysql51 mysql-test/r/udf.result: Auto merged mysql-test/t/udf.test: Auto merged sql/sql_yacc.yy: This line that marks the expression as unsafe for caching now belongs in the create() methods for builder objects inheriting from Create_func.
-
- 18 Jun, 2007 13 commits
-
-
unknown authored
Fixed runtime to no longer allow the caching of queries with UDF calls. mysql-test/r/udf.result: Added a test that turns on caching and checks that querys calling UDFs don't get cached. mysql-test/t/udf.test: Added a test that turns on caching and checks that querys calling UDFs don't get cached. sql/sql_yacc.yy: Fixed code to set safe_to_cache_query=0 regardless if the function call is a UDF or SP. Where it was placed previously -- at the very end of the else testing for UDFs -- it only executed the statement if the function call was a stored procedure call.
-
unknown authored
into maint1.mysql.com:/data/localhome/tsmith/bk/maint/51 configure.in: Auto merged
-
unknown authored
into maint1.mysql.com:/data/localhome/tsmith/bk/maint/50 configure.in: Auto merged
-
unknown authored
into maint1.mysql.com:/data/localhome/tsmith/bk/maint/51 sql/lock.cc: Auto merged sql/mysql_priv.h: Auto merged
-
unknown authored
into maint1.mysql.com:/data/localhome/tsmith/bk/maint/50
-
unknown authored
into maint1.mysql.com:/data/localhome/tsmith/bk/maint/41 configure.in: Auto merged
-
unknown authored
FLUSH LOGS should ignore SET GLOBAL READ_ONLY. sql/lock.cc: Sdditional fix-up for bug #26380: LOCK TABLES + FLUSH LOGS causes deadlock - ignore SET GLOBAL READ_ONLY if MYSQL_LOCK_IGNORE_GLOBAL_READ_ONLY is set. sql/mysql_priv.h: Sdditional fix-up for bug #26380: LOCK TABLES + FLUSH LOGS causes deadlock - MYSQL_LOCK_IGNORE_GLOBAL_READ_ONLY added. sql/sql_base.cc: Sdditional fix-up for bug #26380: LOCK TABLES + FLUSH LOGS causes deadlock - ignore SET GLOBAL READ_ONLY as well if called form a logger.
-
unknown authored
into mysql.com:/home/svoj/devel/mysql/merge/mysql-5.1-engines
-
unknown authored
into mysql.com:/home/svoj/devel/mysql/merge/mysql-5.1-engines configure.in: Auto merged
-
unknown authored
into mysql.com:/home/svoj/devel/mysql/merge/mysql-5.0-engines
-
unknown authored
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1
-
unknown authored
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1 configure.in: Auto merged
-
unknown authored
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0
-
- 17 Jun, 2007 24 commits
-
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-engines
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-engines
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-engines
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb mysql-test/t/ndb_restore.test: Auto merged mysql-test/r/ndb_restore.result: null merge
-
unknown authored
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-engines
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-engines sql/handler.h: Auto merged
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-engines sql/handler.h: Auto merged
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-engines
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-engines sql/ha_ndbcluster.cc: Auto merged sql/ha_ndbcluster.h: Auto merged sql/ha_ndbcluster_binlog.cc: Auto merged
-
unknown authored
- do not print 701 dictionary busy error sql/ha_ndbcluster.cc: save the ndb error such that it can be traced sql/ha_ndbcluster.h: save the ndb error such that it can be traced sql/ha_ndbcluster_binlog.cc: use the traced ndb error to determine if it is an error that should be printed
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-engines
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb mysql-test/r/ndb_restore.result: null merge mysql-test/t/ndb_restore.test: null merge
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-engines
-
unknown authored
- correct test and result file
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-engines
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-engines extra/perror.c: Auto merged mysql-test/t/ndb_basic.test: Auto merged mysql-test/t/ndb_insert.test: Auto merged sql/ha_ndbcluster.cc: Auto merged sql/handler.cc: Auto merged sql/handler.h: Auto merged sql/mysqld.cc: Auto merged storage/ndb/src/common/transporter/Packer.cpp: Auto merged storage/ndb/src/common/transporter/TCP_Transporter.hpp: Auto merged storage/ndb/src/common/transporter/TransporterRegistry.cpp: Auto merged storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp: Auto merged storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp: Auto merged storage/ndb/src/mgmclient/main.cpp: Auto merged storage/ndb/src/ndbapi/NdbBlob.cpp: Auto merged storage/ndb/test/ndbapi/testNdbApi.cpp: Auto merged storage/ndb/test/run-test/daily-basic-tests.txt: Auto merged storage/ndb/tools/restore/consumer_restore.cpp: Auto merged mysql-test/t/disabled.def: manual merge
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-engines
-
unknown authored
into mysql.com:/home/ram/work/b28144/b28144.5.0
-
unknown authored
into mysql.com:/home/ram/work/b28144/b28144.5.1
-
unknown authored
-
unknown authored
The log tables are by nature PERFORMANCE_SCHEMA tables, which should not be affected by SET GLOBAL READ_ONLY or FLUSH TABLES WITH READ LOCK. The implementation of FLUSH TABLES WITH READ LOCK already ignored log tables. Now with this patch, the implementation of LOCK TABLE also ignore a global read lock for log tables, which was the missing symmetry. mysql-test/r/flush.result: Fix for bug #26380: LOCK TABLES + FLUSH LOGS causes deadlock - test result. mysql-test/t/flush.test: Fix for bug #26380: LOCK TABLES + FLUSH LOGS causes deadlock - test case. sql/lock.cc: Fix for bug #26380: LOCK TABLES + FLUSH LOGS causes deadlock - logger.is_privileged_thread() used. sql/log.h: Fix for bug #26380: LOCK TABLES + FLUSH LOGS causes deadlock - LOGGER::is_privileged_thread() introduced that returns TRUE if a given thread is either a general_log or a slow_log or a privileged thread. sql/sql_base.cc: Fix for bug #26380: LOCK TABLES + FLUSH LOGS causes deadlock - pass MYSQL_LOCK_IGNORE_GLOBAL_READ_LOCK to the mysql_lock_tables() in case of call from a logger in order not to honor the GLOBAL READ LOCK and to avoid possible deadlocks.
-