Commit graph

26 commits

Author SHA1 Message Date
unknown
3e4f834dfb Fixed bug #26159.
A wrong order of statements in QUICK_GROUP_MIN_MAX_SELECT::reset
caused a crash when a query with DISTINCT was executed by a loose scan
for an InnoDB table that had been emptied. 


mysql-test/r/innodb_mysql.result:
  Added a test case for bug #26159.
mysql-test/t/innodb_mysql.test:
  Added a test case for bug #26159.
sql/opt_range.cc:
  Fixed bug #26159.
  A wrong order of statements in QUICK_GROUP_MIN_MAX_SELECT::reset
  caused a crash when a query with DISTINCT was executed by a loose scan
  for an InnoDB table that had been emptied. 
  For an empty table quick_prefix_select->reset() was not called at all
  and thus some important initialization steps were missing.
2007-02-10 23:55:56 -08:00
unknown
47b0a0b089 Added innodb_rollback_on_timeout option to restore the 4.1
InnoDB timeout behavior (Bug #24200)


mysql-test/t/innodb_mysql-master.opt:
  Set --innodb-lock-wait-timeout=2, since test for bug #24200 times out.
  
  This *could* cause random test failures if some long-running transaction concurrency is being tested.  However, such a test really should go in innodb-big or some other test file.
2006-12-19 16:57:51 -07:00
unknown
6215085143 Merge neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint


client/mysql.cc:
  Auto merged
mysql-test/lib/mtr_process.pl:
  Auto merged
mysql-test/t/ps.test:
  Auto merged
mysys/my_lock.c:
  Auto merged
sql/handler.cc:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/table.cc:
  Auto merged
tests/mysql_client_test.c:
  Auto merged
configure.in:
  Manual merge
myisam/sort.c:
  Manual merge(double checked)
mysql-test/r/innodb_mysql.result:
  Manual merge
mysql-test/t/innodb_mysql.test:
  Manual merge
mysys/mf_iocache.c:
  Manual merge
2006-11-03 16:18:32 +01:00
unknown
f0364b7b84 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-maint


mysql-test/r/innodb_mysql.result:
  Auto merged
mysql-test/r/view.result:
  Auto merged
mysql-test/t/ctype_utf8.test:
  Auto merged
mysql-test/t/im_daemon_life_cycle.imtest:
  Auto merged
mysql-test/t/innodb_mysql.test:
  Auto merged
mysql-test/t/sp-error.test:
  Auto merged
mysql-test/t/sp.test:
  Auto merged
mysql-test/t/view.test:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sp.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_trigger.cc:
  Auto merged
sql/sql_union.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/table.cc:
  Auto merged
tests/mysql_client_test.c:
  Auto merged
mysql-test/mysql-test-run.pl:
  Manual merge.
mysql-test/r/ps.result:
  Manual merge.
mysql-test/t/ps.test:
  Manual merge.
2006-11-02 17:39:52 -05:00
unknown
e1a722b2d3 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-4.1-maint


configure.in:
  Auto merged
mysql-test/t/ps.test:
  Auto merged
sql/handler.cc:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/table.cc:
  Auto merged
tests/mysql_client_test.c:
  Auto merged
myisam/sort.c:
  Manual merge.
mysql-test/r/innodb_mysql.result:
  Manual merge.
mysql-test/t/innodb_mysql.test:
  Manual merge.
mysys/mf_iocache.c:
  Manual merge.
2006-11-02 17:27:42 -05:00
unknown
e948c64ff5 Improve comments around FLUSH STATUS
It's not possible to flush the global status variables in 5.0
Update test case so it works by recording the value of handle_rollback
before and compare it to the value after


mysql-test/r/innodb_mysql.result:
  Update result file
mysql-test/t/innodb_mysql.test:
  It's not possible to reset the global status variables in 5.0 so intead its value
  is recorded and compared to the after value.
  It should not have changed.
sql/mysqld.cc:
  Improve comments
sql/set_var.cc:
  Improve comments
sql/sql_class.cc:
  Improve comments
sql/sql_class.h:
  Improve comments
2006-10-30 13:35:57 +01:00
unknown
853fb1ebfe Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug18819


mysql-test/r/innodb_mysql.result:
  Auto merged
mysql-test/t/innodb_mysql.test:
  Auto merged
sql/sql_delete.cc:
  Auto merged
2006-10-25 20:16:39 +04:00
unknown
e171a36efb Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.1-bug18819
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug18819


mysql-test/r/innodb_mysql.result:
  Manual merge.
mysql-test/t/innodb_mysql.test:
  Manual merge.
sql/sql_delete.cc:
  Manual merge.
2006-10-25 20:00:51 +04:00
unknown
e3d49f0c3f BUG#18819: DELETE IGNORE hangs on foreign key parent delete
If the error happens during DELETE IGNORE, nothing could be send to the
client, thus leaving it frozen expecting the reply.

The problem was that if some error occurred, it wouldn't be reported to
the client because of IGNORE, but neither success would be reported.

MySQL 4.1 would not freeze the client, but will report

  ERROR 1105 (HY000): Unknown error

instead, which is also a bug.

The solution is to report success if we are in DELETE IGNORE and some
non-fatal error has happened.


mysql-test/r/innodb_mysql.result:
  Add result for bug#18819: DELETE IGNORE hangs on foreign key parent
  delete.
mysql-test/t/innodb_mysql.test:
  Add test case for bug#18819: DELETE IGNORE hangs on foreign key parent
  delete.
sql/sql_delete.cc:
  Report success if we have got an error, but we are in DELETE IGNORE, and
  the error is not fatal (if it is, it would be reported to the client).
2006-10-25 19:53:26 +04:00
unknown
d4bfae38ac Merge siva.hindu.god:/usr/home/tim/m/bk/g50
into  siva.hindu.god:/usr/home/tim/m/bk/50


configure.in:
  Auto merged
mysql-test/r/rename.result:
  Auto merged
mysql-test/r/subselect.result:
  Auto merged
mysql-test/r/view.result:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
mysql-test/t/view.test:
  Auto merged
mysys/mf_iocache.c:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/opt_range.h:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/table.cc:
  Auto merged
myisam/sort.c:
  Manual merge
mysql-test/r/innodb_mysql.result:
  Manual merge
mysql-test/t/innodb_mysql.test:
  Manual merge
2006-10-24 14:42:08 -06:00
unknown
15a86d185d Merge neptunus.(none):/home/msvensson/mysql/bug22436/my50-bug22436
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint


mysql-test/r/innodb_mysql.result:
  Auto merged
mysql-test/t/innodb_mysql.test:
  Auto merged
mysql-test/t/sp.test:
  Auto merged
mysql-test/r/create.result:
  Merge
mysql-test/t/create.test:
  Merge
mysql-test/t/view.test:
  Remove the disable_warnings part as engine=innodb has been removed
2006-10-19 01:01:54 +02:00
unknown
b2bf4843c7 Merge shellback.(none):/home/msvensson/mysql/mysql-4.1-maint
into  shellback.(none):/home/msvensson/mysql/mysql-5.0-maint


client/mysql.cc:
  Auto merged
client/mysqldump.c:
  Auto merged
client/mysqltest.c:
  Auto merged
include/my_dbug.h:
  Auto merged
mysql-test/lib/mtr_cases.pl:
  Auto merged
mysql-test/lib/mtr_report.pl:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/r/csv.result:
  Auto merged
mysql-test/r/func_time.result:
  Auto merged
mysql-test/t/csv.test:
  Auto merged
sql/field.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
mysql-test/r/innodb_mysql.result:
  Manual merge
mysql-test/t/func_time.test:
  Manual merge, test already there
mysql-test/t/innodb_mysql.test:
  Manual merge
2006-10-14 19:55:06 +02:00
unknown
72a997c0ea Merge polly.local:/tmp/maint/bug22728/my41-bug22728
into  polly.local:/home/kaa/src/maint/m41-maint--07OGk


sql/handler.cc:
  Auto merged
mysql-test/r/innodb_mysql.result:
  Manually merged
mysql-test/t/innodb_mysql.test:
  Manually merged
2006-10-12 13:39:52 +04:00
unknown
ca126a2bbd Fix for bug #22728 "Handler_rollback value is growing".
The bug is present only in 4.1, will be null-merged to 5.0

For InnoDB, check value of thd->transaction.all.innodb_active_trans instead of thd->transaction.stmt.innobase_tid to see if we really need to rollback.


mysql-test/r/innodb_mysql.result:
  Added testcase for bug #22728 "Handler_rollback value is growing"
mysql-test/t/innodb_mysql.test:
  Added testcase for bug #22728 "Handler_rollback value is growing"
sql/handler.cc:
  For InnoDB, check value of thd->transaction.all.innodb_active_trans instead of thd->transaction.stmt.innobase_tid to see if we really need to rollback.
2006-10-11 12:44:03 +04:00
unknown
45cad70ff4 Bug #22781: SQL_BIG_RESULT fails to influence sort plan
Currently SQL_BIG_RESULT is checked only at compile time.
 However, additional optimizations may take place after
 this check that change the sort method from 'filesort'
 to sorting via index. As a result the actual plan
 executed is not the one specified by the SQL_BIG_RESULT
 hint. Similarly, there is no such test when executing
 EXPLAIN, resulting in incorrect output.
 The patch corrects the problem by testing for
 SQL_BIG_RESULT both during the explain and execution
 phases.


mysql-test/r/bdb.result:
  Bug #22781: SQL_BIG_RESULT fails to influence sort plan
   - updated sql_big_result testcase
mysql-test/r/group_by.result:
  Bug #22781: SQL_BIG_RESULT fails to influence sort plan
   - test case with MyISAM
mysql-test/r/innodb.result:
  Bug #22781: SQL_BIG_RESULT fails to influence sort plan
   - updated sql_big_result testcase
mysql-test/r/innodb_mysql.result:
  Bug #22781: SQL_BIG_RESULT fails to influence sort plan
   - test case with InnoDB
mysql-test/r/myisam.result:
  Bug #22781: SQL_BIG_RESULT fails to influence sort plan
   - updated sql_big_result testcase
mysql-test/t/group_by.test:
  Bug #22781: SQL_BIG_RESULT fails to influence sort plan
   - test case with MyISAM
mysql-test/t/innodb_mysql.test:
  Bug #22781: SQL_BIG_RESULT fails to influence sort plan
   - test case with InnoDB
sql/sql_select.cc:
  Bug #22781: SQL_BIG_RESULT fails to influence sort plan
   - When SQL_BIG_RESULT is specified, disable the optimization performed
  at execution/explain time that decides to use an index instead
  of filesort.
2006-10-09 19:51:41 +04:00
unknown
d8d57c77b1 Bug#22436 Four tests require "innodb" to be configured, fail in "classic" build
- Disable warnings when creating the "innodb" tables if it works anyway.
 - Move test that are really innodb dependent to innodb_mysql 


mysql-test/r/create.result:
  Move the innodb dependent test to innodb_mysql.test
mysql-test/r/innodb_mysql.result:
  Move the innodb dependent test to innodb_mysql.test
mysql-test/t/create.test:
  Move the innodb dependent test to innodb_mysql.test
mysql-test/t/innodb_mysql.test:
  Move the innodb dependent test to innodb_mysql.test
mysql-test/t/lock_multi.test:
  Disable warnings while creating the innodb table. If innodb is not available, the table will be created with default engine and thus create a warning. Regardless of this, test output should be the same.
mysql-test/t/sp.test:
  Disable warnings while creating the innodb table. If innodb is not available, the table will be created with default engine and thus create a warning. Regardless of this, test output should be the same.
mysql-test/t/view.test:
  Disable warnings while creating the innodb table. If innodb is not available, the table will be created with default engine and thus create a warning. Regardless of this, test output should be the same.
2006-09-28 15:13:40 +02:00
unknown
d2fa8e3a8d Fix by Georgi Kodinov:
Bug #18744 Test 'join_outer' fails if "classic" configuration in 5.0
 - moved an InnoDB dependent test to the appropriate file


mysql-test/r/innodb_mysql.result:
  Bug #18744 Test 'join_outer' fails if "classic" configuration in 5.0
   - moved an InnoDB dependent test to the appropriate file
mysql-test/r/join_outer.result:
  Bug #18744 Test 'join_outer' fails if "classic" configuration in 5.0
   - moved an InnoDB dependent test to the appropriate file
mysql-test/t/innodb_mysql.test:
  Bug #18744 Test 'join_outer' fails if "classic" configuration in 5.0
   - moved an InnoDB dependent test to the appropriate file
mysql-test/t/join_outer.test:
  Bug #18744 Test 'join_outer' fails if "classic" configuration in 5.0
   - moved an InnoDB dependent test to the appropriate file
2006-08-21 14:20:03 +04:00
unknown
4ed157ee86 BUG#21077: 4.1->5.0 merge 2006-08-15 21:16:02 +04:00
unknown
9907e970ae BUG#21077: Possible crash caused by invalid sequence of handler::* calls:
The crash was caused by invalid sequence of handler::** calls:                                                           
  ha_smth->index_init();                                                                                                 
  ha_smth->index_next_same(); (2)                                                                                        
(2) is an invalid call as it was not preceeded by any 'scan setup' call
like index_first() or index_read(). The cause was that QUICK_SELECT::reset()
didn't "fully reset" the quick select- current QUICK_RANGE wasn't forgotten,
and quick select might attempt to continue reading the range, which would
result in the above mentioned invalid sequence of handler calls.

5.x versions are not affected by the bug - they already have the missing
"range=NULL" clause.                                                    
                                                       


mysql-test/r/innodb_mysql.result:
  Testcase for BUG#21077
mysql-test/t/innodb_mysql.test:
  Testcase for BUG#21077
sql/opt_range.h:
  BUG#21077: Possible crash caused by invalid sequence of handler::* calls:                                              
   - Make QUICK_SELECT::reset() really reset the quick select
2006-08-15 20:33:14 +04:00
unknown
4f580b3e43 Merge macbook.gmz:/Users/kgeorge/mysql/work/B17212-4.1-opt
into  macbook.gmz:/Users/kgeorge/mysql/work/B17212-5.0-opt


mysql-test/r/innodb_mysql.result:
  Merge 4.1->5.0 for bug #17212
mysql-test/t/innodb_mysql.test:
  Merge 4.1->5.0 for bug #17212
sql/sql_select.cc:
  Merge 4.1->5.0 for bug #17212
2006-07-14 11:20:52 +03:00
unknown
4144543006 Bug #17212 results not sorted correctly by ORDER BY when using index
* don't use join cache when the incoming data set is already ordered
    for ORDER BY
    This choice must be made because join cache will effectively
    reverse the join order and the results will be sorted by the index
    of the table that uses join cache.


mysql-test/r/innodb_mysql.result:
  Bug #17212 results not sorted correctly by ORDER BY when using index
    * Test suite for the bug
mysql-test/t/innodb_mysql.test:
  Bug #17212 results not sorted correctly by ORDER BY when using index
    * Test suite for the bug
sql/sql_select.cc:
  Bug #17212 results not sorted correctly by ORDER BY when using index
    * don't use join cache when the incoming data set is already sorted
2006-07-12 10:57:38 +03:00
unknown
f112e407ea Bug #18742: Test 'group_min_max' fails if "classic" configuration in 5.0
Moved the InnoDB related tests to innodb_mysql


mysql-test/r/group_min_max.result:
  Moved innodb related tests out of group_min_max
mysql-test/r/innodb_mysql.result:
  Moved innodb related tests out of group_min_max
mysql-test/t/group_min_max.test:
  Moved innodb related tests out of group_min_max
mysql-test/t/innodb_mysql.test:
  Moved innodb related tests out of group_min_max
2006-05-23 16:43:01 +03:00
unknown
af3b08c585 Bug#18745: Test case 'func_group' fails if "classic" 5.0 configuration
Moved the InnoDB related test from func_group.test to innodb_mysql.test


mysql-test/r/func_group.result:
  Moved a test to innodb_mysql
mysql-test/r/innodb_mysql.result:
  moved a test to innodb_mysql
mysql-test/t/func_group.test:
  Moved a test to innodb_mysql
mysql-test/t/innodb_mysql.test:
  Moved a test to innodb_mysql
2006-05-22 16:10:53 +03:00
unknown
c13144722a BUG#16798: Inapplicable ref_or_null query plan and bad query result on random occasions
The bug was as follows: When merge_key_fields() encounters "t.key=X OR t.key=Y" it will 
try to join them into ref_or_null access via "t.key=X OR NULL". In order to make this 
inference it checks if Y<=>NULL, ignoring the fact that value of Y may be not yet known.

The fix is that the check if Y<=>NULL is made only if value of Y is known (i.e. it is a
constant).
TODO: When merging to 5.0, replace used_tables() with const_item() everywhere in merge_key_fields().


mysql-test/r/innodb_mysql.result:
  Testcase for BUG16798
mysql-test/t/innodb_mysql.test:
  Testcase for BUG16798
sql/sql_select.cc:
  BUG#16798: Inapplicable ref_or_null query plan and bad query result on random occasions 
  In merge_key_fields() don't call val->is_null() if the value of val is not known.
2006-05-06 13:15:00 +04:00
unknown
c2e6c898ac Make innodb_mysql produce a non-empty output.
mysql-test/r/innodb_mysql.result:
  Fix result.
2006-04-26 11:15:09 +04:00
unknown
a4c62dbb8a Files innodb.[test|result] are to be used by Innobase only.
Use files innodb_mysql.[test|result] instead.


mysql-test/t/innodb.test:
  This file is to be used by Innobase only.
mysql-test/r/innodb_mysql.result:
  New BitKeeper file ``mysql-test/r/innodb_mysql.result''
   Use this file instead of innodb.result.
mysql-test/t/innodb_mysql.test:
  New BitKeeper file ``mysql-test/t/innodb_mysql.test''
   Use this file instead of innodb.test.
2006-04-26 09:51:57 +04:00