Fix an assertion failure in 64-bit computers if UNIV_MEM_DEBUG is defined
innobase/mem/mem0pool.c:
Fix an assertion failure in 64-bit computers if UNIV_MEM_DEBUG is defined
Fix replication for multi-update
new test - rpl_multi_update2
sql/mysql_priv.h:
Bug#7011
New function mysql_multi_update_lock()
sql/sql_parse.cc:
Bug#7011
New function check_multi_update_lock()
For multi-update on slave, perform an early open&lock
sql/sql_update.cc:
Bug#7011
Split out multi-update locking into its own function,
mysql_multi_update_lock()
Add -DDBUG_ON to CXXFLAGS whenever it is added to CFLAGS.
Thus, sql/ha_innodb.cc will be compiled with the same
setting of UNIV_DEBUG as the rest of InnoDB,
i.e., --with-debug enables InnoDB ut_ad() assertions
everywhere.
configure.in:
Add -DDBUG_ON to CXXFLAGS whenever it is added to CFLAGS.
Thus, sql/ha_innodb.cc will be compiled with the same
setting of UNIV_DEBUG as the rest of InnoDB,
i.e., --with-debug enables InnoDB ut_ad() assertions
everywhere.
Added a test case for bug #7672.
sql_yacc.yy:
Fixed bug #7672.
Made queries of the form (SELECT ...) ORDER BY ... to
be equivalent to SELECT ... ORDER BY ...
sql/sql_yacc.yy:
Fixed bug #7672.
Made queries of the form (SELECT ...) ORDER BY ... to
be equivalent to SELECT ... ORDER BY ...
mysql-test/t/order_by.test:
Added a test case for bug #7672.
mysql-test/r/order_by.result:
Added a test case for bug #7672.
Added a test case for bug #7945.
sql_select.cc:
Fixed bug #7945. If DISTINCT is used only with constants
in a query with GROUP BY, we can apply an optimization
that set LIMIT to 1 only in the case when there is
no SQL_CALC_FOUND_ROWS.
sql/sql_select.cc:
Fixed bug #7945. If DISTINCT is used only with constants
in a query with GROUP BY, we can apply an optimization
that set LIMIT to 1 only in the case when there is
no SQL_CALC_FOUND_ROWS.
mysql-test/t/select_found.test:
Added a test case for bug #7945.
mysql-test/r/select_found.result:
Added a test case for bug #7945.
environment (using "build" on SUSE Linux)
Build-tools/Do-rpm:
- added functionality to perform RPM builds inside of a chrooted build
environment (using "build" on SUSE Linux) - see "--help" for more details
Version for 4.0. Committed for merge.
If the result table is one of the select tables in INSERT SELECT,
we must not disable the result tables indexes before selecting.
mysql_execute_command() detects the match for other reasons and
adds the flag OPTION_BUFFER_RESULT to the 'select_options'.
In this case the result is put into a temporary table first.
Hence, we can defer the preparation of the insert
table until the result is to be used.
mysql-test/r/insert_select.result:
BUG#6034 - Error code 124: Wrong medium type.
The test results.
mysql-test/t/insert_select.test:
BUG#6034 - Error code 124: Wrong medium type.
The test case.
sql/sql_select.cc:
BUG#6034 - Error code 124: Wrong medium type.
With OPTION_BUFFER_RESULT in the 'select_options',
defer the preparation of the insert table until the
result is to be used. Unfortunately, this happens
at several places.
macros.
It does not fixes any bugs in 4.0. But it prevents from future error in
any bugfixes that may use these macros. Also after merging into 4.1 tree
this cleanup will fix bug #7884 "Able to add invalid unique index on
TIMESTAMP prefix".
sql/field.h:
Since FIELDFLAG_INTERVAL, FIELDFLAG_BITFIELD, FIELDFLAG_BLOB and
FIELDFLAG_GEOM flags occupy the same space as number of decimals for
FIELDFLAG_NUMBER fields, it is safer to check in "f_is_geom()"-type
macros that we have non-number field, like we already do in f_is_blob()
macro.
set to a negative value. (Bug #7700)
sql/field_conv.cc:
Don't treat real fields as identical when destination is unsigned and
the source is not.
mysql-test/t/type_float.test:
Add test for setting double unsigned to a negative value from a signed double
mysql-test/r/type_float.result:
Add test results
include/my_sys.h:
Added function to call if IO_CACHE is moved
mysys/mf_iocache.c:
Added function to call if IO_CACHE is moved
sql/filesort.cc:
Tell that io_cache is moved
Fix a theoretical hang over the adaptive hash latch in InnoDB if one runs INSERT ... SELECT ... (binlog not enabled), or a multi-table UPDATE or DELETE, and only the read tables are InnoDB type, the rest are MyISAM; this also fixes bug #7879 for InnoDB type tables
sql/ha_innodb.cc:
Fix a theoretical hang over the adaptive hash latch in InnoDB if one runs INSERT ... SELECT ... (binlog not enabled), or a multi-table UPDATE or DELETE, and only the read tables are InnoDB type, the rest are MyISAM; this also fixes bug #7879 for InnoDB type tables
case will be added to client_test in 4.1
sql/sql_parse.cc:
A fix for bug #6761: "mysql_list_fields() does not work": init
thd->query_length, which is used next line. Remove a stale comment.
open interface for setting the "delete-on-close" flag.
innobase/os/os0file.c:
Use system-supplied tmpfile() on Netware
sql/ha_innodb.cc:
Remove innobase_mysql_tmpfile() on Netware.
mysql_admin_table() attempted to write to a vio which was 0. I could have fixed mysql_admin_table()
but fixing my_net_write() looked more future-proof.
sql/net_serv.cc:
If no VIO, no write.
This happened only if my_write() couldn't write even one byte.
I cannot easily add a .test for this, but I tested by hand before and after the change.
mysys/my_write.c:
Monty and I could not find a reason why a write should not wait for free disk space
(if disk is full) because it could not write at least one byte; doing so certainly
corrupts tables. my_pwrite() and my_fwrite() don't test for -1, so no problem.
build (to make the test suite pass)
BUILD/compile-dist:
- enable "with-extra-charsets=complex" for the distribution build
(to make the test suite pass)
official binary builds for Linux that are built against a static glibc with
a 128k thread stack size limit can be compiled with a default that doesn't
result in a harmless (but oft-misunderstood) warning message. (Bug #6226)
include/my_pthread.h:
Allow DEFAULT_THREAD_STACK to be set via -DDEFAULT_THREAD_STACK=...
ChangeLog, too (to be more exact when tagging a release that's based on a
merge ChangeSet)
Build-tools/Bootstrap:
- include merge ChangeSets into the ChangeLog, too (to be more exact when
tagging a release that's based on a merge ChangeSet)
the Epoch". (With after review fixes).
mysql-test/r/func_time.result:
Added test for bug #7515 "from_unixtime(0) now returns NULL instead of
the Epoch".
mysql-test/t/func_time.test:
Added test for bug #7515 "from_unixtime(0) now returns NULL instead of
the Epoch".
sql/item_timefunc.cc:
Item_func_from_unixtime:
from_unixtime(0) should return Epoch instead of NULL.
sql/item_timefunc.h:
Item_func_from_unixtime:
- Removed unused method definition.
- fix_length_and_dec() should set maybe_null to true since now
from_unixtime() can return NULL even in case when none of its
arguments is NULL.
Fix the previous bug fix: dropping a table with FOREIGN KEY checks running on it caused a cascade of failed drops while the foreign key check was waiting for a lock
innobase/row/row0mysql.c:
Fix the previous bug fix: dropping a table with FOREIGN KEY checks running on it caused a cascade of failed drops while the foreign key check was waiting for a lock