Commit graph

49235 commits

Author SHA1 Message Date
unknown
4512a993c5 Merge gleb.loc:/home/uchum/work/bk/5.0-opt-30201
into  gleb.loc:/home/uchum/work/bk/5.1-opt


sql/sql_cache.cc:
  SCCS merged
2007-08-22 22:26:46 +05:00
unknown
891b1659fc Fixed bug #30201.
Killing a SELECT query with KILL QUERY or KILL CONNECTION
causes a server crash if the query cache is enabled.

Normal evaluation of a query may be interrupted by the
KILL QUERY/CONNECTION statement, in this case the mysql_execute_command
function returns TRUE, and the thd->killed flag has true value.
In this case the result of the query may
be cached incompletely (omitting call to query_cache_insert inside
the net_real_write function), and next call to query_cache_end_of_result
may lead to server crash.
Thus, the query_cache_end_of_result function has been modified to abort
query cache in the case of killed thread.



sql/sql_cache.cc:
  Fixed bug #30201.
  The  query_cache_end_of_result function has been modified to abort query
  cache in the case of query execution failure. Also this function has been
  modified to remove incomplete query block.
2007-08-22 18:15:54 +05:00
unknown
7dc348f4ca Merge gshchepa@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  gleb.loc:/home/uchum/work/bk/5.1-opt
2007-08-21 20:52:53 +05:00
unknown
89063a10e2 Merge gleb.loc:/home/uchum/work/bk/5.0-opt-30287
into  gleb.loc:/home/uchum/work/bk/5.1-opt


sql/item.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
sql/sql_select.cc:
  Merge with local tree.
2007-08-21 19:46:29 +05:00
unknown
4866a29b84 Merge mysql.com:/home/gluh/MySQL/Merge/5.0-opt
into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt


sql/sql_show.cc:
  Auto merged
2007-08-21 19:05:33 +05:00
unknown
42aa480b43 compiler warning fix 2007-08-21 18:59:42 +05:00
unknown
521529be29 Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt
2007-08-21 17:57:48 +05:00
unknown
fd7ff1d89f Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt
2007-08-21 17:57:09 +05:00
unknown
700c378618 Bug#27629 Possible security flaw in INFORMATION_SCHEMA and SHOW statements(addon for 5.1)
added TRIGGER_ACL check for I_S.TRIGGERS


mysql-test/r/information_schema.result:
  result fix
2007-08-21 17:55:49 +05:00
unknown
99dd4637d3 Merge gleb.loc:/home/uchum/work/bk/5.0-opt
into  gleb.loc:/home/uchum/work/bk/5.1-opt


sql/sql_base.cc:
  Auto merged
2007-08-21 16:40:38 +05:00
unknown
4a61b16b7c Merge gleb.loc:/home/uchum/work/bk/5.1
into  gleb.loc:/home/uchum/work/bk/5.1-opt


sql/sql_base.cc:
  Auto merged
2007-08-21 16:38:29 +05:00
unknown
a9322f2e57 Merge gleb.loc:/home/uchum/work/bk/5.0
into  gleb.loc:/home/uchum/work/bk/5.0-opt


sql/sql_base.cc:
  Auto merged
2007-08-21 16:31:30 +05:00
unknown
56a6c1d04d Merge gleb.loc:/home/uchum/work/bk/5.1
into  gleb.loc:/home/uchum/work/bk/5.1-opt
2007-08-21 16:16:50 +05:00
unknown
63a95f331a Merge gleb.loc:/home/uchum/work/bk/5.0
into  gleb.loc:/home/uchum/work/bk/5.0-opt
2007-08-21 16:14:46 +05:00
unknown
4dfb90d832 Merge mysql.com:/home/gluh/MySQL/Merge/5.0-opt
into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt


mysql-test/r/information_schema.result:
  Auto merged
mysql-test/r/information_schema_db.result:
  Auto merged
mysql-test/t/information_schema.test:
  after merge fix
sql/sql_show.cc:
  after merge fix
2007-08-21 16:01:47 +05:00
unknown
ee3e1a816e Merge gleb.loc:/home/uchum/work/bk/5.0-opt
into  gleb.loc:/home/uchum/work/bk/5.1-opt


sql/opt_range.cc:
  Auto merged
mysql-test/include/mix1.inc:
  Merge with 5.0-opt.
mysql-test/r/innodb_mysql.result:
  Merge with 5.0-opt.
tests/mysql_client_test.c:
  Merge with 5.0-opt.
2007-08-21 14:27:06 +05:00
unknown
7c3d5bc5c4 Fixed bug #30287.
The server created temporary tables for filesort in the working directory
instead of the specified tmpdir directory.


sql/item.cc:
  Fixed bug #30287.
  The Item_field::set_field method has been modified to reset the any_privileges
  flag to false in case of system temporary table. This modification prevents the
  server from unnecessary checking of user privileges to access system temporary
  tables.
sql/sql_select.cc:
  Fixed bug #30287.
  Bugfix for #29015 has been removed: TABLE_SHARE::table_name of system
  temporary tables contains full path to table file basename again.
sql/sql_view.cc:
  Fixed bug #30287.
  Commentary has been added.
2007-08-21 01:39:39 +05:00
unknown
d48e35b983 Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt
2007-08-20 11:25:45 +05:00
unknown
29ee5ed0a0 Bug#27629 Possible security flaw in INFORMATION_SCHEMA and SHOW statements
added SUPER_ACL check for I_S.TRIGGERS


mysql-test/r/information_schema.result:
  result fix
mysql-test/r/information_schema_db.result:
  result fix
mysql-test/t/information_schema.test:
  test case
sql/sql_show.cc:
  added SUPER_ACL check for I_S.TRIGGERS
2007-08-20 11:23:08 +05:00
unknown
0ece5608fc Bug #29307: status.test fails with different Table_locks_immediate
Finish premature patch which was accidentally pushed; remove debugging
info and correct the test.


mysql-test/r/status.result:
  Correct test results
mysql-test/t/status.test:
  Disable query log for one statement, and correct some comments
2007-08-18 02:28:08 -06:00
unknown
994625d64f Merge ramayana.hindu.god:/home/tsmith/m/bk/maint/50
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/51
2007-08-18 00:37:35 -06:00
unknown
92838cc448 Merge ramayana.hindu.god:/home/tsmith/m/bk/51
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/51
2007-08-18 00:36:18 -06:00
unknown
c68c271a5f Merge ramayana.hindu.god:/home/tsmith/m/bk/50
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/50
2007-08-18 00:35:41 -06:00
unknown
4f3c8e7723 Bug #29307: status.test fails with different Table_locks_immediate
When using --log --log-output=table, we increment Table_locks_immediate
with every query.  The wait_condition.inc runs a query a variable number
of times, depending on server load, etc.  This is a problem, when the
test is checking the Table_locks_immediate value.

Fix is to adjust the Table_locks_immediate value based on how many times
the wait_condition query was executed.


mysql-test/include/wait_condition.inc:
  Add a $wait_condition_reps variable, which lets the caller check how
  many times the wait_condition query was executed.
  
  This is used in the main.status test to adjust the value of
  Table_locks_immediate (it gets incremented with each query
  when --log --log-output=table).
mysql-test/t/status.test:
  Adjust Table_locks_immediate value based on how many times the
  wait_condition query had to run.
2007-08-17 19:29:08 -06:00
unknown
dc4a1ef8fd Minor fix to let the build proceed.
sql/rpl_rli.h:
  Adding missing forward declaration.
2007-08-17 13:22:31 +02:00
unknown
d3291762c3 Merge bk@192.168.21.1:mysql-5.1-opt
into  mysql.com:/home/hf/work/27405/my51-27405


sql/ha_partition.cc:
  Auto merged
2007-08-17 16:15:09 +05:00
unknown
dc4f704478 Merge kindahl-laptop.dnsalias.net:/home/bkroot/mysql-5.1-rpl
into  kindahl-laptop.dnsalias.net:/home/bk/fix-mysql-5.1-rpl


sql/ha_ndbcluster.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/log.h:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/log_event.cc:
  Manual merge.
2007-08-17 11:00:03 +02:00
unknown
92abaeee0c Merge olga.mysql.com:/home/igor/mysql-5.0-opt
into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug30396
2007-08-16 21:04:28 -07:00
unknown
0d9046ecaf Post-merge fix. 2007-08-16 19:27:44 -07:00
unknown
59a1154675 Merge olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug30396
into  olga.mysql.com:/home/igor/dev-opt/mysql-5.1-opt-bug30396


libmysql/libmysql.c:
  Auto merged
mysql-test/r/select.result:
  Auto merged
mysql-test/t/select.test:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
tests/mysql_client_test.c:
  Manual merge
2007-08-16 17:22:50 -07:00
unknown
8f8eab9c02 Empty changeset to restart pushbuild 2007-08-17 00:10:46 +02:00
unknown
430df009a0 Merge ramayana.hindu.god:/home/tsmith/m/bk/maint/50
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/51


sql/mysql_priv.h:
  Auto merged
sql/sql_base.cc:
  SCCS merged
sql/sql_handler.cc:
  SCCS merged
2007-08-16 12:03:49 -06:00
unknown
163420d2d7 Bug #29474: 21587 Regression Ever increasing open tables/fd when using HANDLER READ + DELETE
Revert the fix for bug 21587.  That bug will be re-opened, and a new
fix must be created.
2007-08-16 10:56:09 -06:00
unknown
51c9bbf449 Post-merge fix of error number 2007-08-16 17:26:32 +02:00
unknown
f4a163c3a5 Merge mhansson@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  dl145s.mysql.com:/data0/mhansson/my50-bug28570


sql/opt_range.cc:
  Auto merged
mysql-test/r/innodb_mysql.result:
  Bug#28570: Manual Merge
mysql-test/t/innodb_mysql.test:
  Bug#28570: Manual Merge
2007-08-16 14:13:07 +02:00
unknown
29393eafdb Minor code fixes to help Doxygen generate good documentation.
sql/rpl_rli.h:
  Removing redundant "class" keyword.
2007-08-16 11:43:03 +02:00
unknown
9a7658a3c2 Renaming MASTER_INFO to Master_info in order to follow the coding
standards (and help Doxygen generating good documentation).


sql/ha_ndbcluster.cc:
  Renaming MASTER_INFO to Master_info.
sql/log_event.cc:
  Renaming MASTER_INFO to Master_info.
sql/repl_failsafe.cc:
  Renaming MASTER_INFO to Master_info.
sql/repl_failsafe.h:
  Renaming MASTER_INFO to Master_info.
sql/rpl_mi.cc:
  Renaming MASTER_INFO to Master_info.
sql/rpl_mi.h:
  Renaming MASTER_INFO to Master_info.
sql/rpl_rli.h:
  Renaming MASTER_INFO to Master_info.
sql/slave.cc:
  Renaming MASTER_INFO to Master_info.
sql/slave.h:
  Renaming MASTER_INFO to Master_info.
sql/sql_repl.cc:
  Renaming MASTER_INFO to Master_info.
sql/sql_repl.h:
  Renaming MASTER_INFO to Master_info.
2007-08-16 08:52:50 +02:00
unknown
044a4a3e06 Renaming RELAY_LOG_INFO and st_relay_log_info to follow coding standards
(and be more friendly to Doxygen by removing unnecessary typedefs).


sql/log.cc:
  Renaming struct st_relay_log_info to class Relay_log_info.
sql/log.h:
  Renaming struct st_relay_log_info to class Relay_log_info.
sql/log_event.cc:
  Renaming RELAY_LOG_INFO to Relay_log_info.
sql/log_event.h:
  Renaming struct st_relay_log_info to class Relay_log_info.
  Renaming RELAY_LOG_INFO to Relay_log_info.
  Removing typedef RELAY_LOG_INFO.
sql/log_event_old.cc:
  Renaming RELAY_LOG_INFO to Relay_log_info.
sql/log_event_old.h:
  Renaming RELAY_LOG_INFO to Relay_log_info.
sql/rpl_mi.h:
  Renaming RELAY_LOG_INFO to Relay_log_info.
sql/rpl_record.cc:
  Renaming RELAY_LOG_INFO to Relay_log_info.
sql/rpl_record.h:
  Renaming RELAY_LOG_INFO to Relay_log_info.
sql/rpl_record_old.cc:
  Renaming RELAY_LOG_INFO to Relay_log_info.
sql/rpl_record_old.h:
  Renaming RELAY_LOG_INFO to Relay_log_info.
sql/rpl_rli.cc:
  Renaming struct st_relay_log_info to class Relay_log_info.
  Renaming RELAY_LOG_INFO to Relay_log_info.
sql/rpl_rli.h:
  Renaming struct st_relay_log_info to class Relay_log_info.
  Renaming RELAY_LOG_INFO to Relay_log_info.
  Removing typedef RELAY_LOG_INFO.
sql/rpl_utility.cc:
  Renaming RELAY_LOG_INFO to Relay_log_info.
sql/rpl_utility.h:
  Renaming struct st_relay_log_info to class Relay_log_info.
  Renaming RELAY_LOG_INFO to Relay_log_info.
  Removing typedef RELAY_LOG_INFO.
sql/slave.cc:
  Renaming RELAY_LOG_INFO to Relay_log_info.
sql/slave.h:
  Renaming struct st_relay_log_info to class Relay_log_info.
  Renaming RELAY_LOG_INFO to Relay_log_info.
  Removing typedef RELAY_LOG_INFO.
sql/sql_binlog.cc:
  Renaming RELAY_LOG_INFO to Relay_log_info.
sql/sql_class.h:
  Renaming struct st_relay_log_info to class Relay_log_info.
  Renaming RELAY_LOG_INFO to Relay_log_info.
  Removing typedef RELAY_LOG_INFO.
sql/sql_repl.cc:
  Renaming RELAY_LOG_INFO to Relay_log_info.
2007-08-16 07:37:50 +02:00
unknown
e0f1a29ec4 Merge ramayana.hindu.god:/home/tsmith/m/bk/inno/aug13/50
into  ramayana.hindu.god:/home/tsmith/m/bk/inno/aug13/51


storage/innobase/fsp/fsp0fsp.c:
  Use local (null merge)
storage/innobase/handler/ha_innodb.cc:
  Use local (null merge)
storage/innobase/include/fsp0fsp.h:
  Use local (null merge)
storage/innobase/include/univ.i:
  Use local (null merge)
storage/innobase/log/log0recv.c:
  Use local (null merge)
storage/innobase/os/os0file.c:
  Use local (null merge)
storage/innobase/srv/srv0srv.c:
  Use local (null merge)
storage/innobase/trx/trx0trx.c:
  Use local (null merge)
2007-08-15 17:44:25 -06:00
unknown
05dd9e4987 NULL MERGE this ChangeSet to 5.1
Apply innodb-5.0-ss1696 snapshot

Fixes:
- Bug#20090: InnoDB: Error: trying to declare trx to enter InnoDB
- Bug#23710: crash_commit_before fails if innodb_file_per_table=1
  At InnoDB startup consider the case where log scan went beyond
  checkpoint_lsn as a crash and initiate crash recovery code path.
- Bug#28781: InnoDB increments auto-increment value incorrectly with ON DUPLICATE KEY UPDATE
  We need to do some special AUTOINC handling for the following case:
  INSERT INTO t (c1,c2) VALUES(x,y) ON DUPLICATE KEY UPDATE ...
  We need to use the AUTOINC counter that was actually used by
  MySQL in the UPDATE statement, which can be different from the
  value used in the INSERT statement.
- Bug#29097: fsp_get_available_space_in_free_extents() is capped at 4TB
  Fix by typecasting the variables before multiplying them, so that the
  result of the multiplication is of type "unsigned long long".
- Bug#29155: Innodb "Parallel recovery" is not prevented
  Fix by enabling file locking on FreeBSD.  It has been disabled because
  InnoDB has refused to start on FreeBSD & LinuxThreads, but now it
  starts just fine.


innobase/fsp/fsp0fsp.c:
  Apply innodb-5.0-ss1696 snapshot
  
  Revision r1614:
  branches/5.0:
  
  Merge r1605 from trunk:
  
  Fix Bug#29097 "fsp_get_available_space_in_free_extents() is capped at 4TB"
  by typecasting the variables before multiplying them, so that the result of
  the multiplication is of type "unsigned long long".
  
  I verified this fix by creating a sparse file of 6TB and forcing InnoDB to
  use it without overwriting it with zeroes (by commenting the code that
  overwrites :newraw files).
  
  New type ullint is introduced with the sole purpose of shortening
  "unsigned long long", please do not define it to something else than
  "unsigned long long".
  
  Approved by:	Heikki
innobase/include/fsp0fsp.h:
  Apply innodb-5.0-ss1696 snapshot
  
  Revision r1614:
  branches/5.0:
  
  Merge r1605 from trunk:
  
  Fix Bug#29097 "fsp_get_available_space_in_free_extents() is capped at 4TB"
  by typecasting the variables before multiplying them, so that the result of
  the multiplication is of type "unsigned long long".
  
  I verified this fix by creating a sparse file of 6TB and forcing InnoDB to
  use it without overwriting it with zeroes (by commenting the code that
  overwrites :newraw files).
  
  New type ullint is introduced with the sole purpose of shortening
  "unsigned long long", please do not define it to something else than
  "unsigned long long".
  
  Approved by:	Heikki
innobase/include/univ.i:
  Apply innodb-5.0-ss1696 snapshot
  
  Revision r1614:
  branches/5.0:
  
  Merge r1605 from trunk:
  
  Fix Bug#29097 "fsp_get_available_space_in_free_extents() is capped at 4TB"
  by typecasting the variables before multiplying them, so that the result of
  the multiplication is of type "unsigned long long".
  
  I verified this fix by creating a sparse file of 6TB and forcing InnoDB to
  use it without overwriting it with zeroes (by commenting the code that
  overwrites :newraw files).
  
  New type ullint is introduced with the sole purpose of shortening
  "unsigned long long", please do not define it to something else than
  "unsigned long long".
  
  Approved by:	Heikki
innobase/log/log0recv.c:
  Apply innodb-5.0-ss1696 snapshot
  
  Revision r1608:
  branches/5.0: Bug#23710
  Back port of r1607 from trunk
  
  At InnoDB startup consider the case where log scan went beyond checkpoint_lsn as a crash and initiate crash recovery code path.
  
  reviewed by: Heikki
innobase/os/os0file.c:
  Apply innodb-5.0-ss1696 snapshot
  
  Revision r1615:
  branches/5.0:
  
  Merge r1613 from trunk:
  
  Fix Bug#29155 by enabling file locking on FreeBSD.
  It has been disabled because InnoDB has refused to start on
  FreeBSD & LinuxThreads, but now it starts just fine.
  
  Approved by:	Heikki
innobase/srv/srv0srv.c:
  Apply innodb-5.0-ss1696 snapshot
  
  Revision r1552:
  branches/5.0:
  Fix Bug#20090 as suggested in the bug followup by Heikki.
  
  Approved by:	Heikki
innobase/trx/trx0trx.c:
  Apply innodb-5.0-ss1696 snapshot
  
  Revision r1596:
  branches/5.0: Merge r1595 from trunk:
  
  trx_commit_for_mysql(): Avoid acquiring and releasing kernel_mutex when
  trx->sess or trx_dummy_sess is non-NULL.
sql/ha_innodb.cc:
  Apply innodb-5.0-ss1696 snapshot
  
  Revision r1614:
  branches/5.0:
  
  Merge r1605 from trunk:
  
  Fix Bug#29097 "fsp_get_available_space_in_free_extents() is capped at 4TB"
  by typecasting the variables before multiplying them, so that the result of
  the multiplication is of type "unsigned long long".
  
  I verified this fix by creating a sparse file of 6TB and forcing InnoDB to
  use it without overwriting it with zeroes (by commenting the code that
  overwrites :newraw files).
  
  New type ullint is introduced with the sole purpose of shortening
  "unsigned long long", please do not define it to something else than
  "unsigned long long".
  
  Approved by:	Heikki
  
  
  Revision r1695:
  branches/5.0: Merge a change from MySQL AB:
  
  ChangeSet@1.2463.166.1  2007-06-20 19:22:27+03:00  monty@mysql.fi
  
  Allow multiple calls to mysql_server_end()
  (Part of fix for Bug 25621 Error in my_thread_global_end(): 1 threads
  didn't exit)
  Give correct error message if InnoDB table is not found
  (This allows us to drop a an innodb table that is not in the InnoDB registery)
  
  ha_innodb.cc:
    Give correct error message if InnoDB table is not found.
    (This allows us to drop a an innodb table that is not in the InnoDB
    registery)
  
  
  Revision r1606:
  branches/5.0: Formatting corrections.
  
  spotted by: Vasil
  
  
  Revision r1691:
  branches/5.0: Merge a change from MySQL AB:
  
  ChangeSet@1.2463.261.1  2007-07-20 14:17:15+03:00  gkodinov@magare.gmz
    Bug 29644: alter table hangs if records locked in share mode 
    by long running transaction
    
    On Windows opened files can't be deleted. There was a special
    upgraded lock mode (TL_WRITE instead of TL_WRITE_ALLOW_READ) 
    in ALTER TABLE to make sure nobody has the table opened
    when deleting the old table in ALTER TABLE. This special mode
    was causing ALTER TABLE to hang waiting on a lock inside InnoDB.
    This special lock is no longer necessary as the server is 
    closing the tables it needs to delete in ALTER TABLE.
    Fixed by removing the special lock.
    Note that this also reverses the fix for bug 17264 that deals with
    another consequence of this special lock mode being used.
  
  sql/ha_innodb.cc: Bug 29644: reverse the (now excessive) fix
  for bug 17264 (but leave the test case).
  
  
  Revision r1601:
  branches/5.0: Fix for bug#28781
  We need to do some special AUTOINC handling for the following case:
  
  INSERT INTO t (c1,c2) VALUES(x,y) ON DUPLICATE KEY UPDATE ...
  
  We need to use the AUTOINC counter that was actually used by
  MySQL in the UPDATE statement, which can be different from the
  value used in the INSERT statement.
  
  approved by: Sunny
  
  
  Revision r1692:
  branches/5.0: Merge a change from MySQL AB:
  
  ChangeSet@1.2463.267.1  2007-07-30 17:14:34+04:00  evgen@local
    Bug 24989: The DEADLOCK error is improperly handled by InnoDB.
    
    When innodb detects a deadlock it calls ha_rollback_trans() to rollback the 
    main transaction. But such action isn't allowed from inside of triggers and
    functions. When it happen the 'Explicit or implicit commit' error is thrown
    even if there is no commit/rollback statements in the trigger/function. This
    leads to the user confusion.
    
    Now the convert_error_code_to_mysql() function doesn't call the 
    ha_rollback_trans() function directly but rather calls the
    mark_transaction_to_rollback function and returns an error.
    The sp_rcontext::find_handler() now doesn't allow errors to be caught by the
    trigger/function error handlers when the thd->is_fatal_sub_stmt_error flag
    is set. Procedures are still allowed to catch such errors.
    The sp_rcontext::find_handler function now accepts a THD handle as a parameter.
    The transaction_rollback_request and the is_fatal_sub_stmt_error flags are 
    added to the THD class. The are initialized by the THD class constructor.
    Now the ha_autocommit_or_rollback function rolls back main transaction
    when not in a sub statement and the thd->transaction_rollback_request
    is set.
    The THD::restore_sub_statement_state function now resets the 
    thd->is_fatal_sub_stmt_error flag on exit from a sub-statement.
  
  innodb-big.test, innodb-big.result:
    Added a test case for the bug 24989: The DEADLOCK error is improperly
    handled by InnoDB.
  
  sql/ha_innodb.cc:
    Bug 24989: The DEADLOCK error is improperly handled by InnoDB.
    Now the convert_error_code_to_mysql() function doesn't call the
    ha_rollback_trans() function directly but rather calls the
    mark_transaction_to_rollback function and returns an error.
  
  
  Revision r1693:
  branches/5.0: Merge a change from MySQL AB:
  
  ChangeSet@1.2489.5.1  2007-07-31 17:42:48+04:00  evgen@local
    ha_innodb.cc:
      Warning fixed.
2007-08-15 17:20:54 -06:00
unknown
22307c0e31 Merge ramayana.hindu.god:/home/tsmith/m/bk/maint/50
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/51
2007-08-15 15:49:58 -06:00
unknown
0a494e937b Merge ramayana.hindu.god:/home/tsmith/m/bk/51
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/51


mysql-test/r/innodb.result:
  Auto merged
sql/sql_table.cc:
  Auto merged
2007-08-15 15:48:57 -06:00
unknown
0739c70ecd Merge ramayana.hindu.god:/home/tsmith/m/bk/50
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/50
2007-08-15 15:48:03 -06:00
unknown
4014fea494 Merge mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge
into  mysql.com:/nfsdisk1/lars/MERGE/mysql-5.1-merge
2007-08-15 21:53:24 +02:00
unknown
8c5bb9da94 Merge mysql.com:/nfsdisk1/lars/MERGE/mysql-4.1-merge
into  mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge
2007-08-15 21:50:38 +02:00
unknown
c44ead52b4 Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.1-new-rpl
into  mysql.com:/nfsdisk1/lars/MERGE/mysql-5.1-merge


mysql-test/suite/rpl/r/rpl_extraCol_innodb.result:
  Auto merged
mysql-test/suite/rpl/r/rpl_extraCol_myisam.result:
  Auto merged
mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result:
  Auto merged
sql/field.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/field.h:
  Manual merge
2007-08-15 21:30:45 +02:00
unknown
c6f10a562d Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.0-rpl
into  mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge
2007-08-15 21:26:47 +02:00
unknown
7a7674c819 Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-4.1-rpl
into  mysql.com:/nfsdisk1/lars/MERGE/mysql-4.1-merge
2007-08-15 21:26:10 +02:00
unknown
a8f8e5483e Fixed bug #30396.
The bug caused memory corruption for some queries with top OR level
in the WHERE condition if they contained equality predicates and 
other sargable predicates in disjunctive parts of the condition.

The corruption happened because the upper bound of the memory
allocated for KEY_FIELD and SARGABLE_PARAM internal structures
containing info about potential lookup keys was calculated incorrectly
in some cases. In particular it was calculated incorrectly when the
WHERE condition was an OR formula with disjuncts being AND formulas
including equalities and other sargable predicates.


mysql-test/r/select.result:
  Added a test case for bug #30396.
mysql-test/t/select.test:
  Added a test case for bug #30396.
sql/item_cmpfunc.h:
  Removed max_members from the COND_EQUAL class as not useful anymore.
sql/sql_base.cc:
  Added the max_equal_elems field to the st_select_lex structure.
sql/sql_lex.cc:
  Added the max_equal_elems field to the st_select_lex structure.
sql/sql_lex.h:
  Added the max_equal_elems field to the st_select_lex structure.
  The field contains the maximal number of elements in multiple equalities
  built for the query conditions.
sql/sql_select.cc:
  Fixed bug #30396.
  The bug caused memory corruption for some queries with top OR level
  in the WHERE condition if they contained equality predicates and 
  other sargable predicates in disjunctive parts of the condition.
  
  The corruption happened because the upper bound of the memory
  allocated for KEY_FIELD and SARGABLE_PARAM internal structures
  containing info about potential lookup keys was calculated incorrectly
  in some cases. In particular it was calculated incorrectly when the
  WHERE condition was an OR formula with disjuncts being AND formulas
  including equalities and other sargable predicates.
   
  The max_equal_elems field to the st_select_lex structure is used now
  to calculate the above mentioned upper bound. The field contains the
  maximal number of elements in multiple equalities built for the query
  conditions.
2007-08-15 10:24:18 -07:00
unknown
a87a8764c3 fixed diff 2007-08-15 18:41:18 +04:00