Remove the mysql_odbc_escape_string() function. The function
has multi-byte character escaping issues, doesn't honor the
NO_BACKSLASH_ESCAPES mode and is not used anymore by the
Connector/ODBC as of 3.51.17.
include/mysql.h:
Remove mysql_odbc_escape_string() prototype.
include/mysql_h.ic:
Update abi check file, mostly line changes and mysql_odbc_escape_string
removal.
libmysql/libmysql.c:
Remove mysql_odbc_escape_string() body.
libmysql/libmysql.def:
Remove mysql_odbc_escape_string()
libmysqld/libmysqld.def:
Remove mysql_odbc_escape_string()
Sending several "KILL QUERY" statements to target a connection running
"SELECT SLEEP" could freeze the server.
The locking order in Item_func_sleep was wrong and this could lead to a
dead lock.
This patch solves the issue by resolving the locking order properly.
sql/item_func.cc:
- Moved LOCK_user_locks critical region so that it doesn't share space with
mysys_var->mutex region; this can lead to deadlock.
Problem: INTERVAL function implementation doesn't handle NULL range values.
Fix: skip NULL ranges looking for a proper one.
mysql-test/r/func_set.result:
Fix for bug #32560: crash with interval function and count(*)
- test result.
mysql-test/t/func_set.test:
Fix for bug #32560: crash with interval function and count(*)
- test case.
sql/item_cmpfunc.cc:
Fix for bug #32560: crash with interval function and count(*)
- skip NULL ranges calculating INTERVAL(...).
Include "manual.chm" in source TAR if it exists
configure.in:
Include "manual.chm" in source TAR if it exists
Docs/Makefile.am:
Include "manual.chm" in source TAR if it exists
FLUSH TABLES WITH READ LOCK fails to properly detect write locked
tables when running under low priority updates.
The problem is that when trying to aspire a global read lock, the
reload_acl_and_cache() function fails to properly check if the thread
has a low priority write lock, which later my cause a server crash or
deadlock.
The solution is to simple check if the thread has any type of the
possible exclusive write locks.
mysql-test/r/flush.result:
Add test case result for Bug#32528
mysql-test/t/flush.test:
Add test case for Bug#32528
sql/sql_parse.cc:
Although it should not matter under LOCK TABLES, use TL_WRITE_ALLOW_WRITE
to emphasize that it should fail in case of any write lock.
into lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.0-rt-merge
sql/mysqld.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
into dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl-merge
client/mysql.cc:
Auto merged
mysql-test/r/ctype_ucs.result:
Auto merged
mysql-test/t/ctype_uca.test:
Auto merged
mysql-test/t/ctype_ucs.test:
Auto merged
mysql-test/t/subselect.test:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_class.h:
Auto merged
Problem: setting Item_func_rollup_const::null_value property to argument's null_value
before (without) the argument evaluation may result in a crash due to wrong null_value.
Fix: use is_null() to set Item_func_rollup_const::null_value instead as it evaluates
the argument if necessary and returns a proper value.
mysql-test/r/olap.result:
Fix for bug #32558: group by null-returning expression with rollup causes crash
- test result.
mysql-test/t/olap.test:
Fix for bug #32558: group by null-returning expression with rollup causes crash
- test case.
sql/item_func.h:
Fix for bug #32558: group by null-returning expression with rollup causes crash
- use args[0]->is_null() to obtain Item_func_rollup_const::null_value
instead of args[0]->null_value as it's not set in advance in case of
constant functions.
Bug#31567 "datadict" tests (all engines) fail:
Reference protocol is non-standard build
Bug#30418 "datadict" tests (all engines) fail:
Dependency on the host name for ordering
Modifications:
1. The standard builds (build team) do not contain
the collation 'utf8_general_cs'.
The common developer builds (compuile-....-max)
contain this collation.
Solution fitting to both build variants:
Exclude the collation 'utf8_general_cs' from
result sets.
2. Use mysqltest builtin sorting of result set for
the statement where the hostname affects the
row order.
mysql-test/suite/funcs_1/datadict/datadict_master.inc:
Exclude collation 'utf8_general_cs' from result set.
mysql-test/suite/funcs_1/datadict/datadict_show_schema.inc:
Use mysqltest builtin sorting of result set.
mysql-test/suite/funcs_1/datadict/datadict_tables.inc:
Exclude collation 'utf8_general_cs' from result set.
mysql-test/suite/funcs_1/r/innodb__datadict.result:
Updated results
mysql-test/suite/funcs_1/r/memory__datadict.result:
Updated results
mysql-test/suite/funcs_1/r/myisam__datadict.result:
Updated results
into adventure.(none):/home/thek/Development/cpp/mysql-5.0-runtime
sql/mysqld.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sp_head.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_yacc.yy:
Manual merge.
Fixes the following bugs:
- Bug #29560: InnoDB >= 5.0.30 hangs on adaptive hash rw-lock 'waiting for an X-lock'
Fixed a race condition in the rw_lock where an os_event_reset()
can overwrite an earlier os_event_set() triggering an indefinite
wait.
NOTE: This fix for windows is different from that for other platforms.
NOTE2: This bug is introduced in the scalability fix to the
sync0arr which was applied to 5.0 only. Therefore, it need not be
applied to the 5.1 tree. If we decide to port the scalability fix
to 5.1 then this fix should be ported as well.
- Bug #32125: Database crash due to ha_innodb.cc:3896: ulint convert_search_mode_to_innobase
When unknown find_flag is encountered in convert_search_mode_to_innobase()
do not call assert(0); instead queue a MySQL error using my_error() and
return the error code PAGE_CUR_UNSUPP. Change the functions that call
convert_search_mode_to_innobase() to handle that error code by "canceling"
execution and returning appropriate error code further upstream.
innobase/include/db0err.h:
Applied InnoDB snapshot innodb-5.0-ss2095
Revision r2091:
branches/5.0:
Merge r2088 from trunk:
log for r2088:
Fix Bug#32125 (http://bugs.mysql.com/32125)
"Database crash due to ha_innodb.cc:3896: ulint convert_search_mode_to_innobase":
When unknown find_flag is encountered in convert_search_mode_to_innobase()
do not call assert(0); instead queue a MySQL error using my_error() and
return the error code PAGE_CUR_UNSUPP. Change the functions that call
convert_search_mode_to_innobase() to handle that error code by "canceling"
execution and returning appropriate error code further upstream.
Approved by: Heikki
innobase/include/os0sync.h:
Applied InnoDB snapshot innodb-5.0-ss2095
Revision r2082:
branches/5.0: bug#29560
Fixed a race condition in the rw_lock where an os_event_reset()
can overwrite an earlier os_event_set() triggering an indefinite
wait.
NOTE: This fix for windows is different from that for other platforms.
NOTE2: This bug is introduced in the scalability fix to the
sync0arr which was applied to 5.0 only. Therefore, it need not be
applied to the 5.1 tree. If we decide to port the scalability fix
to 5.1 then this fix should be ported as well.
Reviewed by: Heikki
innobase/include/page0cur.h:
Applied InnoDB snapshot innodb-5.0-ss2095
Revision r2091:
branches/5.0:
Merge r2088 from trunk:
log for r2088:
Fix Bug#32125 (http://bugs.mysql.com/32125)
"Database crash due to ha_innodb.cc:3896: ulint convert_search_mode_to_innobase":
When unknown find_flag is encountered in convert_search_mode_to_innobase()
do not call assert(0); instead queue a MySQL error using my_error() and
return the error code PAGE_CUR_UNSUPP. Change the functions that call
convert_search_mode_to_innobase() to handle that error code by "canceling"
execution and returning appropriate error code further upstream.
Approved by: Heikki
innobase/include/sync0rw.h:
Applied InnoDB snapshot innodb-5.0-ss2095
Revision r2082:
branches/5.0: bug#29560
Fixed a race condition in the rw_lock where an os_event_reset()
can overwrite an earlier os_event_set() triggering an indefinite
wait.
NOTE: This fix for windows is different from that for other platforms.
NOTE2: This bug is introduced in the scalability fix to the
sync0arr which was applied to 5.0 only. Therefore, it need not be
applied to the 5.1 tree. If we decide to port the scalability fix
to 5.1 then this fix should be ported as well.
Reviewed by: Heikki
innobase/include/sync0rw.ic:
Applied InnoDB snapshot innodb-5.0-ss2095
Revision r2082:
branches/5.0: bug#29560
Fixed a race condition in the rw_lock where an os_event_reset()
can overwrite an earlier os_event_set() triggering an indefinite
wait.
NOTE: This fix for windows is different from that for other platforms.
NOTE2: This bug is introduced in the scalability fix to the
sync0arr which was applied to 5.0 only. Therefore, it need not be
applied to the 5.1 tree. If we decide to port the scalability fix
to 5.1 then this fix should be ported as well.
Reviewed by: Heikki
innobase/include/sync0sync.ic:
Applied InnoDB snapshot innodb-5.0-ss2095
Revision r2082:
branches/5.0: bug#29560
Fixed a race condition in the rw_lock where an os_event_reset()
can overwrite an earlier os_event_set() triggering an indefinite
wait.
NOTE: This fix for windows is different from that for other platforms.
NOTE2: This bug is introduced in the scalability fix to the
sync0arr which was applied to 5.0 only. Therefore, it need not be
applied to the 5.1 tree. If we decide to port the scalability fix
to 5.1 then this fix should be ported as well.
Reviewed by: Heikki
innobase/os/os0sync.c:
Applied InnoDB snapshot innodb-5.0-ss2095
Revision r2082:
branches/5.0: bug#29560
Fixed a race condition in the rw_lock where an os_event_reset()
can overwrite an earlier os_event_set() triggering an indefinite
wait.
NOTE: This fix for windows is different from that for other platforms.
NOTE2: This bug is introduced in the scalability fix to the
sync0arr which was applied to 5.0 only. Therefore, it need not be
applied to the 5.1 tree. If we decide to port the scalability fix
to 5.1 then this fix should be ported as well.
Reviewed by: Heikki
innobase/srv/srv0srv.c:
Applied InnoDB snapshot innodb-5.0-ss2095
Revision r2082:
branches/5.0: bug#29560
Fixed a race condition in the rw_lock where an os_event_reset()
can overwrite an earlier os_event_set() triggering an indefinite
wait.
NOTE: This fix for windows is different from that for other platforms.
NOTE2: This bug is introduced in the scalability fix to the
sync0arr which was applied to 5.0 only. Therefore, it need not be
applied to the 5.1 tree. If we decide to port the scalability fix
to 5.1 then this fix should be ported as well.
Reviewed by: Heikki
innobase/sync/sync0arr.c:
Applied InnoDB snapshot innodb-5.0-ss2095
Revision r2082:
branches/5.0: bug#29560
Fixed a race condition in the rw_lock where an os_event_reset()
can overwrite an earlier os_event_set() triggering an indefinite
wait.
NOTE: This fix for windows is different from that for other platforms.
NOTE2: This bug is introduced in the scalability fix to the
sync0arr which was applied to 5.0 only. Therefore, it need not be
applied to the 5.1 tree. If we decide to port the scalability fix
to 5.1 then this fix should be ported as well.
Reviewed by: Heikki
innobase/sync/sync0rw.c:
Applied InnoDB snapshot innodb-5.0-ss2095
Revision r2082:
branches/5.0: bug#29560
Fixed a race condition in the rw_lock where an os_event_reset()
can overwrite an earlier os_event_set() triggering an indefinite
wait.
NOTE: This fix for windows is different from that for other platforms.
NOTE2: This bug is introduced in the scalability fix to the
sync0arr which was applied to 5.0 only. Therefore, it need not be
applied to the 5.1 tree. If we decide to port the scalability fix
to 5.1 then this fix should be ported as well.
Reviewed by: Heikki
innobase/sync/sync0sync.c:
Applied InnoDB snapshot innodb-5.0-ss2095
Revision r2082:
branches/5.0: bug#29560
Fixed a race condition in the rw_lock where an os_event_reset()
can overwrite an earlier os_event_set() triggering an indefinite
wait.
NOTE: This fix for windows is different from that for other platforms.
NOTE2: This bug is introduced in the scalability fix to the
sync0arr which was applied to 5.0 only. Therefore, it need not be
applied to the 5.1 tree. If we decide to port the scalability fix
to 5.1 then this fix should be ported as well.
Reviewed by: Heikki
sql/ha_innodb.cc:
Applied InnoDB snapshot innodb-5.0-ss2095
Revision r2091:
branches/5.0:
Merge r2088 from trunk:
log for r2088:
Fix Bug#32125 (http://bugs.mysql.com/32125)
"Database crash due to ha_innodb.cc:3896: ulint convert_search_mode_to_innobase":
When unknown find_flag is encountered in convert_search_mode_to_innobase()
do not call assert(0); instead queue a MySQL error using my_error() and
return the error code PAGE_CUR_UNSUPP. Change the functions that call
convert_search_mode_to_innobase() to handle that error code by "canceling"
execution and returning appropriate error code further upstream.
Approved by: Heikki
Revision r2095:
branches/5.0: Merge r2093 from trunk:
convert_search_mode_to_innobase(): Add the missing case label
HA_READ_MBR_EQUAL that was forgotten in r2088.
this has already been closed by a note in the manual, now we
complete this by a note in "mysqldump --help"
client/mysqldump.c:
mention, in "mysqldump --help", of limitations reported as BUG#27850
"mysqldump --single-transaction does not work if TRUNCATE/DROP/RENAME/ALTER"
The new text is inspired from what the "mysqldump" section of the
manual now says about --single-transaction:
http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html
When the server was out of memory it crashed because of invalid memory access.
This patch adds detection for failed memory allocations and make the server
output a proper error message.
sql/mysqld.cc:
Don't try to push_warning from within push_warning. It will cause a recursion
until the stack is consumed.
If my_net_init fails (for example: because of OOM) the temporary vio object
might have been attached to the thd object already. This will cause a double
free on the vio object when the thd object is deleted later on and the server
will crash.
sql/sp_head.cc:
Added check for out-of-memory on a 'new' operation.
Refactored reset_lex method to return a error state code instead of void.
Initialize the mem-root with init_sql_alloc to get a basic error handler for
memory allocation problems. This alone won't prevent the server from crashing,
NULL pointers have to be accounted for as well.
sql/sp_head.h:
Use the throw() clause in operator new, to indicate to the compiler that
memory allocation can fail and return NULL, so that the compiler should
generate code to check for NULL before invoking C++ constructors, to be
crash safe.
sql/sql_base.cc:
Use init_sql_alloc to get basic out-of-memory error handling.
sql/sql_lex.h:
Use the throw() clause in operator new, to indicate to the compiler that
memory allocation can fail and return NULL, so that the compiler should
generate code to check for NULL before invoking C++ constructors, to be
crash safe.
sql/sql_prepare.cc:
Use init_sql_alloc to get basic out-of-memory error handling.
sql/sql_yacc.yy:
Check for memory allocation failures where it matters.
cmd-line-utils/readline/INSTALL:
update readline to version 5.2
cmd-line-utils/readline/README:
update readline to version 5.2
cmd-line-utils/readline/bind.c:
update readline to version 5.2
cmd-line-utils/readline/callback.c:
update readline to version 5.2
cmd-line-utils/readline/chardefs.h:
update readline to version 5.2
cmd-line-utils/readline/compat.c:
update readline to version 5.2
cmd-line-utils/readline/complete.c:
update readline to version 5.2
cmd-line-utils/readline/configure.in:
update readline to version 5.2
cmd-line-utils/readline/display.c:
update readline to version 5.2
cmd-line-utils/readline/funmap.c:
update readline to version 5.2
cmd-line-utils/readline/histexpand.c:
update readline to version 5.2
cmd-line-utils/readline/histfile.c:
update readline to version 5.2
cmd-line-utils/readline/history.c:
update readline to version 5.2
cmd-line-utils/readline/histsearch.c:
update readline to version 5.2
cmd-line-utils/readline/input.c:
update readline to version 5.2
cmd-line-utils/readline/isearch.c:
update readline to version 5.2
cmd-line-utils/readline/keymaps.c:
update readline to version 5.2
cmd-line-utils/readline/kill.c:
update readline to version 5.2
cmd-line-utils/readline/macro.c:
update readline to version 5.2
cmd-line-utils/readline/mbutil.c:
update readline to version 5.2
cmd-line-utils/readline/misc.c:
update readline to version 5.2
cmd-line-utils/readline/nls.c:
update readline to version 5.2
cmd-line-utils/readline/parens.c:
update readline to version 5.2
cmd-line-utils/readline/readline.c:
update readline to version 5.2
cmd-line-utils/readline/readline.h:
update readline to version 5.2
cmd-line-utils/readline/rlconf.h:
update readline to version 5.2
cmd-line-utils/readline/rldefs.h:
update readline to version 5.2
cmd-line-utils/readline/rlmbutil.h:
update readline to version 5.2
cmd-line-utils/readline/rlprivate.h:
update readline to version 5.2
cmd-line-utils/readline/rltty.c:
update readline to version 5.2
cmd-line-utils/readline/savestring.c:
update readline to version 5.2
cmd-line-utils/readline/search.c:
update readline to version 5.2
cmd-line-utils/readline/shell.c:
update readline to version 5.2
cmd-line-utils/readline/signals.c:
update readline to version 5.2
cmd-line-utils/readline/terminal.c:
update readline to version 5.2
cmd-line-utils/readline/text.c:
update readline to version 5.2
cmd-line-utils/readline/tilde.c:
update readline to version 5.2
cmd-line-utils/readline/tilde.h:
update readline to version 5.2
cmd-line-utils/readline/undo.c:
update readline to version 5.2
cmd-line-utils/readline/util.c:
update readline to version 5.2
cmd-line-utils/readline/vi_keymap.c:
update readline to version 5.2
cmd-line-utils/readline/vi_mode.c:
update readline to version 5.2
cmd-line-utils/readline/xmalloc.c:
update readline to version 5.2
Server failed in assert() when we tried to create a DECIMAL() temp field
with a scale of more than the allowed 30. Now we limit the scale to the
allowed maximum. A truncation warning is thrown as necessary.
mysql-test/r/type_newdecimal.result:
Show that out of range DECIMAL temp fields will no longer
stop the server with an assert.
mysql-test/t/type_newdecimal.test:
Show that out of range DECIMAL temp fields will no longer
stop the server with an assert.
sql/sql_select.cc:
When creating DECIMAL() temp field, ascertain we stay within allowed
limits. If not, truncate and warn.
support-files/mysql.spec.sh:
Don't use the "test-bt" target to run the tests on the debug server,
rather use "test-bt-debug".
There are two reasons for this:
1) Consistency with the "tar.gz" builds.
2) The tool that evaluates the build logs needs unique "--comment=" options in the log,
or else it will fail when it generates the test status summary.