ACC SHELL
------------------------------------------------------------
revno: 3573
author: karen.langford@oracle.com
committer: Karen Langford <karen.langford@oracle.com>
branch nick: mysql-5.1.57-release
timestamp: Tue 2011-04-12 01:36:38 +0200
message:
Bug#11867664: Fix server crashes on update with join on partitioned table.
------------------------------------------------------------
revno: 3572 [merge]
tags: clone-5.1.57-build
committer: Alexander Nozdrin <alexander.nozdrin@oracle.com>
branch nick: mysql-5.1-security
timestamp: Fri 2011-04-08 14:49:41 +0400
message:
Auto-merge from mysql-5.1.
------------------------------------------------------------
revno: 3452.60.34
committer: Gleb Shchepa <gleb.shchepa@oracle.com>
branch nick: bug11829681-5.1
timestamp: Fri 2011-04-08 12:05:20 +0400
message:
Bug #11829681 - 60295: ERROR 1356 ON VIEW THAT EXECUTES FINE AS A QUERY
Select from a view with the underlying HAVING clause failed with a
message: "1356: View '...' references invalid table(s) or column(s)
or function(s) or definer/invoker of view lack rights to use them"
The bug is a regression of the fix for bug 11750328 - 40825 (similar
case, but the HAVING cause references an aliased field).
In the old fix for bug 40825 the Item_field::name_length value has
been used in place of the real length of Item_field::name. However,
in some cases Item_field::name_length is not in sync with the
actual name length (TODO: combine name and name_length into a
solid String field).
The Item_ref::print() method has been modified to calculate actual
name length every time.
------------------------------------------------------------
revno: 3452.60.33
committer: Nirbhay Choubey <nirbhay.choubey@oracle.com>
branch nick: mysql-5.1.58090
timestamp: Fri 2011-04-08 12:22:44 +0530
message:
Bug#11765157 - 58090: mysqlslap drops schema specified in
create_schema if auto-generate-sql also set.
mysqlslap uses a schema to run its tests on and later
drops it if auto-generate-sql is used. This can be a
problem, if the schema is an already existing one.
If create-schema is used with auto-generate-sql option,
mysqlslap while performing the cleanup, drops the specified
database.
Fixed by introducing an option --no-drop, which, if used,
will prevent the dropping of schema at the end of the test.
------------------------------------------------------------
revno: 3452.60.32 [merge]
committer: Bjorn Munch <bjorn.munch@oracle.com>
branch nick: merge-51
timestamp: Thu 2011-04-07 13:15:24 +0200
message:
merge from 5.1-mtr
------------------------------------------------------------
revno: 2728.17.223 [merge]
committer: Bjorn Munch <bjorn.munch@oracle.com>
branch nick: merge-51
timestamp: Tue 2011-04-05 15:02:01 +0200
message:
merge from 5.1 main
------------------------------------------------------------
revno: 2728.17.222
committer: Bjorn Munch <bjorn.munch@oracle.com>
branch nick: supp-51
timestamp: Thu 2011-03-31 15:48:05 +0200
message:
One more test suppression for rpl_extra_col_master tests
------------------------------------------------------------
revno: 2728.17.221 [merge]
committer: Bjorn Munch <bjorn.munch@oracle.com>
branch nick: supp-51
timestamp: Thu 2011-03-31 11:22:54 +0200
message:
merge from 5.1 main
------------------------------------------------------------
revno: 2728.17.220
committer: Bjorn Munch <bjorn.munch@oracle.com>
branch nick: supp-51
timestamp: Thu 2011-03-31 10:33:07 +0200
message:
Small followup fix after MTR warning cleanup
------------------------------------------------------------
revno: 2728.17.219
committer: Bjorn Munch <bjorn.munch@oracle.com>
branch nick: supp-51
timestamp: Wed 2011-03-30 14:33:53 +0200
message:
mtr: cleaned up some superfluos global warning suppressions
------------------------------------------------------------
revno: 3571
committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
branch nick: merge-5.1-security
timestamp: Thu 2011-04-07 14:44:26 +0300
message:
fixed a missing warning
------------------------------------------------------------
revno: 3570 [merge]
committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
branch nick: merge-5.1-security
timestamp: Thu 2011-04-07 12:31:25 +0300
message:
merge mysql-5.0-security->mysql-5.1-security
------------------------------------------------------------
revno: 1810.3997.13 [merge]
committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
branch nick: merge-5.0-security
timestamp: Thu 2011-04-07 12:17:36 +0300
message:
merge mysql-5.0->mysql-5.0-security
------------------------------------------------------------
revno: 3569 [merge]
committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
branch nick: merge-5.1-security
timestamp: Thu 2011-04-07 12:24:10 +0300
message:
merged mysql-5.1->mysql-5.1-security
------------------------------------------------------------
revno: 3452.60.31
committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
branch nick: B11758687-5.1
timestamp: Mon 2011-04-04 16:04:15 +0300
message:
Bug #11758687: 50924: object names not resolved correctly
on lctn2 systems
There was a local variable in get_all_tables() to store the
"original" value of the database name as it can get lowercased
depending on the lower_case_table_name value.
get_all_tables() iterates over database names and for each
database iterates over the tables in it.
The "original" db name was assigned in the table names loop.
Thus the first table is ok, but the second and subsequent tables
get the lowercased name from processing the first table.
Fixed by moving the assignment of the original database name
from the inner (table name) to the outer (database name) loop.
Test suite added.
------------------------------------------------------------
revno: 3452.60.30 [merge]
committer: Vasil Dimov <vasil.dimov@oracle.com>
branch nick: mysql-5.1
timestamp: Mon 2011-04-04 09:06:08 +0300
message:
Merge mysql-5.1-innodb -> mysql-5.1
------------------------------------------------------------
revno: 3351.14.356
committer: Marko M?kel? <marko.makela@oracle.com>
branch nick: 5.1-innodb
timestamp: Wed 2011-03-30 14:25:58 +0300
message:
Bug#11877216 InnoDB too eager to commit suicide on a busy server
sync_array_print_long_waits(): Return the longest waiting thread ID
and the longest waited-for lock. Only if those remain unchanged
between calls in srv_error_monitor_thread(), increment
fatal_cnt. Otherwise, reset fatal_cnt.
Background: There is a built-in watchdog in InnoDB whose purpose is to
kill the server when some thread is stuck waiting for a mutex or
rw-lock. Before this fix, the logic was flawed.
The function sync_array_print_long_waits() returns TRUE if it finds a
lock wait that exceeds 10 minutes (srv_fatal_semaphore_wait_threshold).
The function srv_error_monitor_thread() will kill the server if this
happens 10 times in a row (fatal_cnt reaches 10), checked every 30
seconds. This is wrong, because this situation does not mean that the
server is hung. If the server is very busy for a little over 15
minutes, it will be killed.
Consider this example. Thread T1 is waiting for mutex M. Some time
later, threads T2..Tn start waiting for the same mutex M. If T1 keeps
waiting for 600 seconds, fatal_cnt will be incremented to 1. So far,
so good. Now, if M is granted to T1, the server was obviously not
stuck. But, T2..Tn keeps waiting, and their wait time will be longer
than 600 seconds. If 5 minutes later, some Tn has still been waiting
for more than 10 minutes for the mutex M, the server can be killed,
even though it is not stuck.
rb:622 approved by Jimmy Yang
------------------------------------------------------------
revno: 3351.14.355
committer: Vasil Dimov <vasil.dimov@oracle.com>
branch nick: mysql-5.1-innodb
timestamp: Mon 2011-03-28 11:34:12 +0300
message:
Store the '\0'-terminated query in row->trx_query
This problem was introduced in
marko.makela@oracle.com-20100514130815-ym7j7cfu88ro6km4
and is probably the reason for the following valgrind warning:
from http://bugs.mysql.com/52691 , http://bugs.mysql.com/file.php?id=16880 :
Version: '5.6.3-m5-valgrind-max-debug' socket: '/tmp/mysql.sock' port: 3306 Source distribution
==14947== Thread 18:
==14947== Conditional jump or move depends on uninitialised value(s)
==14947== at 0x4A06318: __GI_strlen (mc_replace_strmem.c:284)
==14947== by 0x9F3D7A: fill_innodb_trx_from_cache(trx_i_s_cache_struct*, THD*, TABLE*) (i_s.cc:591)
==14947== by 0x9F4D7D: trx_i_s_common_fill_table(THD*, TABLE_LIST*, Item*) (i_s.cc:1238)
==14947== by 0x7689F3: get_schema_tables_result(JOIN*, enum_schema_table_state) (sql_show.cc:6745)
==14947== by 0x715A75: JOIN::exec() (sql_select.cc:2861)
==14947== by 0x7185BD: mysql_select(THD*, Item***, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*) (sql_select.cc:3609)
==14947== by 0x70E823: handle_select(THD*, LEX*, select_result*, unsigned long) (sql_select.cc:319)
==14947== by 0x6F2305: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:4557)
==14947== by 0x6EAED4: mysql_execute_command(THD*) (sql_parse.cc:2135)
==14947== by 0x6F44C9: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:5597)
==14947== by 0x6E864B: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1093)
==14947== by 0x6E785E: do_command(THD*) (sql_parse.cc:815)
==14947== by 0x6C18DD: do_handle_one_connection(THD*) (sql_connect.cc:771)
==14947== by 0x6C146E: handle_one_connection (sql_connect.cc:707)
==14947== by 0x30E1807760: start_thread (pthread_create.c:301)
==14947== by 0x35EA670F: ???
==14947== Uninitialised value was created by a heap allocation
==14947== at 0x4A0515D: malloc (vg_replace_malloc.c:195)
==14947== by 0xB4B948: mem_area_alloc (mem0pool.c:385)
==14947== by 0xB4A27C: mem_heap_create_block (mem0mem.c:333)
==14947== by 0xB4A530: mem_heap_add_block (mem0mem.c:446)
==14947== by 0xB0D2A4: mem_heap_alloc (mem0mem.ic:186)
==14947== by 0xB0D9C2: ha_storage_put_memlim (ha0storage.c:118)
==14947== by 0xA479D8: fill_trx_row (trx0i_s.c:521)
==14947== by 0xA490E9: fetch_data_into_cache (trx0i_s.c:1319)
==14947== by 0xA491BA: trx_i_s_possibly_fetch_data_into_cache (trx0i_s.c:1352)
==14947== by 0x9F4CE7: trx_i_s_common_fill_table(THD*, TABLE_LIST*, Item*) (i_s.cc:1221)
==14947== by 0x7689F3: get_schema_tables_result(JOIN*, enum_schema_table_state) (sql_show.cc:6745)
==14947== by 0x715A75: JOIN::exec() (sql_select.cc:2861)
==14947== by 0x7185BD: mysql_select(THD*, Item***, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*) (sql_select.cc:3609)
==14947== by 0x70E823: handle_select(THD*, LEX*, select_result*, unsigned long) (sql_select.cc:319)
==14947== by 0x6F2305: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:4557)
==14947== by 0x6EAED4: mysql_execute_command(THD*) (sql_parse.cc:2135)
==14947== by 0x6F44C9: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:5597)
==14947== by 0x6E864B: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1093)
==14947== by 0x6E785E: do_command(THD*) (sql_parse.cc:815)
==14947== by 0x6C18DD: do_handle_one_connection(THD*) (sql_connect.cc:771)
==14947== by 0x6C146E: handle_one_connection (sql_connect.cc:707)
==14947== by 0x30E1807760: start_thread (pthread_create.c:301)
==14947== by 0x35EA670F: ???
(gdb) bt
#0 0x0000000004a06318 in _vgrZU_libcZdsoZa___GI_strlen (str=0x3026bfa0 "insert into `blobtest` set `data`='pkefxxpkalpabzgrczlxefkreqljeqbvzrcnhvhsjsfnvxzjsltfuincffigdkmhvvcmnseluzgbtedrfmxvnrdmzesbinjgwvharkpgjplrlnqudfidbqwgbykupycxzyikzqincnsjrxgncqzlgyqwjdbjulztgsffxpjgymsnntdibvklwqylmwhsmdskmllxuwafabdjnwlyofknwuixiyrgnplmerfdewgizkdhznitesfqepsqbbwkdepkmjoseyxjofmmjaqdipwopfrwidmhqbtovdslvayxcnpewzhppeetblccppniamezibuoinvlxkafpcmozawtplfpepxwlwhymsuraezcwvjqzwogsozodlsfzjiyrcaljjhqwdrcjawvelhefzzaexvcbyorlcyupqwgjuamiqpiputtndjwcsuyzdfhuxswuowhrzdvriwrxqmcqthvzzzvivbabbnhdbtcfdtgssvmirrcddnytnctcvqplwytxxzxelldhwahalzxvgynaiwjyezhxqhlsqudngekocfvlbqprxqhyhwbaomgqiwkpfguohuvlnhtrsszgacxhhzeppyqwfwabiqzgyzkperiidyunrykopysvlcxwhrcboetjltawdjergalsfvaxncmzoznryumrjmncvhvxqvqhhbznnifkguuiffmlrbmgwtzvnuwlaguixqadkupfhasbbxnwkrvsfhrqanfmvjtzfqodtutkjlxfcogtsjywrdgmzgszjtsmimaelsveayqrwviqwwefeziuaqsqpauxpnzhaxjtkdfvvodniwezskbxfxszyniyzkzxngcfwgjlyrlskmrzxqnptwlilsxybuguafxxkvryyjrnkhhcmxuusitaflaiuxjhyfnzkahlgmaszujqmfdhyppdnpweqanmvzgjfyzjolbmprhnuuxextcaxzicfvsuochprmlf"...) at mc_replace_strmem.c:284
#1 0x00000000009f3d7b in fill_innodb_trx_from_cache (cache=0x1462440, thd=0x2a495000, table=0x2a422500) at /home/sbester/build/bzr/mysql-trunk/storage/innobase/handler/i_s.cc:591
#2 0x00000000009f4d7e in trx_i_s_common_fill_table (thd=0x2a495000, tables=0x2a4c3ec0) at /home/sbester/build/bzr/mysql-trunk/storage/innobase/handler/i_s.cc:1238
#3 0x00000000007689f4 in get_schema_tables_result (join=0x30f90c40, executed_place=PROCESSED_BY_JOIN_EXEC) at /home/sbester/build/bzr/mysql-trunk/sql/sql_show.cc:6745
#4 0x0000000000715a76 in JOIN::exec (this=0x30f90c40) at /home/sbester/build/bzr/mysql-trunk/sql/sql_select.cc:2861
#5 0x00000000007185be in mysql_select (thd=0x2a495000, rref_pointer_array=0x2a497590, tables=0x2a4c3ec0, wild_num=1, fields=..., conds=0x0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2684619520, result=0x30319720, unit=0x2a496d28, select_lex=0x2a497378) at /home/sbester/build/bzr/mysql-trunk/sql/sql_select.cc:3609
#6 0x000000000070e824 in handle_select (thd=0x2a495000, lex=0x2a496c78, result=0x30319720, setup_tables_done_option=0) at /home/sbester/build/bzr/mysql-trunk/sql/sql_select.cc:319
#7 0x00000000006f2306 in execute_sqlcom_select (thd=0x2a495000, all_tables=0x2a4c3ec0) at /home/sbester/build/bzr/mysql-trunk/sql/sql_parse.cc:4557
#8 0x00000000006eaed5 in mysql_execute_command (thd=0x2a495000) at /home/sbester/build/bzr/mysql-trunk/sql/sql_parse.cc:2135
#9 0x00000000006f44ca in mysql_parse (thd=0x2a495000, rawbuf=0x30d80060 "select * from innodb_trx", length=24, parser_state=0x35ea5540) at /home/sbester/build/bzr/mysql-trunk/sql/sql_parse.cc:5597
#10 0x00000000006e864c in dispatch_command (command=COM_QUERY, thd=0x2a495000, packet=0x30bb4e31 "select * from innodb_trx", packet_length=24) at /home/sbester/build/bzr/mysql-trunk/sql/sql_parse.cc:1093
#11 0x00000000006e785f in do_command (thd=0x2a495000) at /home/sbester/build/bzr/mysql-trunk/sql/sql_parse.cc:815
#12 0x00000000006c18de in do_handle_one_connection (thd_arg=0x2a495000) at /home/sbester/build/bzr/mysql-trunk/sql/sql_connect.cc:771
#13 0x00000000006c146f in handle_one_connection (arg=0x2a495000) at /home/sbester/build/bzr/mysql-trunk/sql/sql_connect.cc:707
#14 0x00000030e1807761 in start_thread (arg=0x35ea6710) at pthread_create.c:301
#15 0x00000030e14e14ed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
(gdb) frame 1
#1 0x00000000009f3d7b in fill_innodb_trx_from_cache (cache=0x1462440, thd=0x2a495000, table=0x2a422500) at /home/sbester/build/bzr/mysql-trunk/storage/innobase/handler/i_s.cc:591
591 row->trx_query_cs);
(gdb) list
586 if (row->trx_query) {
587 /* store will do appropriate character set
588 conversion check */
589 fields[IDX_TRX_QUERY]->store(
590 row->trx_query, strlen(row->trx_query),
591 row->trx_query_cs);
592 fields[IDX_TRX_QUERY]->set_notnull();
593 } else {
594 fields[IDX_TRX_QUERY]->set_null();
595 }
------------------------------------------------------------
revno: 3351.14.354
committer: Marko M?kel? <marko.makela@oracle.com>
branch nick: 5.1-innodb
timestamp: Tue 2011-03-15 12:01:02 +0200
message:
Bug#11849231 inflateInit() invoked without initializing all memory
According to the zlib documentation, next_in and avail_in
must be initialized before invoking inflateInit or inflateInit2.
Furthermore, the zalloc function must clear the allocated memory.
btr_copy_zblob_prefix(): Replace the d_stream parameter with buf,len
and return the copied length.
page_zip_decompress(): Invoke inflateInit2 a little later.
page_zip_zalloc(): Rename from page_zip_alloc().
Invoke mem_heap_zalloc() instead of mem_heap_alloc().
rb:619 approved by Jimmy Yang
------------------------------------------------------------
revno: 3351.14.353 [merge]
committer: Vasil Dimov <vasil.dimov@oracle.com>
branch nick: mysql-5.1-innodb
timestamp: Wed 2011-03-02 10:59:43 +0200
message:
Merge mysql-5.1 -> mysql-5.1-innodb
------------------------------------------------------------
revno: 3351.14.352
committer: Marko M?kel? <marko.makela@oracle.com>
branch nick: 5.1-innodb
timestamp: Mon 2011-02-28 13:51:18 +0200
message:
Bug #58549 Race condition in buf_LRU_drop_page_hash_for_tablespace()
and compressed tables
buf_LRU_drop_page_hash_for_tablespace(): after releasing and
reacquiring the buffer pool mutex, do not dereference any block
descriptor pointer that is not known to be a pointer to an
uncompressed page frame (type buf_block_t; state ==
BUF_BLOCK_FILE_PAGE). Also, defer the acquisition of the block_mutex
until it is needed.
buf_page_get_gen(): Add mode == BUF_GET_IF_IN_POOL_PEEK for
buffer-fixing a block without making it young in the LRU list.
buf_page_get_gen(), buf_page_init(), buf_LRU_block_remove_hashed_page():
Set bpage->state = BUF_BLOCK_ZIP_FREE before buf_buddy_free(bpage),
so that similar race conditions might be detected a little easier.
btr_search_drop_page_hash_when_freed(): Use BUF_GET_IF_IN_POOL_PEEK
when dropping the hash indexes.
rb://528 approved by Jimmy Yang
------------------------------------------------------------
revno: 3351.14.351
committer: Vasil Dimov <vasil.dimov@oracle.com>
branch nick: mysql-5.1-innodb
timestamp: Fri 2011-02-25 11:50:18 +0200
message:
Fix BUG#11798085 - INCORRECT INTEGER TYPES USED IN CALCULATION RESULT
IN OVERFLOW
Do not assign the result of the difference to a signed variable and
checking whether it is negative afterwards because this limits the max diff
to 2G on 32 bit systems. E.g. "signed = 3.5G - 1G" would be negative and the
code would assume that 3.5G < 1G. Instead compare the two variables directly
and assign to unsigned only if we know that the result of the subtraction
will be positive.
Discussed with: Jimmy and Sunny (via IRC)
------------------------------------------------------------
revno: 3452.60.29
committer: Gleb Shchepa <gleb.shchepa@oracle.com>
branch nick: bug11766094-5.1
timestamp: Thu 2011-03-31 22:59:11 +0400
message:
Bug #11766094 - 59132: MIN() AND MAX() REMOVE UNSIGNEDNESS
In the string context the MIN() and MAX() functions don't take
into account the unsignedness of the UNSIGNED BIGINT argument
column.
I.e.:
CREATE TABLE t1 (a BIGINT UNSIGNED);
INSERT INTO t1 VALUES (18446668621106209655);
SELECT CONCAT(MAX(a)) FROM t1;
returns -75452603341961.
------------------------------------------------------------
revno: 3452.60.28
committer: Magne Mahre <magne.mahre@oracle.com>
branch nick: mysql-5.1
timestamp: Wed 2011-03-30 16:14:13 +0200
message:
Fix-up after commit of Bug#11900714
The patch fixes a build problem on MacOSX, where
the compiler complains about unused parameters.
------------------------------------------------------------
revno: 3452.60.27
committer: Sergey Glukhov <sergey.glukhov@oracle.com>
branch nick: mysql-5.1
timestamp: Wed 2011-03-30 11:08:35 +0400
message:
Bug#11766124 59164: VALGRIND: UNINITIALIZED VALUE IN NUMBER_TO_DATETIME
Valgrind warning happens due to missing NULL value check in
Item::get_date. The fix is to add this check.
------------------------------------------------------------
revno: 3452.60.26
committer: Sergey Glukhov <sergey.glukhov@oracle.com>
branch nick: mysql-5.1
timestamp: Wed 2011-03-30 11:00:41 +0400
message:
Bug#11766126 59166: ANOTHER DATETIME VALGRIND UNINITIALIZED WARNING
Valgrind warning happens because null values check happens too late
in Item_func_month::val_str(after result string calculation).The fix
is to check null value before result string calculation.
------------------------------------------------------------
revno: 3452.60.25
committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
branch nick: mysql-5.1-bug11763784
timestamp: Tue 2011-03-29 10:09:05 +0200
message:
Bug# 11763784 (former 56541)
ASSERTION TABLE->DB_STAT FAILED IN
SQL_BASE.CC::OPEN_TABLE() DURING I_S Q
This assert could be triggered if a statement requiring a name
lock on a table (e.g. DROP TRIGGER) executed concurrently
with an I_S query which also used the table.
One connection first started an I_S query that opened a given table.
Then another connection started a statement requiring a name lock
on the same table. This statement was blocked since the table was
in use by the I_S query. When the I_S query resumed and tried to
open the table again as part of get_all_tables(), it would encounter
a table instance with an old version number representing the pending
name lock. Since I_S queries ignore version checks and thus pending
name locks, it would try to continue. This caused it to encounter
the assert. The assert checked that the TABLE instance found with a
different version, was a real, open table. However, since this TABLE
instance instead represented a pending name lock, the check would
fail and trigger the assert.
This patch fixes the problem by removing the assert. It is ok for
TABLE::db_stat to be 0 in this case since the TABLE instance can
represent a pending name lock.
Test case added to lock_sync.test.
------------------------------------------------------------
revno: 3452.60.24
committer: Mayank Prasad <mayank.prasad@oracle.com
branch nick: testC_5.1
timestamp: Mon 2011-03-28 21:01:37 +0530
message:
Bug#11751148 : show events shows events in other schema
Issue:
======
Test case Correction for bug#11751148.
------------------------------------------------------------
revno: 3452.60.23
committer: Sergey Glukhov <sergey.glukhov@oracle.com>
branch nick: mysql-5.1
timestamp: Mon 2011-03-28 17:27:44 +0400
message:
Bug#11766087 59125: VALGRIND UNINITIALISED VALUE WARNING IN ULL2DEC, LONGLONG2DECIMAL
Valgrind warning happens due to missing NULL value check in
Item_func::val_decimal. The fix is to add this check.
------------------------------------------------------------
revno: 3452.60.22
committer: Sergey Glukhov <sergey.glukhov@oracle.com>
branch nick: mysql-5.1
timestamp: Mon 2011-03-28 17:24:25 +0400
message:
Bug#11765216 58154: UNINITIALIZED VARIABLE FORMAT IN STR_TO_DATE FUNCTION
Valgrind warning happens due to uninitialized cached_format_type field
which is used later in Item_func_str_to_date::val_str method.
The fix is to init cached_format_type field.
------------------------------------------------------------
revno: 3452.60.21
committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
branch nick: fix-5.1
timestamp: Mon 2011-03-28 13:43:30 +0300
message:
Added support for VS10.
Fixed RelWithDebugInfo bzr ignores.
------------------------------------------------------------
revno: 3452.60.20
committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
branch nick: fix-5.1
timestamp: Mon 2011-03-28 13:32:25 +0300
message:
Fixed a test failure becase of a new warning caused by the fix for
Bug #11766769
------------------------------------------------------------
revno: 3452.60.19
committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
branch nick: fix-5.1
timestamp: Mon 2011-03-28 13:25:03 +0300
message:
Fixed a test failure in embedded because of the fix for BUG#11766769
------------------------------------------------------------
revno: 3452.60.18 [merge]
committer: Sergey Glukhov <sergey.glukhov@oracle.com>
branch nick: mysql-5.1
timestamp: Mon 2011-03-28 13:09:02 +0400
message:
automerge
------------------------------------------------------------
revno: 3452.63.1
committer: Magne Mahre <magne.mahre@oracle.com>
branch nick: mysql-5.1-11900714
timestamp: Mon 2011-03-28 10:47:30 +0200
message:
Bug#11900714 REMOVE LGPL LICENSED FILES IN MYSQL 5.1
The LGPL license is used in some legacy code, and to
adhere to current licensing polity, we remove those
files that are no longer used, and reorganize the
remaining LGPL code so it will be GPL licensed from
now on.
Note: This patch only removed LGPL licensed files
in MySQL 5.1, and is the second of a set of
patches to remove LGPL from all trees.
(See Bug# 11840513 for details)
------------------------------------------------------------
revno: 3452.60.17
committer: Sergey Glukhov <sergey.glukhov@oracle.com>
branch nick: mysql-5.1
timestamp: Mon 2011-03-28 12:35:50 +0400
message:
Bug#11764994 57900: CREATE TABLE .. SELECT ASSERTS SCALE >= 0 && PRECISION > 0 && SCALE <= PR
Assert fails due to overflow which happens in
Item_func_int_val::fix_num_length_and_dec() as
geometry functions have max_length value equal to
max_field_size(4294967295U). The fix is to skip
max_length calculation for some boundary cases.
------------------------------------------------------------
revno: 3452.60.16
committer: Sergey Glukhov <sergey.glukhov@oracle.com>
branch nick: mysql-5.1
timestamp: Mon 2011-03-28 12:28:30 +0400
message:
Bug#11766424 59527: DECIMAL_BIN_SIZE: ASSERTION `SCALE >= 0 && PRECISION > 0 && SCALE <= PRE
Assertion happens due to missing initialization of unsigned_flag
for Item_func_set_user_var object. It leads to incorrect
calculation of decimal field size.
The fix is to add initialization of unsigned_flag.
------------------------------------------------------------
revno: 3452.60.15
committer: Sergey Glukhov <sergey.glukhov@oracle.com>
branch nick: mysql-5.1
timestamp: Mon 2011-03-28 11:53:18 +0400
message:
Bug#11766112 59151:UNINITIALIZED VALUES IN EXTRACT_DATE_TIME WITH STR_TO_DATE(SPACE(..) ...
Valgrind warining happens due to missing
'end of the string' check. The fix is to
check if we reached the end of the string.
------------------------------------------------------------
revno: 3452.60.14
committer: Sven Sandberg <sven.sandberg@oracle.com>
branch nick: 5.1
timestamp: Fri 2011-03-25 15:16:13 +0100
message:
BUG#11766427, BUG#59539: Filter by server id in mysqlbinlog fails
Problem: mysqlbinlog --server-id may filter out Format_description_log_events.
If mysqlbinlog does not process the Format_description_log_event,
then mysqlbinlog cannot read the rest of the binary log correctly.
This can have the effect that mysqlbinlog crashes, generates an error,
or generates output that causes mysqld to crash, generate an error,
or corrupt data.
Fix: Never filter out Format_description_log_events. Also, never filter
out Rotate_log_events.
------------------------------------------------------------
revno: 3452.60.13 [merge]
committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
branch nick: B11766769-5.1
timestamp: Fri 2011-03-25 14:57:25 +0200
message:
merge
------------------------------------------------------------
revno: 3452.62.1 [merge]
committer: Luis Soares <luis.soares@oracle.com>
branch nick: mysql-5.1
timestamp: Thu 2011-03-24 10:58:48 +0000
message:
Automerging bzr bundle attached to bug report into latest mysql-5.1.
------------------------------------------------------------
revno: 3452.61.1
committer: Luis Soares <luis.soares@oracle.com>
branch nick: mysql-5.1
timestamp: Thu 2011-03-24 10:52:40 +0000
message:
BUG#11766865: 60091: RBR + NO PK + UPDATE NULL VALUE --> SLAVE BREAK WITH ERROR HA_ERR_END_OF_
The slave was not able to find the correct row in the innodb
table, because the row fetched from the innodb table would not
match the before image. This happened because the (don't care)
bytes in the NULLed fields would change once the row was stored
in the storage engine (from zero to the default value). This
would make bulk memory comparison (using memcmp) to fail.
We fix this by taking a preventing measure and avoiding memcmp
for tables that contain nullable fields. Therefore, we protect
the slave search routine from engines that return arbitrary
values for don't care bytes (in the nulled fields). Instead, the
slave thread will only check null_bits and those fields that are
not set to NULL when comparing the before image against the
storage engine row.
------------------------------------------------------------
revno: 3452.60.12
committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
branch nick: B11766769-5.1
timestamp: Fri 2011-03-25 12:57:27 +0200
message:
Bug #11766769: 59959: SMALL VALUES OF --MAX-ALLOWED-PACKET
ARE NOT BEING HONORED
max_allowed_packet works in conjunction with net_buffer_length.
max_allowed_packet is an upper bound of net_buffer_length.
So it doesn't make sense to set the upper limit lower than the value.
Added a warning (using ER_UNKNOWN_ERRROR and a specific message)
when this is done (in the log at startup and when setting either
max_allowed_packet or the net_buffer_length variables)
Added a test case.
Fixed several tests that broke the above rule.
------------------------------------------------------------
revno: 3452.60.11 [merge]
committer: Bjorn Munch <bjorn.munch@oracle.com>
branch nick: merge-51
timestamp: Wed 2011-03-23 10:48:09 +0100
message:
merge from 5.1-mtr
------------------------------------------------------------
revno: 2728.17.218 [merge]
committer: Bjorn Munch <bjorn.munch@oracle.com>
branch nick: merge-51
timestamp: Tue 2011-03-22 15:38:41 +0100
message:
merge from 5.1 main
------------------------------------------------------------
revno: 2728.17.217
committer: Bjorn Munch <bjorn.munch@oracle.com>
branch nick: cpps-51
timestamp: Fri 2011-03-18 12:13:54 +0100
message:
Bug #11885854 MYSQLTEST: PS-PROTOCOL IMPLIED BY CURSOR-PROTOCOL LOST AFTER ENABLE_PS_PROTOCOL
The condition cursor-protocol => ps-protocol was done at "current setting" level"
Moved it to "set by command line" level
------------------------------------------------------------
revno: 2728.17.216
committer: Bjorn Munch <bjorn.munch@oracle.com>
branch nick: crashrep-51
timestamp: Tue 2011-03-15 16:06:59 +0100
message:
Bug #11762804 55442: MYSQLD DEBUG CRASHES WHILE RUNNING MYISAM_CRASH_BEFORE_FLUSH_KEYS.TEST
This will cause affected tests to skip if CrashReporter would popup
Found 5 tests that needed modification
------------------------------------------------------------
revno: 3452.60.10 [merge]
committer: Magne Mahre <magne.mahre@oracle.com>
branch nick: mysql-5.1
timestamp: Tue 2011-03-22 16:28:42 +0100
message:
Null merge (from mysql-5.0)
------------------------------------------------------------
revno: 1810.3998.19
committer: Magne Mahre <magne.mahre@oracle.com>
branch nick: mysql-5.0
timestamp: Tue 2011-03-22 16:27:32 +0100
message:
Post-push fix for Bug 11896296
Didn't build on Solaris.
------------------------------------------------------------
revno: 3452.60.9 [merge]
committer: Magne Mahre <magne.mahre@oracle.com>
branch nick: mysql-5.1
timestamp: Tue 2011-03-22 13:53:35 +0100
message:
Null merge
------------------------------------------------------------
revno: 1810.3998.18
committer: Magne Mahre <magne.mahre@oracle.com>
branch nick: mysql-5.0-11896296
timestamp: Tue 2011-03-22 13:50:14 +0100
message:
Bug#11896296 REMOVE LGPL LICENSED FILES IN MYSQL 5.0
The LGPL license is used in some legacy code, and to
adhere to current licensing polity, we remove those
files that are no longer used, and reorganize the
remaining LGPL code so it will be GPL licensed from
now on.
Note: This patch only removed LGPL licensed files
in MySQL 5.0, and is the first of a set of
patches to remove LGPL from all trees.
(See Bug# 11840513 for details)
------------------------------------------------------------
revno: 3452.60.8
committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
branch nick: B11763135-5.1
timestamp: Mon 2011-03-21 17:54:40 +0200
message:
Bug #11763135: 55812: MYSQL AB SHOULD NOT BE AUTHOR, EVEN IN EXAMPLE
Fixed the author and the copyright.
------------------------------------------------------------
revno: 3452.60.7
committer: MySQL Build Team <build@mysql.com>
branch nick: mysql-5.1
timestamp: Mon 2011-03-21 20:23:39 +0100
message:
fixing 38697/11749301
------------------------------------------------------------
revno: 3452.60.6
committer: Mayank Prasad <mayank.prasad@oracle.com
branch nick: mysql-11751148
timestamp: Mon 2011-03-21 21:32:47 +0530
message:
Bug #11751148 : show events shows events in other schema
Issue:
------
Due to prefix match, database like 'k' was matching with 'ka' and events of 'ka' we getting displayed for 'show event' of 'k'.
Resolution:
-----------
Scan for listing of events in a schema is made to be done on exact match of database (schema) name instead of just prefix.
------------------------------------------------------------
revno: 3568 [merge]
committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
branch nick: merge-5.1-security
timestamp: Mon 2011-03-21 16:03:35 +0200
message:
merge mysql-5.0-security->mysql-5.1-security
------------------------------------------------------------
revno: 1810.3997.12 [merge]
committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
branch nick: merge-5.0-security
timestamp: Mon 2011-03-21 15:54:17 +0200
message:
merge
------------------------------------------------------------
revno: 1810.4000.1
committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
branch nick: kent-5.0
timestamp: Tue 2011-02-08 17:36:25 +0200
message:
Bug #59815: Missing License information with enterprise GPL packages
on behalf of Kent: Include the README into the binary packages
------------------------------------------------------------
revno: 1810.3997.11 [merge]
committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
branch nick: merge-5.0-security
timestamp: Mon 2011-03-21 15:52:45 +0200
message:
merge 5.0->5.0-security
------------------------------------------------------------
revno: 3567 [merge]
committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
branch nick: merge-5.1-security
timestamp: Mon 2011-03-21 16:01:40 +0200
message:
merge mysql-5.1->mysql-5.1-security
------------------------------------------------------------
revno: 3452.60.5 [merge]
committer: Ramil Kalimullin <ramil@mysql.com>
branch nick: mysql-5.1
timestamp: Mon 2011-03-21 09:24:22 +0300
message:
Null merge of the backported fix for bug#51875/#11759554 from mysq-5.0.
------------------------------------------------------------
revno: 1810.3998.17
committer: Ramil Kalimullin <ramil@mysql.com>
branch nick: mysql-5.0
timestamp: Mon 2011-03-21 09:21:14 +0300
message:
Fix for bug#51875/#11759554 backported from mysql-5.1.
------------------------------------------------------------
revno: 3452.60.4
committer: Vinay Fisrekar <vinay.fisrekar@sun.com>
branch nick: mysql-5.1
timestamp: Fri 2011-03-18 16:35:57 +0530
message:
Bug#11766500 - 59624: FUNCS_1 SUITE TESTS FAILING WITH RESULT DIFFERENCE WHEN RUN USING EMBEDDED MODE
Updating result files
------------------------------------------------------------
revno: 3452.60.3 [merge]
committer: Kent Boortz <kent.boortz@sun.com>
branch nick: mysql-5.1
timestamp: Thu 2011-03-17 15:06:25 +0100
message:
Merge
------------------------------------------------------------
revno: 3452.51.54
committer: Nirbhay Choubey <nirbhay.choubey@sun.com>
branch nick: mysql-5.1
timestamp: Thu 2011-03-17 16:28:16 +0530
message:
Minor fix in mysqldump test.
------------------------------------------------------------
revno: 3452.60.2 [merge]
committer: Kent Boortz <kent.boortz@sun.com>
branch nick: mysql-5.1
timestamp: Wed 2011-03-16 23:33:12 +0100
message:
Merge
------------------------------------------------------------
revno: 3452.60.1 [merge]
committer: Kent Boortz <kent.boortz@sun.com>
branch nick: mysql-5.1
timestamp: Wed 2011-03-16 23:07:05 +0100
message:
Removed the "Third-Party Component Notices" part from README
------------------------------------------------------------
revno: 1810.3998.16
committer: Kent Boortz <kent.boortz@sun.com>
branch nick: mysql-5.0
timestamp: Wed 2011-03-16 23:04:29 +0100
message:
Removed the "Third-Party Component Notices" part
------------------------------------------------------------
revno: 3566 [merge]
committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
branch nick: merge-5.1-security
timestamp: Thu 2011-03-17 13:00:09 +0200
message:
merge 5.1->5.1-security
------------------------------------------------------------
revno: 3452.51.53
committer: Luis Soares <luis.soares@oracle.com>
branch nick: mysql-5.1
timestamp: Wed 2011-03-16 15:11:54 +0000
message:
Fix for BUG#11868903 (BUG#59717)
There is a race between two threads: user thread and the dump
thread. The former sets a debug instruction that makes the latter wait
before processing an Xid event. There can be cases that the dump
thread has not yet processed the previous Xid event, causing it to
wait one Xid event too soon, thus causing sync_slave_with_master never
to resume.
We fix this by moving the instructions that set the debug variable
after calling sync_slave_with_master.
------------------------------------------------------------
revno: 3452.51.52
committer: Dmitry Shulga <Dmitry.Shulga@oracle.com>
branch nick: mysql-5.1-bug56976
timestamp: Tue 2011-03-15 17:36:12 +0600
message:
Fixed Bug#11764168 "56976: SEVERE DENIAL OF SERVICE IN PREPARED STATEMENTS".
The problem was that server didn't check resulting size of prepared
statement argument which was set using mysql_send_long_data() API.
By calling mysql_send_long_data() several times it was possible
to create overly big string and thus force server to allocate
memory for it. There was no way to limit this allocation.
The solution is to add check for size of result string against
value of max_long_data_size start-up parameter. When intermediate
string exceeds max_long_data_size value an appropriate error message
is emitted.
We can't use existing max_allowed_packet parameter for this purpose
since its value is limited by 1GB and therefore using it as a limit
for data set through mysql_send_long_data() API would have been an
incompatible change. Newly introduced max_long_data_size parameter
gets value from max_allowed_packet parameter unless its value is
specified explicitly. This new parameter is marked as deprecated
and will be eventually replaced by max_allowed_packet parameter.
Value of max_long_data_size parameter can be set only at server
startup.
------------------------------------------------------------
revno: 3452.51.51
committer: Davi Arnaut <davi.arnaut@oracle.com>
branch nick: mysql-5.1
timestamp: Mon 2011-03-14 15:03:22 -0300
message:
Bug#11765202: Dbug_violation_helper::~Dbug_violation_helper(): Assertion `!_entered' failed.
Add a missing DBUG_RETURN function test_if_number().
------------------------------------------------------------
revno: 3452.51.50 [merge]
committer: Bjorn Munch <bjorn.munch@oracle.com>
branch nick: merge-51
timestamp: Fri 2011-03-11 12:49:14 +0100
message:
merge from 5.1-mtr
------------------------------------------------------------
revno: 2728.17.215 [merge]
committer: Bjorn Munch <bjorn.munch@oracle.com>
branch nick: merge-51
timestamp: Fri 2011-03-11 10:07:34 +0100
message:
merge from 5.1 main
------------------------------------------------------------
revno: 2728.17.214 [merge]
committer: Bjorn Munch <bjorn.munch@oracle.com>
branch nick: merge-51
timestamp: Tue 2011-03-08 18:52:56 +0100
message:
merge from 5.1 main
------------------------------------------------------------
revno: 2728.17.213
committer: Bjorn Munch <bjorn.munch@oracle.com>
branch nick: mtr-51
timestamp: Mon 2011-02-28 16:10:35 +0100
message:
Attempt at solving missing end of mtr output on Windows
------------------------------------------------------------
revno: 2728.17.212 [merge]
committer: Bjorn Munch <bjorn.munch@oracle.com>
branch nick: merge-51
timestamp: Thu 2011-02-24 15:07:51 +0100
message:
merge from 5.1 main
------------------------------------------------------------
revno: 2728.17.211
committer: Bjorn Munch <bjorn.munch@oracle.com>
branch nick: suppsql-51
timestamp: Wed 2011-02-23 10:31:37 +0100
message:
Bug #11762407 54999: MTR GLOBAL SUPPRESSION HIDES SQL THREAD EXECUTION UNEXPECTED ERRORS
Removed the global suppression, added lots of local ones to affected tests
Re-commit, now kept "Slave SQL" at start of patterns.
------------------------------------------------------------
revno: 2728.17.210 [merge]
committer: Bjorn Munch <bjorn.munch@oracle.com>
branch nick: merge-51
timestamp: Wed 2011-02-09 07:20:07 +0100
message:
merge from 5.1
------------------------------------------------------------
revno: 3452.51.49
committer: Mayank Prasad <mayank.prasad@oracle.com
branch nick: mysql-5.1_SSL
timestamp: Fri 2011-03-11 16:16:34 +0530
message:
BUG #11760210: 52596: SSL_CIPHER_LIST NOT SET OR RETURNED FOR "SHOW STATUS LIKE 'SSL_CIPHER_LIST'"
Issue:
SSL_CIPHER set to a specific CIPHER name was not getting picked up by SHOW STATUS Command.
Solution:
If specific cipher name is specified, avoid overwriting of Cipher List with default Cipher names.
------------------------------------------------------------
revno: 3452.51.48 [merge]
committer: Mattias Jonsson <mattias.jonsson@oracle.com>
branch nick: topush-5.1
timestamp: Wed 2011-03-09 18:12:23 +0100
message:
Merge of Bug#11766232 - bug#59297
------------------------------------------------------------
revno: 3452.59.1
committer: Mattias Jonsson <mattias.jonsson@oracle.com>
branch nick: b59297-51
timestamp: Mon 2011-01-24 13:41:44 +0100
message:
Bug#59297: Can't find record in 'tablename' on update inner join
Regression introduced in bug#52455. Problem was that the
fixed function did not set the last used partition variable, resulting
in wrong partition used when storing the position of the newly
retrieved row.
Fixed by setting the last used partition in ha_partition::index_read_idx_map.
------------------------------------------------------------
revno: 3565
committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
branch nick: B11765023-5.1-security
timestamp: Tue 2011-03-15 13:19:30 +0200
message:
Bug #11765023: 57934: DOS POSSIBLE SINCE BINARY CASTING DOESN'T
ADHERE TO MAX_ALLOWED_PACKET
Added a check for max_packet_length in CONVERT(, BINARY|CHAR).
Added a test case.
------------------------------------------------------------
revno: 3564 [merge]
committer: Kristofer Pettersson <kristofer.pettersson@oracle.com>
branch nick: mysql-5.1-security
timestamp: Fri 2011-03-11 15:24:42 +0100
message:
automerge
------------------------------------------------------------
revno: 3562.1.4
committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
branch nick: merge-5.1-security
timestamp: Wed 2011-03-09 17:21:22 +0200
message:
Fixed a wrong error code in gis.test
------------------------------------------------------------
revno: 3562.1.3 [merge]
committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
branch nick: merge-5.1-security
timestamp: Wed 2011-03-09 16:51:12 +0200
message:
merge 5.0-security->5.1-security
------------------------------------------------------------
revno: 1810.3997.10 [merge]
committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
branch nick: merge-5.0-security
timestamp: Wed 2011-03-09 16:46:31 +0200
message:
merge 5.0->5.0-security
------------------------------------------------------------
revno: 3562.1.2 [merge]
committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
branch nick: merge-5.1-security
timestamp: Wed 2011-03-09 16:50:06 +0200
message:
merge 5.1->5.1-security
------------------------------------------------------------
revno: 3452.51.47 [merge]
committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
branch nick: merge-5.1
timestamp: Wed 2011-03-09 14:59:34 +0200
message:
merge mysql-5.0->mysql-5.1
------------------------------------------------------------
revno: 1810.3998.15 [merge]
committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
branch nick: merge-5.0
timestamp: Wed 2011-03-09 14:48:23 +0200
message:
merge mysql-5.0-secrutiy-fixed -> mysql-5.0
------------------------------------------------------------
revno: 3452.51.46 [merge]
author: joerg.bruehe@oracle.com
committer: MySQL Build Team <build@mysql.com>
branch nick: mysql-5.1
timestamp: Thu 2011-03-03 21:11:47 +0100
message:
Merge from mysql-5.1.56-release
------------------------------------------------------------
revno: 3452.51.45
committer: Alexander Barkov <alexander.barkov@oracle.com>
branch nick: mysql-5.1
timestamp: Thu 2011-03-03 18:39:26 +0300
message:
Bug 11766519 - 59648: MY_STRTOLL10_MB2: ASSERTION `(*ENDPTR - S) % 2 == 0' FAILED.
Part 2. Function QUOTE() was not multi-byte safe.
@ mysql-test/r/ctype_ucs.result
@ mysql-test/t/ctype_ucs.test
Adding tests
@ sql/item_strfunc.cc
Fixing Item_func_quote::val_str to be multi-byte safe.
@ sql/item_strfunc.h
Multiple size needed for quote characters to mbmaxlen
------------------------------------------------------------
revno: 3452.51.44
committer: Alexander Barkov <alexander.barkov@oracle.com>
branch nick: mysql-5.1
timestamp: Thu 2011-03-03 15:04:04 +0300
message:
BUG#11766519 (bug#59648): MY_STRTOLL10_MB2: ASSERTION `(*ENDPTR - S) % 2 == 0' FAILED
Problem: wrong character set pointer was passed to my_strtoll10_mb2,
which led to DBUG_ASSERT failure in some cases.
@ mysql-test/r/func_encrypt_ucs2.result
@ mysql-test/t/func_encrypt_ucs2.test
@ mysql-test/r/ctype_ucs.result
@ mysql-test/t/ctype_ucs.test
Adding tests
@ sql/item_func.cc
"cs" initialization was wrong (res does not necessarily point to &str_value)
@ sql/item_strfunc.cc
Item_func_dec_encrypt::val_str() and Item_func_des_descrypt::val_str()
did not set character set for tmp_value (the returned value),
so the old value, which was previously copied from args[1]->val_str(),
was incorrectly returned with tmp_value.
------------------------------------------------------------
revno: 3452.51.43
committer: Alexander Barkov <alexander.barkov@oracle.com>
branch nick: mysql-5.1
timestamp: Thu 2011-03-03 11:25:37 +0300
message:
An after-fix for
Bug#11765108 - Bug#58036: CLIENT UTF32, UTF16, UCS2 SHOULD BE DISALLOWED, THEY CRASH SERVER
Fixing wrong usage of DBUG_ASSERT.
In non-debug version thd_init_client_charset
was not executed at all.
------------------------------------------------------------
revno: 3452.51.42
committer: Vinay Fisrekar <vinay.fisrekar@sun.com>
branch nick: mysql-5.1
timestamp: Tue 2011-03-01 21:26:24 +0530
message:
Bug#11766165 - 59211: SELECT RETURNS DIFFERENT VALUE FOR MIN(YEAR) FUNCTION
Result File Correction For Bug Fix
------------------------------------------------------------
revno: 3452.51.41
committer: Alexander Barkov <alexander.barkov@oracle.com>
branch nick: mysql-5.1.b59901
timestamp: Tue 2011-03-01 15:30:18 +0300
message:
Bug#11766725 (Bug#59901) EXTRACTVALUE STILL BROKEN AFTER FIX FOR BUG #44332
Problem: a byte behind the end of input string was read
in case of a broken XML not having a quote or doublequote
character closing a string value.
Fix: changing condition not to read behind the end of input string
@ mysql-test/r/xml.result
@ mysql-test/t/xml.test
Adding tests
@ strings/xml.c
When checking if the closing quote/doublequote was found,
using p->cur[0] us unsafe, as p->cur can point to the byte after the value.
Comparing p->cur to p->beg instead.
------------------------------------------------------------
revno: 3452.51.40 [merge]
author: hery.ramilison@oracle.com
committer: MySQL Build Team <build@mysql.com>
branch nick: mysql-5.1
timestamp: Tue 2011-02-22 22:03:32 +0100
message:
Null-merge from mysql-5.1.52sp1-release
------------------------------------------------------------
revno: 3496.1.22
tags: mysql-5.1.52sp1
committer: MySQL Build Team <build@mysql.com>
branch nick: mysql-5.1.52sp1-release
timestamp: Wed 2011-02-09 23:07:08 +0100
message:
adding macro definition for MY_GNUC_PREREQ
------------------------------------------------------------
revno: 3496.1.21
committer: MySQL Build Team <build@mysql.com>
branch nick: mysql-5.1.52sp1-release
timestamp: Wed 2011-02-09 22:14:11 +0100
message:
removing EXCEPTIONS-CLIENT
------------------------------------------------------------
revno: 3496.1.20
committer: MySQL Build Team <build@mysql.com>
branch nick: mysql-5.1.52sp1-release
timestamp: Wed 2011-02-09 22:06:24 +0100
message:
Backport into build-201102032246-5.1.52sp1
> ------------------------------------------------------------
> revno: 3545
> revision-id: holyfoot@mysql.com-20110112130241-50lwmhq562otxw31
> parent: dmitry.lenev@oracle.com-20110112130830-csanweanbny2ua3n
> committer: Alexey Botchkov <holyfoot@mysql.com>
> branch nick: 51mrg
> timestamp: Wed 2011-01-12 17:02:41 +0400
> message:
> Bug #57321 crashes and valgrind errors from spatial types
> Item_func_spatial_collection::fix_length_and_dec didn't call parent's method, so
> the maybe_null was set to '0' after it. But in this case the result was
> just NULL, that caused wrong behaviour.
>
> per-file comments:
> mysql-test/r/gis.result
> Bug #57321 crashes and valgrind errors from spatial types
> test result updated.
>
> mysql-test/t/gis.test
> Bug #57321 crashes and valgrind errors from spatial types
> test case added.
> sql/item_geofunc.h
> Bug #57321 crashes and valgrind errors from spatial types
> Item_func_geometry::fix_length_and_dec() called in
> Item_func_spatial_collection::fix_length_and_dec().
------------------------------------------------------------
revno: 3496.1.19
committer: MySQL Build Team <build@mysql.com>
branch nick: mysql-5.1.52sp1-release
timestamp: Wed 2011-02-09 22:04:11 +0100
message:
Backport into build-201102032246-5.1.52sp1
> ------------------------------------------------------------
> revno: 3537
> revision-id: davi.arnaut@oracle.com-20110107192806-rmvvxwhk10sy0219
> parent: davi.arnaut@oracle.com-20110107183336-kp8niwm2hz3wb4c3
> committer: Davi Arnaut <davi.arnaut@oracle.com>
> branch nick: mysql-5.1
> timestamp: Fri 2011-01-07 17:28:06 -0200
> message:
> Bug#51023: Mysql server crashes on SIGHUP and destroys InnoDB files
>
> WIN32 compilation fixes: define ETIMEDOUT only if not available and
> fix typos and add a missing parameter.
------------------------------------------------------------
revno: 3496.1.18
committer: MySQL Build Team <build@mysql.com>
branch nick: mysql-5.1.52sp1-release
timestamp: Wed 2011-02-09 22:02:48 +0100
message:
Backport into build-201102032246-5.1.52sp1
> ------------------------------------------------------------
> revno: 3536
> revision-id: davi.arnaut@oracle.com-20110107183336-kp8niwm2hz3wb4c3
> parent: saikumar.v@sun.com-20110106103945-rhsek9uy6f63db44
> committer: Davi Arnaut <davi.arnaut@oracle.com>
> branch nick: 51023-5.1
> timestamp: Fri 2011-01-07 16:33:36 -0200
> message:
> Bug#51023: Mysql server crashes on SIGHUP and destroys InnoDB files
>
> From a user perspective, the problem is that a FLUSH LOGS or SIGHUP
> signal could end up associating the stdout and stderr to random
> files. In the case of this bug report, the streams would end up
> associated to InnoDB ibd files.
>
> The freopen(3) function is not thread-safe on FreeBSD. What this
> means is that if another thread calls open(2) during freopen()
> is executing that another thread's fd returned by open(2) may get
> re-associated with the file being passed to freopen(3). See FreeBSD
> PR number 79887 for reference:
>
> http://www.freebsd.org/cgi/query-pr.cgi?pr=79887
>
> This problem is worked around by substituting a internal hook within
> the FILE structure. This avoids the loss of atomicity by not having
> the original fd closed before its duplicated.
>
> Patch based on the original work by Vasil Dimov.
------------------------------------------------------------
revno: 3496.1.17
committer: MySQL Build Team <build@mysql.com>
branch nick: mysql-5.1.52sp1-release
timestamp: Wed 2011-02-09 22:01:35 +0100
message:
Backport into build-201102032246-5.1.52sp1
> ------------------------------------------------------------
> revno: 3527.3.2
> revision-id: mattias.jonsson@oracle.com-20101222144517-cbv3l5jlbd0mq5s8
> parent: mattias.jonsson@oracle.com-20101222095036-2lpx0gqu4i45jtkz
> committer: Mattias Jonsson <mattias.jonsson@oracle.com>
> branch nick: b54483-51-bt_2
> timestamp: Wed 2010-12-22 15:45:17 +0100
> message:
> Bug#54483: valgrind errors when making warnings for
> multiline inserts into partition
> Bug#57071: EXTRACT(WEEK from date_col) cannot be
> allowed as partitioning function
>
> Renamed function according to reviewers comments.
------------------------------------------------------------
revno: 3496.1.16
committer: MySQL Build Team <build@mysql.com>
branch nick: mysql-5.1.52sp1-release
timestamp: Wed 2011-02-09 21:59:29 +0100
message:
Backport into build-201102032246-5.1.52sp1
> ------------------------------------------------------------
> revno: 3527.3.1
> revision-id: mattias.jonsson@oracle.com-20101222095036-2lpx0gqu4i45jtkz
> parent: sven.sandberg@oracle.com-20101220090735-psae11j9nwuj8vzl
> committer: Mattias Jonsson <mattias.jonsson@oracle.com>
> branch nick: b54483-51-bt_2
> timestamp: Wed 2010-12-22 10:50:36 +0100
> message:
> Bug#54483: valgrind errors when making warnings for multiline inserts into partition
> Bug#57071: EXTRACT(WEEK from date_col) cannot be allowed as partitioning function
>
> There were functions allowed as partitioning functions
> that implicit allowed cast. That could result in unacceptable
> behaviour.
>
> Solution was to check that the arguments of date and time functions
> have allowed types (field and date/datetime/time depending on function).
------------------------------------------------------------
revno: 3496.1.15
committer: MySQL Build Team <build@mysql.com>
branch nick: mysql-5.1.52sp1-release
timestamp: Wed 2011-02-09 21:57:57 +0100
message:
Backport into build-201102032246-5.1.52sp1
> ------------------------------------------------------------
> revno: 3520
> revision-id: sergey.glukhov@oracle.com-20101214093303-wmo9mqcb8rz0wv9f
> parent: tor.didriksen@oracle.com-20101213161301-81lprlbune7r98dl
> committer: Sergey Glukhov <sergey.glukhov@oracle.com>
> branch nick: mysql-5.1-bugteam
> timestamp: Tue 2010-12-14 12:33:03 +0300
> message:
> Fixed following problems:
> --Bug#52157 various crashes and assertions with multi-table update, stored function
> --Bug#54475 improper error handling causes cascading crashing failures in innodb/ndb
> --Bug#57703 create view cause Assertion failed: 0, file .\item_subselect.cc, line 846
> --Bug#57352 valgrind warnings when creating view
> --Recently discovered problem when a nested materialized derived table is used
> before being populated and it leads to incorrect result
>
> We have several modes when we should disable subquery evaluation.
> The reasons for disabling are different. It could be
> uselessness of the evaluation as in case of 'CREATE VIEW'
> or 'PREPARE stmt', or we should disable subquery evaluation
> if tables are not locked yet as it happens in bug#54475, or
> too early evaluation of subqueries can lead to wrong result
> as it happened in Bug#19077.
> Main problem is that if subquery items are treated as const
> they are evaluated in ::fix_fields(), ::fix_length_and_dec()
> of the parental items as a lot of these methods have
> Item::val_...() calls inside.
> We have to make subqueries non-const to prevent unnecessary
> subquery evaluation. At the moment we have different methods
> for this. Here is a list of these modes:
>
> 1. PREPARE stmt;
> We use UNCACHEABLE_PREPARE flag.
> It is set during parsing in sql_parse.cc, mysql_new_select() for
> each SELECT_LEX object and cleared at the end of PREPARE in
> sql_prepare.cc, init_stmt_after_parse(). If this flag is set
> subquery becomes non-const and evaluation does not happen.
>
> 2. CREATE|ALTER VIEW, SHOW CREATE VIEW, I_S tables which
> process FRM files
> We use LEX::view_prepare_mode field. We set it before
> view preparation and check this flag in
> ::fix_fields(), ::fix_length_and_dec().
> Some bugs are fixed using this approach,
> some are not(Bug#57352, Bug#57703). The problem here is
> that we have a lot of ::fix_fields(), ::fix_length_and_dec()
> where we use Item::val_...() calls for const items.
>
> 3. Derived tables with subquery = wrong result(Bug19077)
> The reason of this bug is too early subquery evaluation.
> It was fixed by adding Item::with_subselect field
> The check of this field in appropriate places prevents
> const item evaluation if the item have subquery.
> The fix for Bug19077 fixes only the problem with
> convert_constant_item() function and does not cover
> other places(::fix_fields(), ::fix_length_and_dec() again)
> where subqueries could be evaluated.
>
> Example:
> CREATE TABLE t1 (i INT, j BIGINT);
> INSERT INTO t1 VALUES (1, 2), (2, 2), (3, 2);
> SELECT * FROM (SELECT MIN(i) FROM t1
> WHERE j = SUBSTRING('12', (SELECT * FROM (SELECT MIN(j) FROM t1) t2))) t3;
> DROP TABLE t1;
>
> 4. Derived tables with subquery where subquery
> is evaluated before table locking(Bug#54475, Bug#52157)
>
> Suggested solution is following:
>
> -Introduce new field LEX::context_analysis_only with the following
> possible flags:
> #define CONTEXT_ANALYSIS_ONLY_PREPARE 1
> #define CONTEXT_ANALYSIS_ONLY_VIEW 2
> #define CONTEXT_ANALYSIS_ONLY_DERIVED 4
> -Set/clean these flags when we perform
> context analysis operation
> -Item_subselect::const_item() returns
> result depending on LEX::context_analysis_only.
> If context_analysis_only is set then we return
> FALSE that means that subquery is non-const.
> As all subquery types are wrapped by Item_subselect
> it allow as to make subquery non-const when
> it's necessary.
------------------------------------------------------------
revno: 3496.1.14
committer: MySQL Build Team <build@mysql.com>
branch nick: mysql-5.1.52sp1-release
timestamp: Wed 2011-02-09 21:55:28 +0100
message:
Backport into build-201102032246-5.1.52sp1
> ------------------------------------------------------------
> revno: 3518
> revision-id: sergey.glukhov@oracle.com-20101213114812-kaq7sh0s623128lv
> parent: sergey.glukhov@oracle.com-20101213103926-okypkn10adeeyns8
> committer: Sergey Glukhov <sergey.glukhov@oracle.com>
> branch nick: mysql-5.1-bugteam
> timestamp: Mon 2010-12-13 14:48:12 +0300
> message:
> Bug#39828 : Autoinc wraps around when offset and increment > 1
> Auto increment value wraps when performing a bulk insert with
> auto_increment_increment and auto_increment_offset greater than
> one.
> The fix:
> If overflow happened then return MAX_ULONGLONG value as an
> indication of overflow and check this before storing the
> value into the field in update_auto_increment().
------------------------------------------------------------
revno: 3496.1.13
committer: MySQL Build Team <build@mysql.com>
branch nick: mysql-5.1.52sp1-release
timestamp: Wed 2011-02-09 21:37:36 +0100
message:
Backport into build-201102032246-5.1.52sp1
> ------------------------------------------------------------
> revno: 3517
> revision-id: sergey.glukhov@oracle.com-20101213103926-okypkn10adeeyns8
> parent: davi.arnaut@oracle.com-20101207150620-s49dstok48oy585o
> committer: Sergey Glukhov <sergey.glukhov@oracle.com>
> branch nick: mysql-5.1-bugteam
> timestamp: Mon 2010-12-13 13:39:26 +0300
> message:
> Bug#58396 group_concat and explain extended are still crashy
> Explain fails at fix_fields stage and some items are left unfixed,
> particulary Item_group_concat. Item_group_concat::orig_args field
> is uninitialized in this case and Item_group_concat::print call
> leads to crash.
> The fix:
> move the initialization of Item_group_concat::orig_args
> into constructor.
------------------------------------------------------------
revno: 3496.1.12
committer: MySQL Build Team <build@mysql.com>
branch nick: mysql-5.1.52sp1-release
timestamp: Wed 2011-02-09 21:30:48 +0100
message:
Backport into build-201102032246-5.1.52sp1
> ------------------------------------------------------------
> revno: 3507.1.7
> revision-id: guilhem@mysql.com-20101122085759-53uuoyqyjkh4em2m
> parent: davi.arnaut@oracle.com-20101120142951-l0f3bxmcwibcplxq
> committer: Guilhem Bichot <guilhem@mysql.com>
> branch nick: mysql-5.1-bugteam
> timestamp: Mon 2010-11-22 09:57:59 +0100
> message:
> Fix for Bug#56138 "valgrind errors about overlapping memory when double-assigning same variable",
> and related small fixes.
------------------------------------------------------------
revno: 3496.1.11
committer: MySQL Build Team <build@mysql.com>
branch nick: mysql-5.1.52sp1-release
timestamp: Wed 2011-02-09 21:28:45 +0100
message:
Backport into build-201102032246-5.1.52sp1
> ------------------------------------------------------------
> revno: 3507.1.26
> revision-id: mattias.jonsson@oracle.com-20101201112046-2ugtweya0dltcrys
> parent: nirbhay.choubey@sun.com-20101201065531-w2f0j3g5yzok8z9x
> committer: Mattias Jonsson <mattias.jonsson@oracle.com>
> branch nick: b56380-51-bt
> timestamp: Wed 2010-12-01 12:20:46 +0100
> message:
> Bug#56380: valgrind memory leak warning from partition tests
>
> There could be memory leaks if ALTER ... PARTITION command fails.
>
> Problem was that the list of items to free was not set in
> the partition info structure when fix_partition_func call failed
> during ALTER ... PARTITION.
>
> Solved by always setting the list in the partition info struct.
------------------------------------------------------------
revno: 3496.1.10
committer: MySQL Build Team <build@mysql.com>
branch nick: mysql-5.1.52sp1-release
timestamp: Wed 2011-02-09 21:26:44 +0100
message:
Backport into build-201102032246-5.1.52sp1
> ------------------------------------------------------------
> revno: 3504
> revision-id: svoj@oracle.com-20101111100317-3bjzbj6c2ihfzb9t
> parent: dmitry.shulga@oracle.com-20101111045251-jl1spfh3xjti1sll
> committer: Sergey Vojtovich <svoj@oracle.com>
> branch nick: mysql-5.1-bugteam-bug58079
> timestamp: Thu 2010-11-11 13:03:17 +0300
> message:
> BUG#58079 - Remove the IBM DB2 storage engine
------------------------------------------------------------
revno: 3496.1.9
committer: MySQL Build Team <build@mysql.com>
branch nick: mysql-5.1.52sp1-release
timestamp: Wed 2011-02-09 21:22:26 +0100
message:
Backport into build-201102032246-5.1.52sp1
> ------------------------------------------------------------
> revno: 3496.1.39
> revision-id: jon.hauglid@oracle.com-20101019081957-zf2ohl7wgnhvnnb0
> parent: tor.didriksen@oracle.com-20101019070648-jhi9ezq3b5qk4wcm
> committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
> branch nick: mysql-5.1-bugteam-bug57274
> timestamp: Tue 2010-10-19 10:19:57 +0200
> message:
> Bug #57274 SET GLOBAL debug crashes on Solaris in embedded server mode
> (variables_debug fails)
>
> The problem was that "SET GLOBAL debug" could cause a crash on Solaris.
> The crash happened if the server failed to open the trace file given in
> the "SET GLOBAL debug" statement. This caused an error message to be
> printed to stderr containing the process name. However, printing to
> stderr crashed the server since the pointer to the process name had
> not been initialized.
>
> This patch fixes the problem by initializing the process name
> properly when doing "SET GLOBAL debug".
>
> No test case added as this bug was repeatable with existing test
> coverage in variables_debug.test.
------------------------------------------------------------
revno: 3496.1.8
committer: MySQL Build Team <build@mysql.com>
branch nick: mysql-5.1.52sp1-release
timestamp: Wed 2011-02-09 21:21:06 +0100
message:
Backport into build-201102032246-5.1.52sp1
> ------------------------------------------------------------
> revno: 3452.17.1
> revision-id: mattias.jonsson@oracle.com-20101005125751-ds92svhhb13ds8ri
> parent: sergey.glukhov@sun.com-20101004085126-ia6veky4w6j87i43
> committer: Mattias Jonsson <mattias.jonsson@oracle.com>
> branch nick: b55091-51-security
> timestamp: Tue 2010-10-05 14:57:51 +0200
> message:
> Bug#55091: Server crashes on ADD PARTITION after a failed attempt
>
> In case of failure in ALTER ... PARTITION under LOCK TABLE
> the server could crash, due to it had modified the locked
> table object, which was not reverted in case of failure,
> resulting in a bad table definition used after the failed
> command.
>
> Solved by always closing the LOCKED TABLE, even in case
> of error.
>
> Note: this is a 5.1-only fix, bug#56172 fixed it in 5.5+
------------------------------------------------------------
revno: 3496.1.7
committer: MySQL Build Team <build@mysql.com>
branch nick: mysql-5.1.52sp1-release
timestamp: Wed 2011-02-09 21:15:36 +0100
message:
Backport into build-201102032246-5.1.52sp1
> ------------------------------------------------------------
> revno: 3452.13.54
> revision-id: oystein.grovlen@oracle.com-20110112093715-tc076voaxwblqk8v
> parent: georgi.kodinov@oracle.com-20110110130833-1c9q21mr7zoq07vg
> committer: Oystein Grovlen <oystein.grovlen@oracle.com>
> branch nick: mysql-5.1-security
> timestamp: Wed 2011-01-12 10:37:15 +0100
> message:
> Bug#59211: Select Returns Different Value for min(year) Function
>
> get_year_value() contains code to convert 2-digits year to
> 4-digits. The fix for Bug#49910 added a check on the size of
> the underlying field so that this conversion is not done for
> YEAR(4) values. (Since otherwise one would convert invalid
> YEAR(4) values to valid ones.)
>
> The existing check does not work when Item_cache is used, since
> it is not detected when the cache is based on a Field. The
> reported change in behavior is due to Bug#58030 which added
> extra cached items in min/max computations.
>
> The elegant solution would be to implement
> Item_cache::real_item() to return the underlying Item.
> However, some side effects are observed (change in explain
> output) that indicates that such a change is not straight-
> forward, and definitely not appropriate for an MRU.
>
> Instead, a Item_cache::field() method has been added in order
> to get access to the underlying field. (This field() method
> eliminates the need for Item_cache::eq_def() used in
> test_if_ref(), but in order to limit the scope of this fix,
> that code has been left as is.)
------------------------------------------------------------
revno: 3496.1.6
committer: MySQL Build Team <build@mysql.com>
branch nick: mysql-5.1.52sp1-release
timestamp: Wed 2011-02-09 21:13:20 +0100
message:
Backport into build-201102032246-5.1.52sp1
> ------------------------------------------------------------
> revno: 3452.13.4 [merge]
> revision-id: mmakela@bk-internal.mysql.com-20101011192851-u3bdt7erjkrgn90t
> parent: marko.makela@oracle.com-20101011081800-sby6kmb8n1mnryfq
> parent: jimmy.yang@oracle.com-20101011123613-guz1qgdktywmel1g
> committer: Marko Makela <mmakela@bk-internal.mysql.com>
> branch nick: mysql-5.1-security
> timestamp: Mon 2010-10-11 21:28:51 +0200
> message:
> Merge Bug #57345, Bug #56982, Bug#53307 test from mysql-5.1-innodb
> ------------------------------------------------------------
> Use --include-merges or -n0 to see merged revisions.
------------------------------------------------------------
revno: 3496.1.5
committer: MySQL Build Team <build@mysql.com>
branch nick: mysql-5.1.52sp1-release
timestamp: Wed 2011-02-09 21:10:07 +0100
message:
Backport into build-201102032246-5.1.52sp1
> ------------------------------------------------------------
> revno: 3351.14.280
> revision-id: inaam.rana@oracle.com-20101026205418-aq835zpvxdskdf4c
> parent: jimmy.yang@oracle.com-20101025055121-j319j363abfgdh6n
> committer: Inaam Rana <inaam.rana@oracle.com>
> branch nick: mysql-5.1-innodb
> timestamp: Tue 2010-10-26 16:54:18 -0400
> message:
> Bug #57611 ibdata file and continuous growing undo logs
> rb://498
>
> Fix handling of update_undo_logs at trx commit. Previously, when
> rseg->update_undo_list grows beyond 500 the update_undo_logs were
> marked with state TRX_UNDO_TO_FREE which should have been
> TRX_UNDO_TO_PURGE.
>
> Approved by: Sunny Bains
------------------------------------------------------------
revno: 3496.1.4
committer: MySQL Build Team <build@mysql.com>
branch nick: mysql-5.1.52sp1-release
timestamp: Wed 2011-02-09 21:08:15 +0100
message:
Backport into build-201102032246-5.1.52sp1
> ------------------------------------------------------------
> revno: 1810.3987.44
> revision-id: alexander.nozdrin@oracle.com-20101124095339-oatpqq684jpbbso2
> parent: alexander.nozdrin@oracle.com-20101122132749-tl6m39zsfgvzi2mf
> committer: Alexander Nozdrin <alexander.nozdrin@oracle.com>
> branch nick: mysql-5.0-bugteam
> timestamp: Wed 2010-11-24 12:53:39 +0300
> message:
> A follow-up for Bug#58340 (Remove Server GPL EXCEPTIONS-CLIENT file) -- remove all
> EXCEPTIONS-CLIENT from all the places.
------------------------------------------------------------
revno: 3496.1.3
committer: MySQL Build Team <build@mysql.com>
branch nick: mysql-5.1.52sp1-release
timestamp: Wed 2011-02-09 21:03:17 +0100
message:
Backport into build-201102032246-5.1.52sp1
> ------------------------------------------------------------
> revno: 1810.3987.43
> revision-id: alexander.nozdrin@oracle.com-20101122132749-tl6m39zsfgvzi2mf
> parent: alexander.nozdrin@oracle.com-20101122132550-hcu608iuq5un9k0q
> committer: Alexander Nozdrin <alexander.nozdrin@oracle.com>
> branch nick: mysql-5.0-bugteam
> timestamp: Mon 2010-11-22 16:27:49 +0300
> message:
> Patch for Bug#58340 (Remove Server GPL EXCEPTIONS-CLIENT file).
------------------------------------------------------------
revno: 3496.1.2
author: hery.ramilison@oracle.com
committer: MySQL Build Team <build@mysql.com>
branch nick: mysql-5.1.52sp1-release
timestamp: Wed 2011-02-09 19:02:38 +0100
message:
Set version number for mysql-5.1.52sp1 release
------------------------------------------------------------
revno: 3452.51.39
committer: Nirbhay Choubey <nirbhay.choubey@sun.com>
branch nick: mysql-5.1
timestamp: Tue 2011-02-22 19:28:50 +0530
message:
Postfix for tests failing due to fix for bug#11766310.
------------------------------------------------------------
revno: 3452.51.38
committer: Nirbhay Choubey <nirbhay.choubey@sun.com>
branch nick: mysql-5.1.59398
timestamp: Mon 2011-02-21 12:37:24 +0530
message:
Bug#11766310 : 59398: MYSQLDUMP 5.1 CAN'T HANDLE A DASH
("-") IN DATABASE NAMES IN ALTER DATABASE.
mysqldump did not quote database name in 'ALTER DATABASE'
statements in its output. This can further cause a failure
while loading if database name contains a hyphen '-'.
This happened as, while printing the 'ALTER DATABASE'
statements, the database name was not quoted.
Fixed by quoting the database name.
------------------------------------------------------------
revno: 3452.51.37
committer: Alexander Barkov <alexander.barkov@oracle.com>
branch nick: mysql-5.1.b58036v3
timestamp: Fri 2011-02-18 17:17:37 +0300
message:
A post-fix for b58036.
------------------------------------------------------------
revno: 3452.51.36
committer: Alexander Barkov <alexander.barkov@oracle.com>
branch nick: mysql-5.1.b58036v3
timestamp: Fri 2011-02-18 16:12:36 +0300
message:
Bug#11765108 (Bug#58036) client utf32, utf16, ucs2 should be disallowed, they crash server
A separate fix for 5.1 (as 5.1 and 5.5 have seriously
differged in the related pieces of the code).
A patch for 5.5 was approved earlier.
Problem: ucs2 was correctly disallowed in "SET NAMES" only,
while mysql_real_connect() and mysql_change_user() still allowed
to use ucs2, which made server crash.
Fix: disallow ucs2 in mysql_real_connect() and mysql_change_user().
@ sql/sql_priv.h
- changing return type for thd_init_client_charset() to bool,
to return errors to the caller
@ sql/sql_var.cc
- using new function
@ sql/sql_connect.cc
- thd_client_charset_init:
in case of unsupported client character set send error and return true;
in case of success return false
- check_connection:
Return error if character set initialization failed
@ sql/sql_parse.cc
- check charset in the very beginnig of the CMD_CHANGE_USER handling code
@ tests/mysql_client_test.c
- adding tests
------------------------------------------------------------
revno: 3452.51.35 [merge]
committer: Vasil Dimov <vasil.dimov@oracle.com>
branch nick: mysql-5.1
timestamp: Fri 2011-02-18 14:57:11 +0200
message:
Merge mysql-5.1-innodb -> mysql-5.1
------------------------------------------------------------
revno: 3351.14.350
committer: Marko M?kel? <marko.makela@oracle.com>
branch nick: 5.1-innodb
timestamp: Thu 2011-02-17 22:25:33 +0200
message:
Allow 30 seconds for slow shutdown in the Bug #60049 test.
------------------------------------------------------------
revno: 3351.14.349
committer: Vasil Dimov <vasil.dimov@oracle.com>
branch nick: mysql-5.1-innodb
timestamp: Thu 2011-02-17 19:09:53 +0200
message:
Fix the non-determinism in innodb_information_schema.test
Thanks to Kristian Nielsen for finding out the root cause for the
failure, see: https://bugs.launchpad.net/maria/+bug/677407
------------------------------------------------------------
revno: 3452.51.34
committer: Martin Hansson <martin.hansson@oracle.com>
branch nick: 5.1-commit
timestamp: Fri 2011-02-18 11:50:06 +0100
message:
Bug#11766675 - 59839: Aggregation followed by subquery yields wrong result
The loop that was looping over subqueries' references to outer field used a
local boolean variable to tell whether the field was grouped or not. But the
implementor failed to reset the variable after each iteration. Thus a field
that was not directly aggregated appeared to be.
Fixed by resetting the variable upon each new iteration.
------------------------------------------------------------
revno: 3452.51.33 [merge]
committer: Vasil Dimov <vasil.dimov@oracle.com>
branch nick: mysql-5.1
timestamp: Thu 2011-02-17 14:07:39 +0200
message:
Merge mysql-5.1 from bk-internal into my local repo
------------------------------------------------------------
revno: 3452.58.1
committer: Magne Mahre <magne.mahre@oracle.com>
branch nick: mysql-5.1-48053
timestamp: Thu 2011-02-17 12:43:53 +0100
message:
Bug#48053 String::c_ptr has a race and/or does an invalid
memory reference
There are two issues present here.
1) There is a possibility that we test a byte beyond the
allocated buffer
2) We compare a byte that might never have been
initalized to see if it's 0.
The first issue is not triggered by existing code, but an
ASSERT has been added to safe-guard against introducing
new code that triggers it.
The second issue is what triggers the Valgrind warnings
reported in the bug report. A buffer is allocated in
class String to hold the value. This buffer is populated
by the character data constituting the string, but is not
zero-terminated in most cases. Testing if it is indeed
zero-terminated means that we check a byte that has never
been explicitly set, thus causing Valgrind to trigger.
Note that issue 2 is not a serious problem. The variable
is read, and if it's not zero, we will set it to zero.
There are no further consequences.
Note that this patch does not fix the underlying problems
with issue 1, as it is deemed too risky to fix at this
point (as noted in the bug report). As discussed in
the report, the c_ptr() method should probably be
replaced, but this requires a thorough analysis of the
~200 calls to the method.
------------------------------------------------------------
revno: 3452.51.32 [merge]
committer: Vasil Dimov <vasil.dimov@oracle.com>
branch nick: mysql-5.1
timestamp: Thu 2011-02-17 13:56:05 +0200
message:
Merge mysql-5.1-innodb -> mysql-5.1
------------------------------------------------------------
revno: 3351.14.348
committer: Marko M?kel? <marko.makela@oracle.com>
branch nick: 5.1-innodb
timestamp: Thu 2011-02-17 09:45:07 +0200
message:
Disable the Bug #60049 test on embedded, as it requires server restart.
------------------------------------------------------------
revno: 3351.14.347
committer: Marko M?kel? <marko.makela@oracle.com>
branch nick: 5.1-innodb
timestamp: Wed 2011-02-16 15:34:16 +0200
message:
Make the implicit unpack parameter explicit in the Bug #60049 test.
------------------------------------------------------------
revno: 3351.14.346
committer: Marko M?kel? <marko.makela@oracle.com>
branch nick: 5.1-innodb
timestamp: Tue 2011-02-15 12:12:27 +0200
message:
Add a test for suspected Bug#60049.
------------------------------------------------------------
revno: 3351.14.345
committer: Marko M?kel? <marko.makela@oracle.com>
branch nick: 5.1-innodb
timestamp: Tue 2011-02-15 10:51:33 +0200
message:
Bug#59307 Valgrind: uninitialized value in rw_lock_set_writer_id_and_recursion_flag()
rw_lock_create_func(): Initialize lock->writer_thread, so that Valgrind
will not complain even when Valgrind instrumentation is not enabled.
Flag lock->writer_thread uninitialized, so that Valgrind can complain
when it is used uninitialized.
rw_lock_set_writer_id_and_recursion_flag(): Revert the bogus Valgrind
instrumentation that was pushed in the first attempt to fix this bug.
------------------------------------------------------------
revno: 3351.14.344
committer: Jimmy Yang <jimmy.yang@oracle.com>
branch nick: mysql-5.1-innodb
timestamp: Mon 2011-02-14 02:07:59 -0800
message:
Fix Bug #59749 Enabling concurrent reads while creating non-primary unique
index gives failures.
Approved by Marko
------------------------------------------------------------
revno: 3351.14.343
committer: Vasil Dimov <vasil.dimov@oracle.com>
branch nick: mysql-5.1-innodb
timestamp: Thu 2011-02-10 17:16:32 +0200
message:
Fix Bug#59307 Valgrind: uninitialized value in rw_lock_set_writer_id_and_recursion_flag()
by silencing a bogus Valgrind warning:
==4392== Conditional jump or move depends on uninitialised value(s)
==4392== at 0x5A18416: rw_lock_set_writer_id_and_recursion_flag (sync0rw.ic:283)
==4392== by 0x5A1865C: rw_lock_x_lock_low (sync0rw.c:558)
==4392== by 0x5A18481: rw_lock_x_lock_func (sync0rw.c:617)
==4392== by 0x597EEE6: mtr_x_lock_func (mtr0mtr.ic:271)
==4392== by 0x597EBBD: fsp_header_init (fsp0fsp.c:970)
==4392== by 0x5A15E78: innobase_start_or_create_for_mysql (srv0start.c:1508)
==4392== by 0x598B789: innobase_init(void*) (ha_innodb.cc:2282)
os_compare_and_swap_thread_id() is defined as
__sync_bool_compare_and_swap(). From the GCC doc:
`bool __sync_bool_compare_and_swap (TYPE *ptr, TYPE oldval TYPE newval, ...)'
...
The "bool" version returns true if the comparison is successful and
NEWVAL was written.
So it is not possible that the return value is uninitialized, no matter what
the arguments to os_compare_and_swap_thread_id() are. Probably Valgrind gets
confused by the implementation of the GCC internal function
__sync_bool_compare_and_swap().
------------------------------------------------------------
revno: 3351.14.342
committer: Vasil Dimov <vasil.dimov@oracle.com>
branch nick: mysql-5.1-innodb
timestamp: Thu 2011-02-10 13:21:22 +0200
message:
Increment InnoDB Plugin version from 1.0.15 to 1.0.16.
InnoDB Plugin 1.0.15 has been released with MySQL 5.1.55.
------------------------------------------------------------
revno: 3351.14.341
committer: Marko M?kel? <marko.makela@oracle.com>
branch nick: 5.1-innodb
timestamp: Tue 2011-02-08 12:56:23 +0200
message:
Implement UNIV_BLOB_DEBUG. An early version of this caught Bug #55284.
This option is known to be broken when tablespaces contain off-page
columns after crash recovery. It has only been tested when creating
the data files from the scratch.
btr_blob_dbg_t: A map from page_no:heap_no:field_no to first_blob_page_no.
This map is instantiated for every clustered index in index->blobs.
It is protected by index->blobs_mutex.
btr_blob_dbg_msg_issue(): Issue a diagnostic message.
Invoked when btr_blob_dbg_msg is set.
btr_blob_dbg_rbt_insert(): Insert a btr_blob_dbg_t into index->blobs.
btr_blob_dbg_rbt_delete(): Remove a btr_blob_dbg_t from index->blobs.
btr_blob_dbg_cmp(): Comparator for btr_blob_dbg_t.
btr_blob_dbg_add_blob(): Add a BLOB reference to the map.
btr_blob_dbg_add_rec(): Add all BLOB references from a record to the map.
btr_blob_dbg_print(): Display the map of BLOB references in an index.
btr_blob_dbg_remove_rec(): Remove all BLOB references of a record from
the map.
btr_blob_dbg_is_empty(): Check that no BLOB references exist to or
from a page. Disowned references from delete-marked records are
tolerated.
btr_blob_dbg_op(): Perform an operation on all BLOB references on a
B-tree page.
btr_blob_dbg_add(): Add all BLOB references from a B-tree page to the
map.
btr_blob_dbg_remove(): Remove all BLOB references from a B-tree page
from the map.
btr_blob_dbg_restore(): Restore the BLOB references after a failed
page reorganize.
btr_blob_dbg_set_deleted_flag(): Modify the 'deleted' flag in the BLOB
references of a record.
btr_blob_dbg_owner(): Own or disown a BLOB reference.
btr_page_create(), btr_page_free_low(): Assert that no BLOB references exist.
btr_create(): Create index->blobs for clustered indexes.
btr_page_reorganize_low(): Invoke btr_blob_dbg_remove() before copying
the records. Invoke btr_blob_dbg_restore() if the operation fails.
btr_page_empty(), btr_lift_page_up(), btr_compress(), btr_discard_page():
Invoke btr_blob_dbg_remove().
btr_cur_del_mark_set_clust_rec(): Invoke btr_blob_dbg_set_deleted_flag().
Other cases of modifying the delete mark are either in the secondary
index or during crash recovery, which we do not promise to support.
btr_cur_set_ownership_of_extern_field(): Invoke btr_blob_dbg_owner().
btr_store_big_rec_extern_fields(): Invoke btr_blob_dbg_add_blob().
btr_free_externally_stored_field(): Invoke btr_blob_dbg_assert_empty()
on the first BLOB page.
page_cur_insert_rec_low(), page_cur_insert_rec_zip(),
page_copy_rec_list_end_to_created_page(): Invoke btr_blob_dbg_add_rec().
page_cur_insert_rec_zip_reorg(), page_copy_rec_list_end(),
page_copy_rec_list_start(): After failure, invoke
btr_blob_dbg_remove() and btr_blob_dbg_add().
page_cur_delete_rec(): Invoke btr_blob_dbg_remove_rec().
page_delete_rec_list_end(): Invoke btr_blob_dbg_op(btr_blob_dbg_remove_rec).
page_zip_reorganize(): Invoke btr_blob_dbg_remove() before copying the records.
page_zip_copy_recs(): Invoke btr_blob_dbg_add().
row_upd_rec_in_place(): Invoke btr_blob_dbg_rbt_delete() and
btr_blob_dbg_rbt_insert().
innobase_start_or_create_for_mysql(): Warn when UNIV_BLOB_DEBUG is enabled.
rb://550 approved by Jimmy Yang
------------------------------------------------------------
revno: 3452.51.31 [merge]
committer: Jonathan Perkin <jonathan.perkin@oracle.com>
branch nick: mysql-5.1
timestamp: Wed 2011-02-16 14:43:56 -0800
message:
Merge to mysql-5.1
------------------------------------------------------------
revno: 1810.3998.14
committer: Jonathan Perkin <jonathan.perkin@oracle.com>
branch nick: mysql-5.0
timestamp: Wed 2011-02-16 14:42:44 -0800
message:
Updated README file.
------------------------------------------------------------
revno: 3452.51.30
committer: Bjorn Munch <bjorn.munch@oracle.com>
branch nick: main-51
timestamp: Wed 2011-02-16 21:43:12 +0100
message:
Simple fix of suppress pattern in test insert_select
------------------------------------------------------------
revno: 3452.51.29
committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
branch nick: mysql-5.1-test
timestamp: Wed 2011-02-16 18:19:10 +0100
message:
Followup to Bug #11752069 (former bug 43152)
Assertion `bitmap_is_set_all(&table->s->all_set)' failed in
handler::ha_reset
This followup fixes the compilation warning
'test_bit' may be used uninitialized in this function
introduced by the previous patch.
------------------------------------------------------------
revno: 3452.51.28
committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
branch nick: mysql-5.1-bug11752069
timestamp: Wed 2011-02-16 16:26:19 +0100
message:
Bug #11752069 (former bug 43152)
Assertion `bitmap_is_set_all(&table->s->all_set)' failed in
handler::ha_reset
This assertion could be triggered if two connections simultaneously
executed two bitmap test functions on the same bitmap. For example,
the assertion could be triggered if one connection executed UPDATE
while a second connection executed SELECT on the same table.
Even if bitmap test functions have read-only semantics and have
const bitmaps as parameter, several of them modified the internal
state of the bitmap. With interleaved execution of two such functions
it was possible for one function to modify the state of the same
bitmap that the other function had just modified. This lead to an
inconsistent state and could trigger the assert.
Internally the bitmap uses 32 bit words for storage. Since bitmaps
can contain any number of bits, the last word in the bitmap may
not be fully used. A 32 bit mask is maintained where a bit is set
if the corresponding bit in the last bitmap word is unused.
The problem was that several test functions applied this mask to
the last word. Sometimes the mask was negated and used to zero out
the remainder of the last word and sometimes the mask was used as-is
to fill the remainder of the last word with 1's. This meant that if
a function first used the negated mask and another function then
used the mask as-is (or vice-versa), the first function would then
get the wrong result.
This patch fixes the problem by changing the implementation of
9 bitmap functions that modified the bitmap state even if the
bitmap was declared const. These functions now preserve the
internal state of the bitmap. This makes it possible for
two connections to concurrently execute two of these functions
on the same bitmap without issues.
The patch also removes dead testing code from my_bitmap.c.
These tests have already been moved to unittest/mysys/bitmap-t.c.
Existing test coverage of my_bitmap has been extended.
No MTR test case added as this would require adding several sync
points to the bitmap functions. The patch has been tested with
a non-deterministic test case posted on the bug report.
------------------------------------------------------------
revno: 3452.51.27
committer: Dmitry Lenev <Dmitry.Lenev@oracle.com>
branch nick: mysql-5.1-59888
timestamp: Tue 2011-02-15 14:03:05 +0300
message:
Fix for bug#11766714 (former bug @59888) "debug assertion when
attempt to create spatial index on char > 31 bytes".
Attempt to create spatial index on char field with length
greater than 31 byte led to assertion failure on server
compiled with safemutex support.
The problem occurred in mi_create() function which was called
to create a new version of table being altered. This function
failed since it detected an attempt to create a spatial key
on non-binary column and tried to return an error.
On its error path it tried to unlock THR_LOCK_myisam mutex
which has not been not locked at this point. Indeed such an
incorrect behavior was caught by safemutex wrapper and caused
assertion failure.
This patch fixes the problem by ensuring that mi_create()
doesn't releases THR_LOCK_myisam mutex on error path if it was
not acquired.
------------------------------------------------------------
revno: 3452.51.26
committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
branch nick: mysql-5.1
timestamp: Fri 2011-02-11 12:09:04 +0200
message:
version bump to 5.1.57
------------------------------------------------------------
revno: 3562.1.1
committer: Sergey Vojtovich <sergey.vojtovich@oracle.com>
branch nick: mysql-5.1-security-push
timestamp: Thu 2011-03-03 11:43:07 +0300
message:
BUG#11764339 - valgrind errors, random data when returning
ordered data from archive tables
Archive was using wrong memory address to check if field
is NULL (after filesort, when reading record again).
------------------------------------------------------------
revno: 3563
committer: Kristofer Pettersson <kristofer.pettersson@oracle.com>
branch nick: mysql-5.1-security
timestamp: Fri 2011-03-11 15:10:15 +0100
message:
Certain fields in the protcol required a strict formatting. If
off bound values were sent to the server this could under some
circumstances lead to a crash on the Windows platform.
------------------------------------------------------------
revno: 3562
committer: Magne Mahre <magne.mahre@oracle.com>
branch nick: mysql-5.1-security
timestamp: Thu 2011-02-24 12:23:38 +0100
message:
Bug#11767480 - SPATIAL INDEXES ON NON-SPATIAL COLUMNS CAUSE CRASHES.
This is a backport of the patch for MySQL Bug#50574.
Adding a SPATIAL INDEX on non-geometrical columns caused a
segmentation fault when the table was subsequently
inserted into.
A test was added in mysql_prepare_create_table to explicitly
check whether non-geometrical columns are used in a
spatial index, and throw an error if so.
For MySQL 5.5 and later, a new and more meaningful error
message was introduced. For 5.1, we (re-)use an existing
error code.
------------------------------------------------------------
revno: 3561
committer: Jonathan Perkin <jonathan.perkin@oracle.com>
branch nick: mysql-5.1-security
timestamp: Fri 2011-02-11 11:32:03 +0100
message:
Raise version number after cloning 5.1.56
------------------------------------------------------------
revno: 3560 [merge]
tags: mysql-5.1.56, clone-5.1.56-build
committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
branch nick: merge-5.1-security
timestamp: Thu 2011-02-10 12:10:28 +0200
message:
null weave merge mysql-5.0-security->mysql-5.1-security
------------------------------------------------------------
revno: 1810.3997.9 [merge]
committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
branch nick: merge-5.0-security
timestamp: Thu 2011-02-10 12:07:16 +0200
message:
merge 5.0->5.0-security
ACC SHELL 2018