Commit graph

52673 commits

Author SHA1 Message Date
unknown
35b035cfcb Merge mhansson@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  lamia.dupka:/home/mhansson/my50-bug33143-again-pushee
2008-01-18 22:45:14 +02:00
unknown
c71a6428d8 BUG#33794 "MySQL crashes executing specific query":
The problem occurred when one had a subquery that had an equality X=Y where 
Y referred to a named select list expression from the parent select. MySQL 
crashed when trying to use the X=Y equality for ref-based access. 

Fixed by allowing non-Item_field items in the described case.


mysql-test/r/subselect.result:
  BUG#33794 "MySQL crashes executing specific query"
  - Testcase
mysql-test/t/subselect.test:
  BUG#33794 "MySQL crashes executing specific query"
  - Testcase
sql/sql_select.cc:
  BUG#33794 "MySQL crashes executing specific query"
  get_store_key() assumed that if it got a reference
    t.key=Item_outer_ref(Item_direct_ref(x)) 
  then x was an Item_field object, which is not the case when one refers to a
  named select list expression out ot subquery.
2008-01-18 22:50:36 +03:00
unknown
a4339cae85 Merge mhansson@bk-internal:/home/bk/mysql-5.1-opt
into  linux-st28.site:/home/martin/mysql/src/bug33143/my51-bug33143-pushee


sql/item_func.cc:
  Auto merged
mysql-test/r/type_decimal.result:
  Bug#33143: Manual merge
mysql-test/t/type_decimal.test:
  Bug#33143: Manual merge
2008-01-17 18:36:04 +01:00
unknown
92141cd424 Merge linux-st28.site:/home/martin/mysql/src/bug33143/my50-bug33143-again
into  linux-st28.site:/home/martin/mysql/src/bug33143/my51-bug33143


mysql-test/r/type_decimal.result:
  Auto merged
sql/item_func.cc:
  Auto merged
strings/decimal.c:
  Auto merged
2008-01-17 18:22:55 +01:00
unknown
a22d1bf622 Merge mhansson@bk-internal:/home/bk/mysql-5.0-opt
into  linux-st28.site:/home/martin/mysql/src/bug33143/my50-bug33143-again-pushee


sql/item_func.cc:
  Auto merged
mysql-test/r/type_decimal.result:
  Bug#33143: Manual merge
mysql-test/t/type_decimal.test:
  Bug#33143: Manual merge
2008-01-17 18:15:53 +01:00
unknown
bab13c892d A minor cleanup.
sql/sql_insert.cc:
  Remove a redundant call to my_error() -- in case of out of memory, the error
  is reported already by operator new (Delayed_inserts inherits from ilink).
2008-01-16 16:44:07 +03:00
unknown
6251274f6b Merge zhe@bk-internal.mysql.com:/home/bk/mysql-5.1-new-rpl
into  mail.hezx.com:/media/sda3/work/mysql/bkwork/versional/merge-51
2008-01-15 10:37:18 +08:00
unknown
9a2c03f139 Merge riska.(none):/home/sven/bkgca/5.1-new-rpl
into  riska.(none):/home/sven/bk/b27779-old_row_events/5.1-new-rpl


sql/log_event.cc:
  Auto merged
2008-01-14 16:48:04 +01:00
unknown
f9440588f5 Bug#33143: Incorrect ORDER BY for ROUND()/TRUNCATE() result
The ROUND(X, D) function would change the Item::decimals field during
execution to achieve the effect of a dynamic number of decimal digits.
This caused a series of bugs:
Bug #30617:Round() function not working under some circumstances in InnoDB
Bug #33402:ROUND with decimal and non-constant cannot round to 0 decimal places
Bug #30889:filesort and order by with float/numeric crashes server
Fixed by never changing the number of shown digits for DECIMAL when
used with a nonconstant number of decimal digits.


mysql-test/r/type_decimal.result:
  Bug#33143: Test result
mysql-test/t/type_decimal.test:
  Bug#33143: Test case
sql/item_func.cc:
  Bug#33143: 
  - Moved the DECIMAL_MAX_SCALE limitation to fix_length_and_dec.
  - Removed resetting of Item::decimals field.
  - set the frac field of the output value to current scale.
strings/decimal.c:
  Bug#33143: It is necessary to set all digits in the buffer following the 
  rounded one to zero, as they may now be displayed.
2008-01-14 16:16:36 +01:00
unknown
88630e74eb Merge mail.hezx.com:/media/sda3/work/mysql/bkwork/versional/mysql-5.1-new-rpl
into  mail.hezx.com:/media/sda3/work/mysql/bkwork/versional/merge-51


mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result:
  mask error message in show slave status
2008-01-14 17:59:08 +08:00
unknown
c7ff3942e7 fix for versional test
mysql-test/extra/rpl_tests/rpl_row_tabledefs.test:
  Mask out error messages
mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result:
  Mask out Error messages in reslut of show slave status
mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result:
  Mask out Error messages in reslut of show slave status
mysql-test/suite/rpl/t/rpl_temporary_errors.test:
  mask out binlog position
2008-01-14 17:54:23 +08:00
unknown
6c8a7feb32 Merge mail.hezx.com:/media/sda3/work/mysql/bkwork/versional/mysql-5.1-new-rpl
into  mail.hezx.com:/media/sda3/work/mysql/bkwork/versional/merge-51


mysql-test/suite/rpl/r/rpl_create_database.result:
  Auto merged
mysql-test/suite/rpl/r/rpl_load_from_master.result:
  Auto merged
mysql-test/suite/rpl/t/rpl_create_database.test:
  Auto merged
mysql-test/suite/rpl/t/rpl_load_from_master.test:
  Auto merged
mysql-test/suite/rpl/r/rpl_init_slave.result:
  SCCS merged
mysql-test/suite/rpl/t/rpl_init_slave.test:
  SCCS merged
2008-01-14 15:41:28 +08:00
unknown
32a77ed674 Fix for versional test
Mask binlog positions, error, warning and other information that are not significant for the test


mysql-test/extra/rpl_tests/rpl_max_relay_size.test:
  Mask out binlog position and DBs in result of show master status
mysql-test/extra/rpl_tests/rpl_reset_slave.test:
  Mask out log positions in tests to make them version independent
mysql-test/extra/rpl_tests/rpl_row_tabledefs.test:
  Mask out Error messages in reslut of show slave status
mysql-test/suite/rpl/r/rpl_000015.result:
  Mask out log positions in tests to make them version independent
  ---
  Mask out binlog position and DBs in result of show master status
mysql-test/suite/rpl/r/rpl_change_master.result:
  Mask out log positions in tests to make them version independent
mysql-test/suite/rpl/r/rpl_create_database.result:
  fix for versional test
mysql-test/suite/rpl/r/rpl_grant.result:
  fix for versional test
mysql-test/suite/rpl/r/rpl_init_slave.result:
  fix for versional test
mysql-test/suite/rpl/r/rpl_load_from_master.result:
  update result
mysql-test/suite/rpl/r/rpl_log_pos.result:
  Mask out binlog position and DBs in result of show master status
mysql-test/suite/rpl/r/rpl_rotate_logs.result:
  Mask out binlog position and DBs in result of show master status
mysql-test/suite/rpl/r/rpl_row_max_relay_size.result:
  Mask out binlog position and DBs in result of show master status
mysql-test/suite/rpl/r/rpl_row_reset_slave.result:
  Mask out log positions in tests to make them version independent
mysql-test/suite/rpl/r/rpl_skip_error.result:
  Mask out log positions in tests to make them version independent
mysql-test/suite/rpl/r/rpl_stm_max_relay_size.result:
  Mask out log positions in tests to make them version independent
  ---
  Mask out binlog position and DBs in result of show master status
mysql-test/suite/rpl/r/rpl_stm_reset_slave.result:
  Mask out log positions in tests to make them version independent
mysql-test/suite/rpl/r/rpl_stm_until.result:
  Mask out log positions in tests to make them version independent
mysql-test/suite/rpl/r/rpl_temporary_errors.result:
  Mask out binlog positions
mysql-test/suite/rpl/t/rpl_000015.test:
  Mask out log positions in tests to make them version independent
mysql-test/suite/rpl/t/rpl_change_master.test:
  Mask out log positions in tests to make them version independent
mysql-test/suite/rpl/t/rpl_colSize.test:
  fix for versional test
mysql-test/suite/rpl/t/rpl_create_database.test:
  fix for versional test
mysql-test/suite/rpl/t/rpl_grant.test:
  fix for versional test
mysql-test/suite/rpl/t/rpl_init_slave.test:
  fix for versional test
mysql-test/suite/rpl/t/rpl_load_from_master.test:
  fix for versional test
mysql-test/suite/rpl/t/rpl_log_pos.test:
  Mask out binlog position and DBs
mysql-test/suite/rpl/t/rpl_rotate_logs.test:
  Mask out log positions in tests to make them version independent
mysql-test/suite/rpl/t/rpl_skip_error.test:
  Mask out log positions in tests to make them version independent
mysql-test/suite/rpl/t/rpl_stm_until.test:
  Mask out log positions in tests to make them version independent
mysql-test/include/show_binary_logs.inc:
  Mask out log positions in tests to make them version independent
mysql-test/include/show_master_logs.inc:
  Mask out log positions in tests to make them version independent
mysql-test/include/show_master_status.inc:
  Mask out log positions in tests to make them version independent
  ---
  Mask out binlog position and DBs in result of show master status
mysql-test/include/show_slave_status2.inc:
  Mask out log positions in tests to make them version independent
2008-01-14 15:38:02 +08:00
unknown
a5c2f57694 Post-merge fixes to make tests pass.
mysql-test/suite/rpl_ndb/r/rpl_ndb_transaction.result:
  Result change
mysql-test/suite/rpl_ndb/t/rpl_ndb_transaction.test:
  Removing duplicate DROP TABLE causing test to fail.
2008-01-13 22:13:17 +01:00
unknown
ec25326975 Merge mhansson@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  lamia.dupka:/home/mhansson/my50-bug31797-pushee
2008-01-12 18:59:05 +02:00
unknown
7e93d048b7 Post merge fix for BUG 33728
include/Makefile.am:
  Include gcc_builtins.h header in the list.
2008-01-11 21:34:23 -02:00
unknown
783b6070ee Merge bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  mysql.com:/Users/davi/mysql/mysql-5.1-runtime
2008-01-11 20:42:07 -02:00
unknown
26af3c7e35 Bug#33728 Atomic builtins
Use compiler provided atomic builtins as a 'backend' for
MySQL's atomic primitives. The builtins are available on
a handful of platforms and compilers.


configure.in:
  Check if the compiler provides atomic builtins and
  that __sync_lock_test_and_set stores the correct value.
include/atomic/nolock.h:
  Use the atomic builtins if available.
include/atomic/gcc_builtins.h:
  Implement the atomic ADD, SWAP, CAS, STORE (or operation
  optimized away) and LOAD primitives using atomic builtins
  provided by the compiler.
2008-01-11 20:34:36 -02:00
unknown
a034c7145f Merge mhansson@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  lamia.dupka:/home/mhansson/my51-bug31797-pushee
2008-01-11 23:09:34 +02:00
unknown
c37689f181 Merge mhansson@bk-internal:/home/bk/mysql-5.1-opt
into  linux-st28.site:/home/martin/mysql/src/bug31797/my51-bug31797-pushee


mysql-test/r/group_by.result:
  Auto merged
mysql-test/t/group_by.test:
  Auto merged
sql/item.cc:
  Auto merged
2008-01-11 19:39:28 +01:00
unknown
ab0f3e4661 Merge linux-st28.site:/home/martin/mysql/src/bug31797/my50-bug31797
into  linux-st28.site:/home/martin/mysql/src/bug31797/my51-bug31797


sql/item.cc:
  Auto merged
mysql-test/r/group_by.result:
  Bug#31797: Manual merge
mysql-test/t/group_by.test:
  Bug#31797: Manual merge
2008-01-11 19:13:07 +01:00
unknown
4ddfa7ba53 Merge olga.mysql.com:/home/igor/mysql-5.1-opt
into  olga.mysql.com:/home/igor/dev-opt/mysql-5.1-opt-bug33697


mysql-test/t/disabled.def:
  Auto merged
sql/sql_select.cc:
  Auto merged
2008-01-11 10:12:29 -08:00
unknown
d8363a408f Fixed bug #33697.
When the function test_if_skip_sort_order prefers index backward scan 
to ref access the corresponding access functions must be set accordingly.


mysql-test/include/mix1.inc:
  Added a test case for bug #33697.
  Corrected one previous bad merge.
mysql-test/r/innodb_mysql.result:
  Added a test case for bug #33697.
mysql-test/t/disabled.def:
  Turned innodb_mysql test on.
2008-01-11 10:05:34 -08:00
unknown
7bd7e98812 Merge mhansson@bk-internal:/home/bk/mysql-5.0-opt
into  linux-st28.site:/home/martin/mysql/src/bug31797/my50-bug31797-pushee


sql/item.cc:
  Auto merged
mysql-test/r/group_by.result:
  Bug#31797: Manual merge
mysql-test/t/group_by.test:
  Bug#31797: Manual merge
2008-01-11 19:00:26 +01:00
unknown
df8e9fc234 Bug#31797: error while parsing subqueries -- WHERE is parsed as HAVING
The name resolution for correlated subqueries and HAVING clauses
failed to distinguish which of two was being performed when there 
was a reference to an outer aliased field.
Fixed by adding the condition that HAVING clause name resulotion
is being performed.


mysql-test/r/group_by.result:
  Bug#31797: Test result
mysql-test/t/group_by.test:
  Bug#31797: Test case
sql/item.cc:
  Bug#31797: 
  Corrected function comment.
  The fix, raising the error is restricted to HAVING name resolution.
2008-01-11 18:50:54 +01:00
unknown
d52a1a144b Merge host.loc:/home/uchum/work/5.1-opt-33699
into  host.loc:/home/uchum/work/5.1-opt


mysql-test/extra/rpl_tests/rpl_extraMaster_Col.test:
  Auto merged
sql/sql_update.cc:
  Auto merged
mysql-test/suite/rpl/r/rpl_extraColmaster_innodb.result:
  Merge with local tree (bug#33699).
mysql-test/suite/rpl/r/rpl_extraColmaster_myisam.result:
  Merge with local tree (bug#33699).
2008-01-11 21:39:45 +04:00
unknown
2a38798623 Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl-merge
2008-01-11 18:13:00 +01:00
unknown
72ebb0aada Bug#29477: Not all fields of the target table were checked to have a default
value when inserting into a view.

The mysql_prepare_insert function checks all fields of the target table that
directly or indirectly (through a view) are specified in the INSERT
statement to have a default value. This check can be skipped if the INSERT
statement doesn't mention any insert fields. In case of a view this allows
fields that aren't mentioned in the view to bypass the check.

Now fields of the target table are always checked to have a default value
when insert goes into a view.


mysql-test/t/view.test:
  Added a test case for the bug#29477: Not all fields of the target table were 
  checked to have a default value when inserting into a view.
mysql-test/r/view.result:
  Added a test case for the bug#29477: Not all fields of the target table were 
  checked to have a default value when inserting into a view.
sql/sql_insert.cc:
  Bug#29477: Not all fields of the target table were checked to have a default
  value when inserting into a view.
  Now fields of the target table are always checked to have a default value
  when insert goes into a view.
2008-01-11 20:10:54 +03:00
unknown
887cf4ec9a Fixing failing test case.
mysql-test/suite/rpl/r/rpl_init_slave.result:
  Result change.
mysql-test/suite/rpl/t/rpl_init_slave.test:
  Starting and stopping slave to make sure that the init_slave
  variable is executed.
2008-01-11 18:09:17 +01:00
unknown
97fa536a92 Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl-merge


BitKeeper/deleted/.del-binlog_start_comment.result:
  Auto merged
BitKeeper/deleted/.del-binlog_start_comment.test:
  Auto merged
mysql-test/suite/rpl/r/rpl_timezone.result:
  Auto merged
mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result:
  Manual merge.
2008-01-11 16:32:31 +01:00
unknown
01c2de4077 Post-merge changes to make tests pass.
BitKeeper/deleted/.del-binlog_start_comment.test:
  Delete: mysql-test/t/binlog_start_comment.test
BitKeeper/deleted/.del-binlog_start_comment.result:
  Delete: mysql-test/r/binlog_start_comment.result
mysql-test/suite/binlog/t/binlog_unsafe.test:
  Rename: mysql-test/t/binlog_unsafe.test -> mysql-test/suite/binlog/t/binlog_unsafe.test
mysql-test/suite/binlog/r/binlog_unsafe.result:
  Rename: mysql-test/r/binlog_unsafe.result -> mysql-test/suite/binlog/r/binlog_unsafe.result
mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result:
  Result change.
mysql-test/suite/rpl/r/rpl_timezone.result:
  Result change.
mysql-test/suite/rpl/t/rpl_row_sp005.test:
  Adding missing sync with master causing test to fail.
2008-01-11 16:26:03 +01:00
unknown
27e1a36df9 Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl-merge


mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
  Auto merged
mysql-test/suite/binlog/r/binlog_row_binlog.result:
  Auto merged
mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result:
  Auto merged
mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
  Auto merged
mysql-test/suite/binlog/t/binlog_row_mix_innodb_myisam.test:
  Auto merged
mysql-test/suite/binlog/t/binlog_stm_mix_innodb_myisam.test:
  Auto merged
sql/log.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/slave.cc:
  Auto merged
mysql-test/include/have_multi_ndb.inc:
  Manual merge.
mysql-test/suite/rpl_ndb/r/rpl_ndb_transaction.result:
  Manual merge.
mysql-test/suite/rpl_ndb/t/rpl_ndb_transaction.test:
  Manual merge.
2008-01-11 14:20:06 +01:00
unknown
cedfe557be Fixed faulty test case caused by race condition.
mysql-test/r/query_cache_debug.result:
  Fixed faulty test case.
2008-01-11 14:16:46 +01:00
unknown
1754c58d99 Post-merge fixes to make tests pass.
mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
  Fixing test file to use different positions depending
  on binlog format.
mysql-test/suite/binlog/r/binlog_row_binlog.result:
  Result change.
mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result:
  Result change.
mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
  Result change.
mysql-test/suite/binlog/t/binlog_row_mix_innodb_myisam.test:
  Removing part of test that does not work any more.
mysql-test/suite/binlog/t/binlog_stm_mix_innodb_myisam.test:
  Removing part of test that does not work any more.
mysql-test/suite/rpl_ndb/r/rpl_ndb_transaction.result:
  Result change.
mysql-test/suite/rpl_ndb/t/rpl_ndb_transaction.test:
  Dropping tables on both master and slave, and not only on slave.
2008-01-11 13:25:26 +01:00
unknown
c06d3d7071 Post-merge fixes to make binlog test suite pass.
mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
  Fixing test to use different positions depending on binlog format.
mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result:
  Result change.
mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
  Result change.
mysql-test/suite/binlog/t/binlog_row_mix_innodb_myisam.test:
  Removing part of test that does not work any more.
mysql-test/suite/binlog/t/binlog_stm_mix_innodb_myisam.test:
  Removing part of test that does not work any more.
2008-01-11 12:35:35 +01:00
unknown
a114ede24a Bug#33699: The UPDATE statement allows NULL as new value on a NOT NULL
columns (default datatype value is assigned).

The mysql_update function has been modified to generate
an error when trying to set a NOT NULL field to NULL rather than a warning
in the set_field_to_null_with_conversions function.



mysql-test/extra/rpl_tests/rpl_extraMaster_Col.test:
  Updated test case (for bug#33699).
mysql-test/include/ps_modify.inc:
  Updated test case (for bug#33699).
mysql-test/r/auto_increment.result:
  Updated test case (for bug#33699).
mysql-test/r/null.result:
  Updated test case (for bug#33699).
mysql-test/r/ps_2myisam.result:
  Updated test case (for bug#33699).
mysql-test/r/ps_3innodb.result:
  Updated test case (for bug#33699).
mysql-test/r/ps_4heap.result:
  Updated test case (for bug#33699).
mysql-test/r/ps_5merge.result:
  Updated test case (for bug#33699).
mysql-test/r/warnings.result:
  Updated test case (for bug#33699).
mysql-test/suite/ndb/r/ps_7ndb.result:
  Updated test case (for bug#33699).
mysql-test/suite/rpl/r/rpl_extraColmaster_innodb.result:
  Updated test case (for bug#33699).
mysql-test/suite/rpl/r/rpl_extraColmaster_myisam.result:
  Updated test case (for bug#33699).
mysql-test/suite/rpl/t/rpl_err_ignoredtable.test:
  Updated test case (for bug#33699).
mysql-test/t/auto_increment.test:
  Updated test case (for bug#33699).
mysql-test/t/null.test:
  Updated test case (for bug#33699).
mysql-test/t/warnings.test:
  Updated test case (for bug#33699).
sql/sql_update.cc:
  Bug#33699: The mysql_update function has been modified to generate
  an error when trying to set a NOT NULL field to NULL rather than
  a warning in the set_field_to_null_with_conversions function.
tests/mysql_client_test.c:
  Updated test case (for bug#33699).
2008-01-11 05:06:08 +04:00
unknown
8a757010d7 Merge kaamos.(none):/data/src/opt/mysql-5.0-opt
into  kaamos.(none):/data/src/opt/mysql-5.1-opt


client/mysql.cc:
  Auto merged
2008-01-10 22:33:29 +03:00
unknown
824ced465e Merge kaamos.(none):/data/src/mysql-5.1
into  kaamos.(none):/data/src/opt/mysql-5.1-opt


client/mysql.cc:
  Auto merged
client/mysqltest.c:
  Auto merged
sql/log.cc:
  Auto merged
sql/repl_failsafe.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_db.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
2008-01-10 20:44:23 +03:00
unknown
84762ce2cb Merge kaamos.(none):/data/src/mysql-5.0
into  kaamos.(none):/data/src/opt/mysql-5.0-opt


client/mysql.cc:
  Auto merged
2008-01-10 20:43:05 +03:00
unknown
cd6dc10c46 Merge bk-internal.mysql.com:/data0/bk/mysql-5.0-opt
into  bk-internal.mysql.com:/data0/bk/mysql-5.1-opt


sql/filesort.cc:
  Auto merged
2008-01-10 18:03:26 +01:00
unknown
eb80c468c0 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/work/33675-bug-5.0-opt-mysql
2008-01-10 19:23:36 +03:00
unknown
1a8bcceb2d filesort.cc:
Bug#33675: Usage of an uninitialized memory by filesort in a subquery caused
  server crash.
  Free smaller buffer before allocating bigger one.


sql/filesort.cc:
  Bug#33675: Usage of an uninitialized memory by filesort in a subquery caused
  server crash.
  Free smaller buffer before allocating bigger one.
2008-01-10 18:54:34 +03:00
unknown
3a6e84a2b3 BUG#27779: Slave cannot read old rows log events.
Problem: Replication fails when master is mysql-5.1-wl2325-5.0-drop6 and
slave is mysql-5.1-new-rpl. The reason is that, in
mysql-5.1-wl2325-5.0-drop6, the event type id's were different than in
mysql-5.1-new-rpl.
Fix (in mysql-5.1-new-rpl):
 (1) detect that the server that generated the events uses the old
format, by checking the server version of the format_description_log_event
This patch recognizes mysql-5.1-wl2325-5.0-drop6p13-alpha,
mysql-5.1-wl2325-5.0-drop6, mysql-5.1-wl2325-5.0, mysql-5.1-wl2325-no-dd.
 (2) if the generating server is old, map old event types to new event
types using a permutation array.

I've also added a test case which reads binlogs for four different
versions.


mysql-test/suite/binlog/std_data/binlog_old_version_5_1-telco.000001:
  BitKeeper file /home/sven/bk/b27779-old_row_events/5.1-new-rpl/mysql-test/suite/binlog/std_data/binlog_old_version_5_1-telco.000001
mysql-test/suite/binlog/std_data/binlog_old_version_5_1-wl2325_row.000001:
  BitKeeper file /home/sven/bk/b27779-old_row_events/5.1-new-rpl/mysql-test/suite/binlog/std_data/binlog_old_version_5_1-wl2325_row.000001
mysql-test/suite/binlog/std_data/binlog_old_version_5_1-wl2325_stm.000001:
  BitKeeper file /home/sven/bk/b27779-old_row_events/5.1-new-rpl/mysql-test/suite/binlog/std_data/binlog_old_version_5_1-wl2325_stm.000001
mysql-test/suite/binlog/std_data/binlog_old_version_5_1_17.000001:
  BitKeeper file /home/sven/bk/b27779-old_row_events/5.1-new-rpl/mysql-test/suite/binlog/std_data/binlog_old_version_5_1_17.000001
mysql-test/suite/binlog/std_data/binlog_old_version_5_1_23.000001:
  BitKeeper file /home/sven/bk/b27779-old_row_events/5.1-new-rpl/mysql-test/suite/binlog/std_data/binlog_old_version_5_1_23.000001
sql/log_event.cc:
  Added code to read events generated by
  mysql-5.1-wl2325-5.0-drop6p13-alpha, mysql-5.1-wl2325-5.0-drop6,
  mysql-5.1-wl2325-5.0, mysql-5.1-wl2325-no-dd.
  More precisely, the event type id's had different numbers in
  those versions. To fix, we add a permutation array which maps old_id to
  new_id when the format_description_log_event indicates that the
  originating server is of the old type. We also need to permute the
  post_header_len array accordingly.
sql/log_event.h:
  sql/log_event.h@1.169, 2008-01-09 11:34:37+01:00, sven@riska.(none) +5 -1
  Added declaration needed in log_event.cc. Also, the destructor of
  Format_description_log_event is sometimes called when post_header_len is
  null, so we must pass the MY_ALLOW_ZERO_PTR flag to my_free.
mysql-test/suite/binlog/r/binlog_old_versions.result:
  Result file for new test.
mysql-test/suite/binlog/t/binlog_old_versions.test:
  New test case that loads binlogs from several old versions.
2008-01-10 16:39:44 +01:00
unknown
0c49363d1e Post-merge fix after merging 5.0 -> 5.1. Replaced 'byte' with 'uchar'. 2008-01-10 15:07:55 +03:00
unknown
1040bea9ae Merge kaamos.(none):/data/src/opt/mysql-5.0-opt
into  kaamos.(none):/data/src/opt/mysql-5.1-opt


sql/field.h:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/item_timefunc.h:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
mysql-test/r/subselect.result:
  Manual merge.
mysql-test/t/subselect.test:
  Manual merge.
sql/filesort.cc:
  Manual merge.
2008-01-10 14:35:11 +03:00
unknown
dafd3f439c Merge kaamos.(none):/data/src/opt/mysql-4.1-opt
into  kaamos.(none):/data/src/opt/mysql-5.0-opt


sql/set_var.cc:
  Auto merged
2008-01-10 14:01:25 +03:00
unknown
3869d3630a Merge kaamos.(none):/data/src/opt/bug33305/my51-bug33305
into  kaamos.(none):/data/src/opt/mysql-5.1-opt


mysql-test/r/union.result:
  Auto merged
mysql-test/t/union.test:
  Auto merged
sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/item.cc:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/item_timefunc.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
2008-01-10 13:46:34 +03:00
unknown
7085583c51 Merge kaamos.(none):/data/src/opt/bug33305/my50-bug33305
into  kaamos.(none):/data/src/opt/mysql-5.0-opt
2008-01-10 13:45:11 +03:00
unknown
10909bf44b Merge kaamos.(none):/data/src/opt/bug33305/my50-bug33305
into  kaamos.(none):/data/src/opt/bug33305/my51-bug33305


mysql-test/r/cast.result:
  Auto merged
mysql-test/r/type_date.result:
  Auto merged
mysql-test/r/union.result:
  Auto merged
mysql-test/t/cast.test:
  Auto merged
mysql-test/t/skip_grants.test:
  Auto merged
mysql-test/t/type_date.test:
  Auto merged
mysql-test/t/union.test:
  Auto merged
sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/item.cc:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/item_timefunc.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
mysql-test/r/skip_grants.result:
  Manual merge.
2008-01-10 13:37:54 +03:00
unknown
3dba2ea82a Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/work/33675-bug-5.0-opt-mysql
2008-01-09 23:19:46 +03:00