Commit graph

13164 commits

Author SHA1 Message Date
unknown
cfe8831148 Merge magare.gmz:/home/kgeorge/mysql/work/B27811-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B27811-5.0-opt
2007-04-23 19:02:40 +03:00
unknown
c705567e9c Fix for bug #22364 "Inconsistent "matched rows" when executing UPDATE"
In multi_update::send_data(), the counter of matched rows was not correctly incremented, when during insertion of a new row to a temporay table it had to be converted from HEAP to MyISAM.

This fix changes the logic to increment the counter of matched rows in the following cases:
1. If the error returned from write_row() is zero.
2. If the error returned from write_row() is non-zero, is neither HA_ERR_FOUND_DUPP_KEY nor HA_ERR_FOUND_DUPP_UNIQUE, and a call to create_myisam_from_heap() succeeds. 


mysql-test/r/update.result:
  Added a test case for bug #22364 "Inconsistent "matched rows" when executing UPDATE"
mysql-test/t/update.test:
  Added a test case for bug #22364 "Inconsistent "matched rows" when executing UPDATE"
sql/sql_update.cc:
  In multi_update::send_data(), the counter of matched rows was not correctly incremented, when during insertion of a new row to a temporay table it had to be converted from HEAP to MyISAM.
  
  This fix changes the logic to increment the counter of matched rows in the following cases:
  1. If the error returned from write_row() is zero.
  2. If the error returned from write_row() is non-zero, is neither HA_ERR_FOUND_DUPP_KEY nor HA_ERR_FOUND_DUPP_UNIQUE, and a call to create_myisam_from_heap() succeeds.
2007-04-23 18:22:33 +04:00
unknown
20b22b40cf Merge pilot.blaudden:/home/msvensson/mysql/mysql-5.0
into  pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint


client/mysql.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
2007-04-23 16:22:01 +02:00
unknown
b570cee115 Bug #27811:
FORCE_INIT_OF_VARS was not defined for the 
 debug builds on Windows. This caused LINT_INIT
 macro to be defined as NOP and this triggers
 false alarms about use of uninitialized with
 the runtime libs of some Visual Studio versions.
 Fixed by defining FORCE_INIT_OF_VARS to match the
 state of the Windows


CMakeLists.txt:
  Bug #27811: added the missing build option
mysql-test/r/windows.result:
  Bug #27811: test case
mysql-test/t/windows.test:
  Bug #27811: test case
2007-04-23 17:15:51 +03:00
unknown
77d0d996be Update test to work also when --pager does not exist in "mysql" 2007-04-23 12:58:35 +02:00
unknown
b3e3c3881e Merge bk-internal:/home/bk/mysql-5.0-maint
into  pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint


Makefile.am:
  Auto merged
client/mysql_upgrade.c:
  Auto merged
sql/mysql_priv.h:
  Auto merged
tests/mysql_client_test.c:
  Auto merged
2007-04-23 12:05:00 +02:00
unknown
18ea538648 Remove left over file fix_priv_tabs.result
BitKeeper/deleted/.del-fix_priv_tabs.result:
  Delete: mysql-test/r/fix_priv_tabs.result
2007-04-23 11:41:55 +02:00
unknown
7d954c94fd Merge debian.(none):/M41/mysql-4.1
into  debian.(none):/M41/push-4.1
2007-04-23 11:36:30 +02:00
unknown
b0dc094804 Merge debian.(none):/M50/mysql-5.0
into  debian.(none):/M50/push-5.0
2007-04-23 11:31:11 +02:00
unknown
984d8e23d6 Merge pilot.blaudden:/home/msvensson/mysql/mysql-4.1-maint
into  pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint


mysql-test/lib/mtr_process.pl:
  Auto merged
2007-04-23 11:03:40 +02:00
unknown
d19d4b3f4f Protect against killing pid's that would "killall" or "kill self" 2007-04-23 11:01:22 +02:00
unknown
c94da3764f Merge bk-internal:/home/bk/mysql-5.0
into  blade09.mysql.com:/tmp/mmj/mysql-5.0-runtime
2007-04-21 18:36:06 +02:00
unknown
b2bd69adbf Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/home/psergey/mysql-5.0-bug27939


sql/sql_select.cc:
  Auto merged
2007-04-21 20:27:39 +04:00
unknown
8a702a1e7b Merge bk-internal.mysql.com:/data0/bk/mysql-5.0
into  bk-internal.mysql.com:/data0/bk/mysql-5.0-opt


sql/item_cmpfunc.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
2007-04-21 00:36:21 +02:00
unknown
594f7bd2fe Merge weblab.(none):/home/marcsql/TREE/mysql-5.0-base
into  weblab.(none):/home/marcsql/TREE/mysql-5.0-rt-merge


mysql-test/r/sp.result:
  Auto merged
mysql-test/t/sp.test:
  Auto merged
2007-04-20 15:34:04 -06:00
unknown
5fb275a6f5 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/home/psergey/mysql-5.0-bug27939
2007-04-21 00:24:43 +04:00
unknown
0d3c448353 Makefile.am:
Typo


mysql-test/Makefile.am:
  Typo
2007-04-20 15:52:49 +02:00
unknown
79476ab29d Makefile.am:
Added the 'suite' directory to the source TAR and install


mysql-test/Makefile.am:
  Added the 'suite' directory to the source TAR and install
2007-04-20 15:49:35 +02:00
unknown
d5ca6582b4 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/home/psergey/mysql-5.0-bug27939


sql/sql_select.cc:
  Auto merged
2007-04-20 17:30:15 +04:00
unknown
4a3027aaa2 Added missing result file for rpl_critical_errors.
mysql-test/r/rpl_critical_errors.result:
  New BitKeeper file ``mysql-test/r/rpl_critical_errors.result''
2007-04-20 14:08:12 +02:00
unknown
323a213539 Merge gshchepa.loc:/home/uchum/work/bk-trees/mysql-5.0-opt
into  gshchepa.loc:/home/uchum/work/bk-trees/mysql-5.0-opt-27704
2007-04-20 16:44:50 +05:00
unknown
a501fdd695 Merge gshchepa.loc:/home/uchum/work/bk-trees/mysql-4.1-opt-27704
into  gshchepa.loc:/home/uchum/work/bk-trees/mysql-5.0-opt-27704


mysql-test/r/subselect.result:
  Auto merged
mysql-test/t/row.test:
  Auto merged
mysql-test/r/row.result:
  Test case updated for Bug#27704 (incorrect comparison
  of rows with NULL components).
sql/item_cmpfunc.cc:
  Bug#27704: incorrect comparison of rows with NULL components.
sql/item_cmpfunc.h:
  Bug#27704: incorrect comparison of rows with NULL components.
  Cosmetic fix.
2007-04-20 15:31:33 +05:00
unknown
515c64875b Merge debian.(none):/M50/mysql-5.0
into  debian.(none):/M50/push-5.0


sql/ha_ndbcluster.cc:
  Auto merged
sql/sql_delete.cc:
  Auto merged
2007-04-20 12:31:03 +02:00
unknown
a8f639fccc Bug#27704: incorrect comparison of rows with NULL components
Support for NULL components was incomplete for row comparison,
fixed.  Added support for abort_on_null at compare_row() like
in 5.x


sql/item_cmpfunc.h:
  Bug#27704: incorrect comparison of rows with NULL components
  Added support for abort_on_null at Item_bool_func2
  like in 5.x
sql/item_cmpfunc.cc:
  Bug#27704: incorrect comparison of rows with NULL components
  Support for NULL components was incomplete for row comparison,
  fixed. Added support for abort_on_null at compare_row() like
  in 5.x
mysql-test/t/row.test:
  Test case updated for Bug#27704 (incorrect comparison 
  of rows with NULL components)
mysql-test/r/row.result:
  Test case updated for Bug#27704 (incorrect comparison 
  of rows with NULL components)
mysql-test/r/subselect.result:
  Test case updated for Bug#27704 (incorrect comparison 
  of rows with NULL components)
2007-04-20 15:14:09 +05:00
unknown
a4ffe9e435 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B27786-5.0-opt
2007-04-20 12:01:54 +03:00
unknown
f3e261a997 Bug #24778: Innodb: No result when using ORDER BY
This bug was intruduced by the fix for bug#17212 (in 4.1). It is not 
ok to call test_if_skip_sort_order since this function will 
alter the execution plan. By contract it is not ok to call 
test_if_skip_sort_order in this context.

This bug appears only in the case when the optimizer has chosen 
an index for accessing a particular table but finds a covering 
index that enables it to skip ORDER BY. This happens in 
test_if_skip_sort_order.


mysql-test/r/key.result:
  Bug#24778
  
  test case.
  
  The bug causes the result to be the empty set.
mysql-test/t/key.test:
  Bug#24778
  
  The minimal test case that reveals the bug. The reason for such a 
  complicated schema is that we have to convince the optimizer to 
  pick one index, then discard it in order to be able to skip 
  ORDER BY.
sql/sql_select.cc:
  bug#24778
  
  Removed the call to test_if_skip_sort_order that constituted the
  bug.
2007-04-20 11:01:53 +02:00
unknown
8bc4d18289 Merge romeo.(none):/home/bkroot/mysql-5.0-rpl
into  romeo.(none):/home/bk/merge-mysql-5.0


client/mysql.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
2007-04-20 10:35:27 +02:00
unknown
b6451440b7 Merge mkindahl@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl
into  romeo.(none):/home/bkroot/mysql-5.0-rpl
2007-04-20 10:28:44 +02:00
unknown
e0444ba436 Bug #27786:
When merging views into the enclosing statement
the ORDER BY clause of the view is merged to the
parent's ORDER BY clause.
However when the VIEW is merged into an UNION
branch the ORDER BY should be ignored. 
Use of ORDER BY for individual SELECT statements
implies nothing about the order in which the rows
appear in the final result because UNION by default
produces unordered set of rows.
Fixed by ignoring the ORDER BY clause from the merge
view when expanded in an UNION branch.


mysql-test/r/view.result:
  Bug #27786: test case
mysql-test/t/view.test:
  Bug #27786: test case
sql/sql_lex.h:
  Bug #27786: add a is_union() inlined function
  Returns true if the unit represents an UNION.
sql/sql_view.cc:
  Bug #27786: ignore ORDER BY in mergeable views when in UNION context
2007-04-20 10:49:45 +03:00
unknown
5222d83f9d innodb_mysql.test, innodb_mysql.result:
Fix test case: add drop table


mysql-test/t/innodb_mysql.test:
  Fix test case: add drop table
mysql-test/r/innodb_mysql.result:
  Fix test case: add drop table
2007-04-20 00:20:57 +02:00
unknown
f4d6b5de91 innodb_mysql.test, innodb_mysql.result:
Add test case for Bug #27210: INNODB ON DUPLICATE KEY UPDATE


mysql-test/r/innodb_mysql.result:
  Add test case for Bug #27210: INNODB ON DUPLICATE KEY UPDATE
mysql-test/t/innodb_mysql.test:
  Add test case for Bug #27210: INNODB ON DUPLICATE KEY UPDATE
2007-04-19 22:38:12 +02:00
unknown
45face8fb4 Add replace for varying errno 2007-04-19 21:35:10 +02:00
unknown
36cd228af1 mysql_upgrade portability fixes
client/mysql_upgrade.c:
  Add defines for WEXITSTATUS
  Pass arguments on command line instead of --defaults-file=<temp file>
mysql-test/r/mysql_upgrade.result:
  When testing that mysql_upgrade detect if mysqlcheck fails, use an option that
  is used on all platforms.
mysql-test/t/mysql_upgrade.test:
  When testing that mysql_upgrade detect if mysqlcheck fails, use an option that
  is used on all platforms.
scripts/comp_sql.c:
  Some compilers have a max string length, insert a newline at
  every 512th char in long strings
2007-04-19 21:30:46 +02:00
unknown
5b0ec8709a Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B27530-5.0-opt
2007-04-19 15:07:03 +03:00
unknown
0a3533ff57 Merge mysql.com:/home/ram/work/mysql-5.0-maint
into  mysql.com:/home/ram/work/b26851/b26851.5.0
2007-04-19 15:02:36 +05:00
unknown
5198d0b4a8 Merge mysql.com:/home/ram/work/mysql-5.0-maint
into  mysql.com:/home/ram/work/b22824/my50-b22824


sql/item_cmpfunc.cc:
  Auto merged
mysql-test/r/strict.result:
  merging
mysql-test/t/strict.test:
  merging
2007-04-19 12:32:38 +05:00
unknown
30f3f3a037 Merge mysql.com:/home/ram/work/mysql-5.0-maint
into  mysql.com:/home/ram/work/b26851/b26851.5.0


client/mysql.cc:
  Auto merged
2007-04-19 11:45:26 +05:00
unknown
726d27ee37 Apply innodb-5.0-ss1405 snapshot
NULL MERGE: this ChangeSet will be null merged into mysql-5.1

Fixes:

- Bug #26662: mysqld assertion when creating temporary (InnoDB) table on a tmpfs filesystem
  Fix by not open(2)ing with O_DIRECT but rather calling fcntl(2) to set
  this flag immediately after open(2)ing. This way an error caused by
  O_DIRECT not being supported can easily be ignored.
- Bug #23313: AUTO_INCREMENT=# not reported back for InnoDB tables
- Bug #21404: AUTO_INCREMENT value reset when Adding FKEY (or ALTER?)
  Report the current value of the AUTO_INCREMENT counter to MySQL.


innobase/configure.in:
  Apply innodb-5.0-ss1405 snapshot
  
  Revision r1396:
  branches/5.0: Merge r1395 from trunk:
  
  * Fix Bug#26662 by not open(2)ing with O_DIRECT but rather calling fcntl(2)
  to set this flag immediately after open(2)ing. This way an error caused by
  O_DIRECT not being supported can easily be ignored.
  
  * Add support for skipping the OS caching on Solaris by calling directio()
  instead of fcntl().
innobase/os/os0file.c:
  Apply innodb-5.0-ss1405 snapshot
  
  Revision r1394:
  branches/5.0: Merge r1391 from trunk:
  
  Merge the bodies of os_file_handle_error() and os_file_handle_error_no_exit()
  into a generic function which is called from both os_file_handle_error() and
  os_file_handle_error_no_exit()
  
  
  Revision r1396:
  branches/5.0: Merge r1395 from trunk:
  
  * Fix Bug#26662 by not open(2)ing with O_DIRECT but rather calling fcntl(2)
  to set this flag immediately after open(2)ing. This way an error caused by
  O_DIRECT not being supported can easily be ignored.
  
  * Add support for skipping the OS caching on Solaris by calling directio()
  instead of fcntl().
mysql-test/r/innodb.result:
  Apply innodb-5.0-ss1405 snapshot
  
  Revision r1405:
  branches/5.0: Merge r1404 from trunk:
  
  Report the current value of the AUTO_INCREMENT counter to MySQL.
  (Bug #23313, Bug #21404)
  
  ha_innobase::update_create_info(): New function, to report
  the auto_increment_value.
mysql-test/t/innodb.test:
  Apply innodb-5.0-ss1405 snapshot
  
  Revision r1405:
  branches/5.0: Merge r1404 from trunk:
  
  Report the current value of the AUTO_INCREMENT counter to MySQL.
  (Bug #23313, Bug #21404)
  
  ha_innobase::update_create_info(): New function, to report
  the auto_increment_value.
sql/ha_innodb.cc:
  Apply innodb-5.0-ss1405 snapshot
  
  Revision r1405:
  branches/5.0: Merge r1404 from trunk:
  
  Report the current value of the AUTO_INCREMENT counter to MySQL.
  (Bug #23313, Bug #21404)
  
  ha_innobase::update_create_info(): New function, to report
  the auto_increment_value.
sql/ha_innodb.h:
  Apply innodb-5.0-ss1405 snapshot
  
  Revision r1405:
  branches/5.0: Merge r1404 from trunk:
  
  Report the current value of the AUTO_INCREMENT counter to MySQL.
  (Bug #23313, Bug #21404)
  
  ha_innobase::update_create_info(): New function, to report
  the auto_increment_value.
2007-04-18 19:36:22 -06:00
unknown
1b8ecd274e BUG#27939: Early NULLs filtering doesn't work for eq_ref access
- Turn it on for JT_EQ_REF access method


mysql-test/r/join.result:
  BUG#27939: Testcase
mysql-test/t/join.test:
  BUG#27939: Testcase
2007-04-19 03:04:23 +04:00
unknown
6ff11d70a8 Merge siva.hindu.god:/home/tsmith/m/bk/50
into  siva.hindu.god:/home/tsmith/m/bk/maint/50


mysys/my_alloc.c:
  Auto merged
sql/mysqld.cc:
  Auto merged
2007-04-18 14:50:32 -06:00
unknown
1c6ed4bc74 Merge pilot.blaudden:/home/msvensson/mysql/mysql-4.1-maint
into  pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint


mysql-test/lib/mtr_cases.pl:
  Auto merged
2007-04-18 16:49:10 +02:00
unknown
5c91177542 Make it possible to define how many slaves to start by
writing --slave-num=n in <testname>-master.opt file
2007-04-18 13:50:54 +02:00
unknown
5eab19d7a3 Merge pilot.blaudden:/home/msvensson/mysql/my50-m-mysql_upgrade
into  pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint


BitKeeper/etc/ignore:
  auto-union
CMakeLists.txt:
  Auto merged
Makefile.am:
  Auto merged
include/my_global.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
2007-04-18 13:22:32 +02:00
unknown
de15763cfb Merge mysql.com:/home/svoj/devel/mysql/BUG24342/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG24342/mysql-5.0-engines


myisam/mi_rkey.c:
  Auto merged
myisam/myisamdef.h:
  Auto merged
myisammrg/myrg_rkey.c:
  Auto merged
mysql-test/t/merge.test:
  Auto merged
mysql-test/r/merge.result:
  SCCS merged
2007-04-18 16:22:23 +05:00
unknown
1d24597ff9 Bug#25452 mysql_upgrade access denied
- Improve mysql_upgrade and add comments describing it's logic
 - Don't look for mysql and mysqlcheck randomly, use dir where mysql_upgrade
  was started from
 - Don't look for mysql_fix_privilege_tables.sql randomly, compile
  in the mysql_fix_privilege_tables.sql file and use that to upgrade
  the system tables of MySQL
 - Check for any unexpected error returned from runnning the mysql_fix_privilege_tables SQL
 - Fix bug#26639, bug#24248 and bug#25405


BitKeeper/etc/ignore:
  Added scripts/comp_sql scripts/mysql_fix_privilege_tables_sql.c to the ignore list
CMakeLists.txt:
  Build files also in scripts/
Makefile.am:
  Build scripts/ a little earlier to make
  the scripts/mysql_fix_privilege_tables_sql.c file available
  when client/ is built
client/mysql_upgrade.c:
  Updated version of mysql_upgrade with comments and logical functions
include/my_global.h:
  Move IF_WIN macro to my_global.h fr from sql/mysql_priv.h
mysql-test/r/mysql_upgrade.result:
  Update result
mysql-test/t/mysql_upgrade.test:
  Add more tests for different bugs related to mysql_upgrade
scripts/Makefile.am:
  Build comp_sql and mysql_fix_privilege_tables_sql.c
sql/mysql_priv.h:
  Move IF_WIN macro to my_global.h fr from sql/mysql_priv.h
scripts/CMakeLists.txt:
  New BitKeeper file ``scripts/CMakeLists.txt''
scripts/comp_sql.c:
  New BitKeeper file ``scripts/comp_sql.c''
2007-04-18 13:21:39 +02:00
unknown
150646b62d Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG24342/mysql-4.1-engines
2007-04-18 16:16:58 +05:00
unknown
b8250c7126 Merge mysql.com:/home/svoj/devel/mysql/BUG25951/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG25951/mysql-5.0-engines


mysql-test/r/fulltext.result:
  Manual merge.
mysql-test/t/fulltext.test:
  Manual merge.
sql/item_func.cc:
  Manual merge.
2007-04-18 12:39:04 +05:00
unknown
579c2bff63 Fixed bug #27870. The bug that causes crashes manifests itself at some
conditions when executing an equijoin query with WHERE condition
containing a subquery predicate of the form join_attr NOT IN (SELECT ...).

To resolve a problem of the correct evaluation of the expression
  attr NOT IN (SELECT ...)
an array of guards is created to make it possible to filter out some 
predicates of the EXISTS subquery into which the original subquery 
predicate is transformed, in the cases when a takes the NULL value. 
If attr is defined as a field that cannot be NULL than such an array 
is not needed and is not created. 
However if the field a occurred also an an equijoin predicate t2.a=t1.b
and table t1 is accessed before table t2 then it may happen that the 
the EXISTS subquery is pushed down to the condition evaluated just after
table t1 has been accessed. In this case any occurrence of t2.a is 
substituted for t1.b. When t1.b takes the value of NULL an attempt is 
made to turn on the corresponding guard. This action caused a crash as 
no guard array had been created.

Now the code of Item_in_subselect::set_cond_guard_var checks that the guard
array has been created before setting a guard variable on. Otherwise the
method does nothing. It cannot results in returning a row that could be
rejected as the condition t2.a=t1.b will be checked later anyway.        


mysql-test/r/subselect3.result:
  Added a test case for bug #27870.
mysql-test/t/subselect3.test:
  Added a test case for bug #27870.
sql/item_subselect.h:
  Fixed bug #27870. The bug that causes crashes manifests itself at some
  conditions when executing an equijoin query with WHERE condition
  containing a subquery predicate of the form join_attr NOT IN (SELECT ...).
  
  Forced Item_in_subselect::set_cond_guard_var to check that the guard
  array has been created before setting a guard variable on. Otherwise the
  method does nothing.
2007-04-17 17:35:29 -07:00
unknown
4e387d6c0f Merge siva.hindu.god:/home/tsmith/m/bk/41
into  siva.hindu.god:/home/tsmith/m/bk/maint/41
2007-04-17 15:38:59 -06:00
unknown
f7fae98232 Merge trift2.:/MySQL/M41/test-help-4.1
into  trift2.:/MySQL/M41/push-4.1
2007-04-17 19:48:18 +02:00