Commit graph

48621 commits

Author SHA1 Message Date
unknown
8d592e95a5 Merge bk-internal.mysql.com:/data0/bk/mysql-4.1-maint
into  bk-internal.mysql.com:/data0/bk/tsmith-tmp/mysql-5.0-maint
2007-07-19 17:43:34 +02:00
unknown
346ea19be7 Merge bodhi.(none):/opt/local/work/mysql-5.0-runtime
into  bodhi.(none):/opt/local/work/mysql-5.1-runtime


mysql-test/r/sp-prelocking.result:
  Auto merged
mysql-test/r/trigger.result:
  Auto merged
mysql-test/t/create.test:
  Auto merged
mysql-test/t/innodb.test:
  Auto merged
mysql-test/t/sp-prelocking.test:
  Auto merged
mysql-test/t/trigger.test:
  Auto merged
sql/sql_class.h:
  Auto merged
mysql-test/r/create.result:
  Use local.
mysql-test/r/innodb.result:
  Manual merge.
2007-07-19 19:42:24 +04:00
unknown
62eb5f1794 Rename all references to 'Delayed_insert' instances from 'tmp' to 'di'
for consistency.
2007-07-19 19:36:52 +04:00
unknown
e81e55e783 A fix for Bug#29431 killing an insert delayed thread causes crash
No test case, since the bug requires a stress case with 30 INSERT DELAYED
threads and 1 killer thread to repeat. The patch is verified
manually.
Review fixes.

The server that is running DELAYED inserts would deadlock itself
or crash under high load if some of the delayed threads were KILLed
in the meanwhile.

The fix is to change internal lock acquisition order of delayed inserts
subsystem and to ensure that
Delayed_insert::table_list::db does not point to volatile memory in some 
cases.
For details, please see a comment for sql_insert.cc.


sql/sql_insert.cc:
  A fix for Bug#29431 killing an insert delayed thread causes crash
  
  1) The deadlock was caused by different lock acquisition order
  between delayed_get_table and handle_delayed_insert.
  
  delayed_get_table would:
  - acquire LOCK_delayed_create
  - create a new Delayed_insert instance
  - acquire instance mutex (di->mutex)
  - "lock the instance in memory" by 
  increasing di->locked_in_memory variable
  - start the delayed thread
  - release di->mutex
  - let the delayed thread open the delayed table
  - discover that the delayed thread was killed
  - try to unlock() the delayed insert instance in memory
  - in Delayed_insert::unlock() do
   * lock LOCK_delayed_insert
   * decrease locks_in_memory and discover it's 0
   * attempt to lock di->mutex to broadcast di->cond condition <-- deadlock
   here
  
  Meanwhile, the delayed thread would
   * lock di->mutex
   * open the table
   * get killed
   * not notice that and attempt to lock LOCK_delayed_insert
  to register itself in the delayed insert list <-- deadlock here.
  
  Simply put, delayed_get_table used to lock LOCK_delayed_insert and then 
  di->mutex, and handle_delayed_insert would lock di->mutex and then 
  LOCK_delayed_insert.
  
  Fixed by moving registration in the list of delayed insert threads from 
  handle_delayed_insert to delayed_get_table - so that now
  handle_delayed_insert doesn't need to acquire LOCK_delayed_insert mutex.
  
  
  2) di->table_list.db was copied by-pointer from table_list.db of the first
  producer -- the one who initiated creation of the delayed insert thread.
  This producer might be long gone when the member is needed
  (handle_delayed_insert:open_ltable),
  e.g. by having been killed with KILL CONNECTION statement.
  Fixed by using a pointer to the consumer's deep copy of THD::db.
  
  3) In find_handler, we shouldn't assume that Delayed_insert object
  already (or still) has a table opened all the time it is
  present in the delayed insert list. E.g. it's not the case
  when Delayed_insert decided to terminate, closed the table, but haven't
  yet unregistered from the list (see the end of handle_delayed_insert).
2007-07-19 19:28:00 +04:00
unknown
22a644d272 Merge gleb.loc:/home/uchum/work/bk/5.0-opt
into  gleb.loc:/home/uchum/work/bk/5.1-opt


sql/sql_select.cc:
  Auto merged
storage/myisam/ha_myisam.cc:
  Auto merged
2007-07-19 20:06:55 +05:00
unknown
e395b0ace2 Merge gleb.loc:/home/uchum/work/bk/5.1
into  gleb.loc:/home/uchum/work/bk/5.1-opt


client/mysqldump.c:
  Auto merged
include/my_base.h:
  Auto merged
mysql-test/include/mix1.inc:
  Auto merged
mysql-test/r/innodb_mysql.result:
  Auto merged
mysql-test/t/disabled.def:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
storage/myisam/ha_myisam.cc:
  Auto merged
2007-07-19 20:01:13 +05:00
unknown
c865b22514 Merge gleb.loc:/home/uchum/work/bk/5.0
into  gleb.loc:/home/uchum/work/bk/5.0-opt


sql/ha_myisam.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2007-07-19 19:57:53 +05:00
unknown
bb00bbef1b Merge trift-lap.none:/MySQL/M50/bug14151-5.0
into  trift-lap.none:/MySQL/M51/bug14151-5.1


BitKeeper/deleted/.del-MySQL-Source.icc~edded3c3a5cf83b1:
  Auto merged
BitKeeper/deleted/.del-mysqlmanager-pwgen.c~d8f5f91ec54432b9:
  Auto merged
BitKeeper/deleted/.del-mysqlmanager.c~e97636d71145a0b:
  Auto merged
include/Makefile.am:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/table.cc:
  Auto merged
2007-07-19 15:11:01 +02:00
unknown
f4209c71a2 Avoid the name conflict between the system-provided "md5.h" and the MySQL one
by renaming "include/md5.h" to "include/my_md5.h".

Fixes bug#14151.


include/my_md5.h:
  Rename: include/md5.h -> include/my_md5.h
2007-07-19 14:14:03 +02:00
unknown
9fa66ba423 field.cc, field.h:
i5 compatibility


sql/field.h:
  i5 compatibility
sql/field.cc:
  i5 compatibility
2007-07-19 14:12:05 +02:00
unknown
8e500b7b75 mysqldump.result:
Post-merge fix.


mysql-test/r/mysqldump.result:
  Post-merge fix.
2007-07-19 14:56:04 +05:00
unknown
0a433b21db Merge gleb.loc:/home/uchum/work/bk/5.0-opt
into  gleb.loc:/home/uchum/work/bk/5.1-opt


client/mysqldump.c:
  Auto merged
mysql-test/t/mysqldump.test:
  Auto merged
mysql-test/r/mysqldump.result:
  Merge with 5.0-opt.
2007-07-19 14:23:53 +05:00
unknown
8b59beaebe Merge gleb.loc:/home/uchum/work/bk/5.0-opt-28524
into  gleb.loc:/home/uchum/work/bk/5.0-opt
2007-07-19 10:54:39 +05:00
unknown
c1d12ec726 Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.1-maint
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/51
2007-07-18 15:32:22 -06:00
unknown
b55bb35c25 ddl_i18n_utf8.test, ddl_i18n_koi8r.test:
Don't run test with embedded server; requires external client connections


mysql-test/t/ddl_i18n_koi8r.test:
  Don't run test with embedded server; requires external client connections
mysql-test/t/ddl_i18n_utf8.test:
  Don't run test with embedded server; requires external client connections
2007-07-18 15:31:24 -06:00
unknown
b79daf4109 Re-set the plugin name so that we can be sure the plugin init()
function doesn't set it to something else.
2007-07-18 13:37:56 -04:00
unknown
6d0419f6bc Move the filling of the table_name column above the initialization,
so that the init function has access to the name.
2007-07-18 12:27:54 -04:00
unknown
155eb4658d 5.0-opt -> 5.1-opt merge 2007-07-18 18:08:05 +03:00
unknown
2bfe84d434 Fixed bug #28524.
For each view the mysqldump utility creates a temporary table
with the same name and the same columns as the view 
in order to satisfy views that depend on this view.
After the creation of all tables, mysqldump drops all
temporary tables and creates actual views.
However, --skip-add-drop-table and --compact flags disable
DROP TABLE statements for those temporary tables. Thus, it was
impossible to create the views because of existence of the
temporary tables with the same names.


client/mysqldump.c:
  Fixed bug #28524.
  The mysqldump utility has been modified to unconditionally drop
  temporary tables before the creation of views.
mysql-test/t/mysqldump.test:
  Updated test case for bug #28524 and updated result of previous tests.
mysql-test/r/mysqldump.result:
  Updated test case for bug #28524 and updated result of previous tests.
2007-07-18 19:14:48 +05:00
unknown
0114d8c082 CMakeLists.txt, configure.js:
Allow to set mysqld exe suffix


sql/CMakeLists.txt:
  Allow to set mysqld exe suffix
win/configure.js:
  Allow to set mysqld exe suffix
2007-07-18 15:53:10 +02:00
unknown
9653787d3f Merge mysql.com:/home/kent/bk/tmp3/mysql-5.0-build
into  mysql.com:/home/kent/bk/tmp3/mysql-5.1-build


BitKeeper/deleted/.del-CMakeLists.txt~3:
  Auto merged
BitKeeper/deleted/.del-configure.js:
  Auto merged
2007-07-18 15:43:20 +02:00
unknown
73a680a54d CMakeLists.txt, configure.js:
Allow to set mysqld exe suffix


sql/CMakeLists.txt:
  Allow to set mysqld exe suffix
win/configure.js:
  Allow to set mysqld exe suffix
2007-07-18 15:42:36 +02:00
unknown
6981af6ff5 Add a test case for Bug#22427 create table if not exists + stored
function results in inconsistent behavior.

The bug itself was fixed by the patch for bug 20662.


mysql-test/r/sp-prelocking.result:
  Update results (Bug#22427)
mysql-test/t/sp-prelocking.test:
  Add a test case for Bug#22427 create table if not exists + stored 
  function results in inconsistent behavior
2007-07-18 17:09:03 +04:00
unknown
c9b88730e4 Merge magare.gmz:/home/kgeorge/mysql/work/B29325-my_errno-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/work/merge-5.0-5.1-opt


mysys/my_symlink2.c:
  Auto merged
2007-07-18 15:57:17 +03:00
unknown
4a07ed48dd Merge magare.gmz:/home/kgeorge/mysql/work/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/work/merge-5.0-5.1-opt


mysql-test/r/type_time.result:
  Auto merged
sql/field.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
BitKeeper/deleted/.del-index_merge.result:
  Auto merged
mysql-test/include/index_merge1.inc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/opt_range.cc:
  Auto merged
storage/heap/ha_heap.cc:
  Auto merged
storage/heap/ha_heap.h:
  Auto merged
2007-07-18 15:56:29 +03:00
unknown
a266c16d14 Bug #29325: create table overwrites .MYD file of other
table (datadir)
Set errno when retunring an error in my_create_with_symlink.


mysys/my_symlink2.c:
  Bug #29325: set errno when retunring 
  an error in my_create_with_symlink
2007-07-18 15:33:41 +03:00
unknown
c0277a1192 A fix and a test case for Bug#26104 Bug on foreign key class constructor.
Fix the typo in the constructor. Cover a semantic check that previously
never worked with a test.


mysql-test/r/create.result:
  Update results (Bug#26104)
mysql-test/r/innodb.result:
  Update results.
mysql-test/t/create.test:
  Add a test case for Bug#26104 Bug on foreign key class constructor
mysql-test/t/innodb.test:
  Return a new error number (MySQL error instead of internal InnoDB error).
sql/sql_class.h:
  A fix for Bug#26104 Bug on foreign key class constructor -- fix
  the typo in the constructor
2007-07-18 16:22:05 +04:00
unknown
5f462f9626 Add a test case for Bug#27248 Triggers: error if insert affects temporary
table.
The bug itself is yet another manifestation of Bug 26141.


mysql-test/r/trigger.result:
  Update results.
mysql-test/t/trigger.test:
  Add a test case for Bug#27248 Triggers: error if insert affects temporary
  table
2007-07-18 14:42:06 +04:00
unknown
06b446dae4 Mark deadcode for gcov 2007-07-18 11:12:15 +04:00
unknown
043f697aee Mark deadcode for gcov 2007-07-18 00:29:25 +04:00
unknown
17ccc0dd75 Merge trift2.:/MySQL/M50/push-5.0
into  trift2.:/MySQL/M51/push-5.1
2007-07-17 22:03:06 +02:00
unknown
29a9af1acb Merge trift2.:/MySQL/M51/bug21023-25486-5.1
into  trift2.:/MySQL/M51/push-5.1
2007-07-17 21:46:47 +02:00
unknown
c3e1eaba62 Merge trift2.:/MySQL/M50/bug21023-25486-5.0
into  trift2.:/MySQL/M50/push-5.0
2007-07-17 21:44:36 +02:00
unknown
a5a0a38d8d Merge trift2.:/MySQL/M50/mysql-5.0
into  trift2.:/MySQL/M50/push-5.0
2007-07-17 21:40:36 +02:00
unknown
c4e4cd6df8 Merge trift2.:/MySQL/M51/mysql-5.1
into  trift2.:/MySQL/M51/push-5.1


mysql-test/r/events_bugs.result:
  Auto merged
mysql-test/r/show_check.result:
  Auto merged
mysql-test/r/sp.result:
  Auto merged
mysql-test/suite/rpl/r/rpl_sp.result:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/share/errmsg.txt:
  Auto merged
2007-07-17 21:36:51 +02:00
unknown
0b0277b47a Merge trift2.:/MySQL/M50/bug21023-25486-5.0
into  trift2.:/MySQL/M51/bug21023-25486-5.1


mysql-test/Makefile.am:
  Auto merged
scripts/make_binary_distribution.sh:
  Auto merged
support-files/Makefile.am:
  SCCS merged
2007-07-17 21:11:22 +02:00
unknown
2679e53a73 Small comments fix 2007-07-17 22:46:51 +04:00
unknown
3e09e4adce Merge ramayana.hindu.god:/home/tsmith/m/bk/51
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/51


mysql-test/suite/rpl_ndb/t/disabled.def:
  Auto merged
mysql-test/t/disabled.def:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_insert.cc:
  Auto merged
2007-07-17 11:33:26 -06:00
unknown
91301448e9 Merge ramayana.hindu.god:/home/tsmith/m/bk/50
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/50


sql/mysql_priv.h:
  Auto merged
2007-07-17 11:32:50 -06:00
unknown
c20595d8a0 Merge ramayana.hindu.god:/home/tsmith/m/bk/41
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/41
2007-07-17 11:32:34 -06:00
unknown
3ec7c63645 Handle "support-files/mysqld_multi.server.sh" like other shell scripts.
Fixing bug#25486:  mysqld_multi.server.sh missing from builds


support-files/Makefile.am:
  Handle "mysqld_multi.server.sh" like other shell scripts.
  
  Fixing bug#25486.
2007-07-17 19:27:31 +02:00
unknown
ded5009aaf Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/home/psergey/mysql-5.0-bug29740
2007-07-17 19:53:33 +04:00
unknown
955c19961d [pb problem]: ha_heap->clone() fails on windows because of mess with
'/' and '\' in path delimiters:
- Fix this by creating new handler with exactly the same path line as
  was passed to ha_create/ha_open.


sql/opt_range.cc:
  Set thd->net.report_error on handler::clone() failure
2007-07-17 19:51:50 +04:00
unknown
e44d995fa9 Ensure "mysql-stress-test.pl" is included in both "tar.gz" and RPM packages.
Fixing bug#21023:  "mysql-stress-test.pl" missing in builds


mysql-test/Makefile.am:
  Ensure "mysql-stress-test.pl" is handled by "make install" in the "mysql-test" directory.
  
  This should get the script into the result tree of a RPM build.
  
  Fixing bug#21023.
scripts/make_binary_distribution.sh:
  Copy "mysql-test/mysql-stress-test.pl" into a binary distribution ("tar.gz" and derived formats).
  
  Fixing bug#21023.
2007-07-17 16:25:32 +02:00
unknown
8bbaf6addd Merge bk-internal.mysql.com:/home/bk/mysql-5.1-engines
into  bodhi.(none):/opt/local/work/mysql-5.1-runtime


mysql-test/include/mix1.inc:
  Auto merged
mysql-test/r/innodb_mysql.result:
  Auto merged
2007-07-17 13:32:19 +04:00
unknown
3258d996a4 Merge bodhi.(none):/opt/local/work/mysql-5.0-runtime
into  bodhi.(none):/opt/local/work/mysql-5.1-runtime
2007-07-17 13:13:49 +04:00
unknown
dd381deafc Merge bk-internal.mysql.com:/home/bk/mysql-5.1-engines
into  bodhi.(none):/opt/local/work/mysql-5.1-runtime


mysql-test/r/events_bugs.result:
  Auto merged
mysql-test/r/show_check.result:
  Auto merged
mysql-test/r/sp.result:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/share/errmsg.txt:
  Auto merged
2007-07-17 13:10:02 +04:00
unknown
cff1088d03 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-engines
into  bodhi.(none):/opt/local/work/mysql-5.0-runtime
2007-07-17 13:08:23 +04:00
unknown
e90b0c6e79 make_binary_distribution.sh:
BUG#29382


scripts/make_binary_distribution.sh:
  BUG#29382
2007-07-17 10:25:48 +02:00
unknown
342a894527 Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.1-engines
into  mysql.com:/home/svoj/devel/mysql/test/mysql-5.1-engines


mysql-test/t/disabled.def:
  SCCS merged
2007-07-17 13:20:32 +05:00