Commit graph

57097 commits

Author SHA1 Message Date
Narayanan V
92aee5a6c6 Bug#37631 Incorrect key file for table after upgrading from 5.0 to 5.1
The conformance checker was not taking into
account, and, making concessions for acceptable
incompatibilites in tables created by
versions earlier than 4.1.

The current patch relaxes the conformance
checker to ignore differences in key_alg
and language for tables created by versions
earlier than 4.1.

storage/myisam/ha_myisam.cc:
  Modify check_definition to ignore differences
  in key_alg and language for tables created
  by versions earlier than 4.1.
2009-04-08 12:25:19 +05:30
Satya B
440858b816 merge to latest 5.1-bugteam 2009-04-07 18:44:37 +05:30
Satya B
55a149f29d merge to latest 5.0-bugteam 2009-04-07 18:42:51 +05:30
Satya B
543abcd48e merge 5.0-bugteam to 5.1-bugteam 2009-04-07 17:06:15 +05:30
Satya B
10350e2097 Fix for Bug #43973 - backup_myisam.test fails on 6.0-bugteam
The test started failing following the push for BUG#41541.
Some of the algorithms access bytes beyond the input data
and this can affect up to one byte less than "word size"
which is BITS_SAVED / 8. 
      
Fixed by adding (BITS_SAVED / 8) -1 bytes to buffer size
(i.e. Memory Segment #2) to avoid accessing un-allocated data.

myisam/mi_packrec.c:
  Fixed _mi_read_pack_info() method to allocate (BITS_SAVED/8) - 1 
  bytes to the Memory Segment #2
mysql-test/r/myisampack.result:
  Result file for BUG#43973
mysql-test/t/myisampack.test:
  Testcase for BUG#43973
2009-04-07 16:54:32 +05:30
Alexander Barkov
5847be8c9a Bug#42649 THR_LOCK_charset global mutex abused by InnoDB
The patch was originally proposed by Mikael and reviewed by Bar.
2009-04-07 11:48:38 +05:00
Tatiana A. Nurnberg
88a9e65ba6 Bug#43835: SHOW VARIABLES does not include 0 for slave_skip_errors
We didn't expect "error: no error", although this is
in fact a legitimate state (if something is erroneous
on the master, but not on the slave, e.g. INSERT fails
on master due to UNIQUE constraint which does not exist
on slave).

We now list the ignore for "0: no error" the same way
as any other ignore; moreover, if no or an empty
--slave-skip-errors is passed at start-up, we show
"OFF" instead of empty list, as intended. (The code
for that was there, but was only run for the empty-
argument case, even if it subsequently tested for
both conditions.) 

mysql-test/r/not_embedded_server.result:
  Show that passing no --slave-skip-errors results
  in "OFF" being shown as the variable's value. This
  test's "twin" (also not embedded, but setting
  --slave-skip-errors in its -opt file) lives in
  variables-notembbeded.test.
mysql-test/r/variables-notembedded.result:
  Show that error-ignore 0 is handled just like any other
  ignore. This test's "twin" (also not embedded, but not
  setting --slave-skip-errors in its -opt file) lives in
  not_embbeded_server.test.
mysql-test/t/not_embedded_server.test:
  Show that passing no --slave-skip-errors results
  in "OFF" being shown as the variable's value.
mysql-test/t/variables-notembedded-master.opt:
  Show that error-ignore 0 is handled just like any other
  ignore.
sql/slave.cc:
  - set up error-ignore-info even if --slave-skip-errors
    was not passed at start-up.
  
  - handle error 0 just like any other error.
2009-04-06 13:42:33 +02:00
Satya B
58fa483a20 merge 5.0-bugteam to 5.1-bugteam 2009-04-06 12:31:17 +05:30
Alfranio Correia
e0d74efd85 merge 5.1-bugteam --> 5.1-bugteam (local) 2009-04-06 01:22:34 +01:00
Alfranio Correia
f9338b318e BUG#39393 slave-skip-errors does not work when using ROW based replication
RBR was not considering the option --slave-skip-errors.
                              
To fix the problem, we are reporting the ignored ERROR(s) as warnings thus avoiding 
stopping the SQL Thread. Besides, it fixes the output of "SHOW VARIABLES LIKE 
'slave_skip_errors'" which was showing nothing when the value "all" was assigned 
to --slave-skip-errors.
                  
@sql/log_event.cc
  skipped rbr errors when the option skip-slave-errors is set.
@sql/slave.cc
  fixed the output of for SHOW VARIABLES LIKE 'slave_skip_errors'"
@test-cases
  fixed the output of rpl.rpl_idempotency
  updated the test case rpl_skip_error
2009-04-05 13:03:04 +01:00
Serge Kozlov
a81e21f8a4 Bug#37716.
1. Test case was rewritten completely.
2. Test covers 3 cases:
 a) do deadlock on slave, wait retries of transaction, unlock slave before lock
timeout;
 b) do deadlock on slave and wait error 'lock timeout exceed' on slave;
 c) same as b) but if of max relay log size = 0;
3. Added comments inline.
4. Updated result file.
2009-04-04 01:33:13 +04:00
Davi Arnaut
54bf80b633 Merge Bug#43230 into mysql-5.1-bugteam 2009-04-03 16:46:00 -03:00
Davi Arnaut
72e978828e Bug#43230: SELECT ... FOR UPDATE can hang with FLUSH TABLES WITH READ LOCK indefinitely
The problem is that a SELECT .. FOR UPDATE statement might open
a table and later wait for a impeding global read lock without
noticing whether it is holding a table that is being waited upon
the the flush phase of the process that took the global read
lock.

The same problem also affected the following statements:

LOCK TABLES .. WRITE
UPDATE .. SET (update and multi-table update)
TRUNCATE TABLE ..
LOAD DATA ..

The solution is to make the above statements wait for a impending
global read lock before opening the tables. If there is no
impending global read lock, the statement raises a temporary
protection against global read locks and progresses smoothly
towards completion.

Important notice: the patch does not try to address all possible
cases, only those which are common and can be fixed unintrusively
enough for 5.0.

mysql-test/r/lock_multi.result:
  Add test case result for Bug#43230
mysql-test/t/lock_multi.test:
  Add test case for Bug#43230
sql/sql_lex.cc:
  Initialize flag.
sql/sql_lex.h:
  Add a flag to the lexer.
sql/sql_parse.cc:
  Wait for the global read lock is a write lock is going to be
  taken. The wait is done before opening tables.
sql/sql_yacc.yy:
  Protect against the GRL if its a SELECT .. FOR UPDATE or LOCK TABLES
  .. WRITE statement.
2009-04-03 16:11:54 -03:00
Guangbao Ni
102de8f5c3 AutoMerged from pushbuild mysql-5.1-bugteam 2009-04-03 18:42:00 +00:00
Guangbao Ni
173d29536d BUG#42640 mysqld crashes when unsafe statements are executed (STRICT_TRANS_TABLESmode)
Mysql server crashes because unsafe statements warning is wrongly elevated to error,
which is set the error status of Diagnostics_area of the thread in THD::binlog_query().
Yet the caller believes that binary logging shouldn't touch the status, so it will
set the status also later by my_ok(), my_error() or my_message() seperately
according to the execution result of the statement or transaction.
But the status of Diagnostics_area of the thread is allowed to set only once.

Fixed to clear the error wrongly set by binary logging, but keep the warning message.

mysql-test/suite/binlog/r/binlog_stm_ps.result:
  Change unsafe warning to NOTE level
mysql-test/suite/binlog/r/binlog_unsafe.result:
  Test case result for unsafe statements to ensure mysql sever don't crash
mysql-test/suite/binlog/t/binlog_unsafe.test:
  Test case for unsafe statements to ensure mysql sever don't crash
mysql-test/suite/rpl/r/rpl_skip_error.result:
  Change unsafe warning to NOTE level
mysql-test/suite/rpl/r/rpl_stm_loadfile.result:
  Change unsafe warning to NOTE level
mysql-test/suite/rpl/r/rpl_udf.result:
  Change unsafe warning to NOTE level
sql/sql_class.cc:
  the error status of the thread is cleared When a warning is elevated to an error
  because of unsafe warning of binary log.
2009-04-03 18:21:57 +00:00
Horst Hunger
92ea1722c0 Fix belonging to bug#42838: Though this bug is only for 6.0 I put in some updated result files for 6.0 and this are the corrsponding resul files for 5.1, so that sys_vars should then run successfully also in 5.1. 2009-04-03 11:37:48 +02:00
Patrick Crews
43ccae8ea0 merge 2009-04-02 18:41:01 -04:00
Patrick Crews
05c9b0c396 Bug#43716: Test mysqlbinlog_row_big is failing, needs to be updated
Altered the test to accommodate the new behavior of max_allowed_packet.
Had to disconnect / reconnect the default connection for the new value to register.
Re-enabled certain parts of the test that were commented out and added
some setup / cleanup code to ensure proper reset of max_allowed_packet at the end of the test.

Re-recorded the .result file to account for changes to the test.
2009-04-02 18:34:18 -04:00
Chad MILLER
56d421e478 Merge revert of bug32136 into 5.1. 2009-04-02 15:42:29 -04:00
Chad MILLER
02f8ec4d76 Bug#43876: mysqld_multi introduces --no-defaults which screws up my system
Bug#32136: mysqld_multi --defaults-file not respected while using \
	--mysqld=mysqld_safe

Revert change that adds "--no-defaults" to mysqld_multi.

This closes Bug#43508 and re-opens Bug#32136.
2009-04-02 11:29:28 -04:00
Satya B
b1d74c9b5c merge to 5.0-bugteam 2009-04-02 14:30:44 +05:30
Timothy Smith
ff9803acea auto-merge 2009-04-02 02:37:20 -06:00
Alexander Nozdrin
b317801959 Patch for Bug#38741: main.innodb_mysql crashes randomly (2).
It was a test case problem: one 'reap' statement was forgotten.
2009-04-02 12:21:51 +04:00
Timothy Smith
8e0dca5be8 merge -5.0 into -5.1 (minor conflicts resolved) 2009-04-01 23:19:04 -06:00
Timothy Smith
f52e40cff0 auto-merge -build into -bugteam 2009-04-01 22:02:46 -06:00
Timothy Smith
ccbd4c0451 auto-merge -build into -bugteam 2009-04-01 22:02:04 -06:00
Ignacio Galarza
209da010e7 Bug#29248 - MyISAMchk & MyISAMpack failing with * wildcard on Windows platform
- Link against setargv.obj for wild-card expansion.
2009-04-01 12:06:29 -04:00
Ignacio Galarza
4a9461f7af Bug#29248 - MyISAMchk & MyISAMpack failing with * wildcard on Windows platform
- Link against setargv.obj for wild-card expansion.
2009-04-01 12:03:45 -04:00
Bernt M. Johnsen
ac8081290e Bug 43355 merged from 5.1 gca 2009-04-01 14:45:04 +02:00
Bernt M. Johnsen
9dce2ccc4d bookkeeping 2009-04-01 14:42:43 +02:00
Bernt M. Johnsen
80ccfa46b8 bookkeeping 2009-04-01 14:41:46 +02:00
Bernt M. Johnsen
e40fe386ae Bug 43355 merged from 5.1 gca 2009-04-01 14:39:36 +02:00
Daniel Fischer
56122a8c11 merge 2009-04-01 14:19:42 +02:00
Gleb Shchepa
622b086725 null-merge 5.0-bugteam --> 5.1-bugteam (backport of bug 37348 fix to 5.0) 2009-04-01 16:10:03 +05:00
Gleb Shchepa
02884a4d98 Backport bug #37348 fix 5.1 --> 5.0.
Original commentary:

Bug #37348: Crash in or immediately after JOIN::make_sum_func_list
            
The optimizer pulls up aggregate functions which should be aggregated in
an outer select. At some point it may substitute such a function for a field
in the temporary table. The setup_copy_fields function doesn't take this
into account and may overrun the copy_field buffer.
            
Fixed by filtering out the fields referenced through the specialized
reference for aggregates (Item_aggregate_ref).
Added an assertion to make sure bugs that cause similar discrepancy 
don't go undetected.


mysql-test/r/func_group.result:
  Backport bug #37348 fix 5.1 --> 5.0.
mysql-test/t/func_group.test:
  Backport bug #37348 fix 5.1 --> 5.0.
sql/item.cc:
  Backport bug #37348 fix 5.1 --> 5.0.
sql/item.h:
  Backport bug #37348 fix 5.1 --> 5.0.
sql/sql_select.cc:
  Backport bug #37348 fix 5.1 --> 5.0.
2009-04-01 16:02:26 +05:00
Georgi Kodinov
3bb9a70f4f auto merge 2009-04-01 13:03:53 +03:00
Georgi Kodinov
3030d351b4 auto merge 2009-04-01 13:00:21 +03:00
Georgi Kodinov
3346c5c9d3 merged 5.1-main -> 5.1-bugteam 2009-04-01 12:57:34 +03:00
Georgi Kodinov
01e647352d merged 5.0-main -> 5.0-bugteam 2009-04-01 12:50:27 +03:00
Bernt M. Johnsen
b63460a938 Bug 43355 Prepared for commit on 5.1 gca 2009-04-01 10:58:55 +02:00
Sergey Glukhov
b46dc9ca4d Bug#43183 ExctractValue() brings result list in missorder
The problem is that XML functions(items) do not reset null_value
before their execution and further item excution may use
null_value value of the previous result.
The fix is to reset null_value.


mysql-test/r/xml.result:
  test result
mysql-test/t/xml.test:
  test case
sql/item_xmlfunc.cc:
  The problem is that XML functions(items) do not reset null_value
  before their execution and further item excution may use
  null_value value of the previous result.
  The fix is to reset null_value.
2009-04-01 13:40:33 +05:00
Ramil Kalimullin
968069d845 Fix for bug#42944: partition not pruned correctly
Problem: we don't prune a LESS THAN partition if MAXVALUE is given and
given value is equal to a LESS THAN value.

Fix: prune partitions in such cases.


mysql-test/r/partition.result:
  Fix for bug#42944: partition not pruned correctly
    - test result.
mysql-test/t/partition.test:
  Fix for bug#42944: partition not pruned correctly
    - test case.
sql/sql_partition.cc:
  Fix for bug#42944: partition not pruned correctly
    - prune partition if given value is equal to a LESS THAN value
      and it's not a "PARTITION ... LESS THAN MAXVALUE" one.
2009-04-01 10:34:59 +05:00
Ignacio Galarza
b334dd443a Bug#29248 MyISAMchk & MyISAMpack failing with * wildcard on Windows platform 2009-03-31 18:17:42 -04:00
Ignacio Galarza
f8acc70aac Bug#29248 - MyISAMchk & MyISAMpack failing with * wildcard on Windows platform
- Link against setargv.obj for wild-card expansion.
2009-03-31 17:48:45 -04:00
Daniel Fischer
af8393a6a6 Bug#34521, removed a bunch of deprecated options from template my.cnf files.
Merged from 5.0 version of this patch:
- Removed entire isamchk section. Support for ISAM tables was removed in 5.0.
- Replaced key_buffer with key_buffer_size (correct spelling).
- Removed skip-bdb, as BDB is no longer included in 5.0 and above.
- Removed commented-out bdb_cache_size and bdb_max_lock for the same reason.
- Removed commented-out innodb_log_arch_dir, deprecated in 5.0.24.
- Removed myisam_max_extra_sort_file_size, deprecated in 5.0.6. 
- Removed log_long_format, deprecated in 4.1.
- Replaced default_table_type with default-storage-engine.
New in 5.1:
- Replaced table_cache with table_open_cache.
- Removed skip-federated, should have been in 5.0 only.
- Replaced log_slow_queries with slow_query_log, deprecated in 5.1.29.
2009-03-31 16:04:01 +02:00
Staale Smedseng
ab958ee0bd Bug #39852 bug in mysql_setpermission
mysql_setpermission is modified to honor the $db 
variable as suggested when doing a REVOKE ALL for 
menu option 7.
2009-03-31 12:59:22 +02:00
Daniel Fischer
c07354b5dc Bug#34521, removed a bunch of deprecated options from template my.cnf files:
- Removed entire isamchk section. Support for ISAM tables was removed in 5.0.
- Replaced key_buffer with key_buffer_size (correct spelling).
- Removed skip-bdb, as BDB is no longer included in 5.0 and above.
- Removed commented-out bdb_cache_size and bdb_max_lock for the same reason.
- Removed commented-out innodb_log_arch_dir, deprecated in 5.0.24.
- Removed myisam_max_extra_sort_file_size, deprecated in 5.0.6. 
- Removed log_long_format, deprecated in 4.1.
- Replaced default_table_type with default-storage-engine.
2009-03-31 11:54:48 +02:00
Bernt M. Johnsen
c517fc2b00 Bug 43355 Prepared for commit on 5.0 gca 2009-03-31 10:38:33 +02:00
Matthias Leich
497b8c2df9 AUtomatic merge, no conflicts, no modifications of files 2009-03-30 16:21:30 +02:00
Matthias Leich
993239ec2e merge of fix for bug 43383 into actual tree 2009-03-30 16:12:27 +02:00