Commit graph

34845 commits

Author SHA1 Message Date
unknown
bf6d480aab Bug #16997 Table rename that changes database does not rename indexes: Moved index tables to system database 2006-05-31 10:28:42 +02:00
unknown
25917d6b7e Merge mysql.com:/home/mydev/mysql-5.0-bug19604
into  mysql.com:/home/mydev/mysql-5.1-bug19604


storage/myisam/mi_check.c:
  Auto merged
storage/myisam/mi_key.c:
  Auto merged
storage/myisam/mi_update.c:
  Auto merged
storage/myisam/mi_write.c:
  Auto merged
storage/myisam/myisamdef.h:
  Auto merged
2006-05-31 10:27:53 +02:00
unknown
4a1d076342 Bug#19604 - CHECK TABLE with concurrent INSERT can reset auto_increment
CHECK TABLE did temporarily clear the auto_increment value.
It runs with a read lock, allowing other readers and
conurrent INSERTs. The latter could grab the wrong value
in this moment.

CHECK TABLE does no longer modify the auto_increment value.
Not even for a short moment.


myisam/mi_check.c:
  Bug#19604 - CHECK TABLE with concurrent INSERT can reset auto_increment
  In chk_key() and update_auto_increment_key() in the repair_only
  case, do not touch info->s->state.auto_increment. Especially
  chk_key() can be called from CHECK TABLE with a read lock.
  Concurrent inserts could grab a temporarily changed value.
  Added minor style fixes.
myisam/mi_key.c:
  Bug#19604 - CHECK TABLE with concurrent INSERT can reset auto_increment
  Changed update_auto_increment() to retrieve_auto_increment()
  to reflect that it does not change the auto_increment by
  itself any more. This must now be done externally if needed.
myisam/mi_update.c:
  Bug#19604 - CHECK TABLE with concurrent INSERT can reset auto_increment
  Added explicit update of info->s->state.auto_increment
  after the change from update_auto_increment() to
  retrieve_auto_increment().
myisam/mi_write.c:
  Bug#19604 - CHECK TABLE with concurrent INSERT can reset auto_increment
  Added explicit update of info->s->state.auto_increment
  after the change from update_auto_increment() to
  retrieve_auto_increment().
myisam/myisamdef.h:
  Bug#19604 - CHECK TABLE with concurrent INSERT can reset auto_increment
  Changed update_auto_increment() to retrieve_auto_increment()
  to reflect that it does not change the auto_increment by
  itself any more. This must now be done externally if needed.
2006-05-31 10:22:44 +02:00
unknown
dd370c9a23 Merge from 5.0
mysql-test/extra/rpl_tests/rpl_insert_id.test:
  Manual merge from 5.0. In 5.0 this was in another file.
sql/field.cc:
  Removed unused variable.
2006-05-31 11:18:58 +03:00
unknown
c402b00638 Merge gbichot@bk-internal:/home/bk/mysql-5.1-new
into  dl145j.mysql.com:/users/gbichot/mysql-5.1-new
2006-05-31 09:02:02 +02:00
unknown
f3fc25f84c Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new
into serg.mylan:/usr/home/serg/Abk/mysql-5.1
2006-05-31 08:55:05 +02:00
unknown
48969dc095 ndb -
fix return value of "testBasic -n InsertError2 T1"


storage/ndb/test/ndbapi/testBasic.cpp:
  fix return value
2006-05-31 08:22:54 +02:00
unknown
9ed1d4128e ndb -
fix testNodeRestart -n Bug18612 when running with only 1 node group


storage/ndb/test/ndbapi/testNodeRestart.cpp:
  This test needs 2 node groups.
2006-05-31 08:18:27 +02:00
unknown
49c664d360 ndb: release LOCK_open during mysqld schema sync and mysqld sync with binlog (create/drop/rename table)
+ increase timeout for sync... which now should never occur
2006-05-31 01:52:14 +02:00
unknown
78d3a4f214 disabled.def with ndb_dd_backuprestore test disabled 2006-05-30 23:21:44 +02:00
unknown
f90f2c58d3 Merge pnousiainen@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/space/pekka/ndb/version/my50
2006-05-30 22:54:06 +02:00
unknown
6d9e8db7f4 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new
into serg.mylan:/usr/home/serg/Abk/mysql-5.1
2006-05-30 20:11:56 +02:00
unknown
fc03eef116 don't try to "estimate" a number of words that a plugin parser can produce 2006-05-30 20:06:29 +02:00
unknown
19829738a8 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new
into sergbook.mysql.com:/usr/home/serg/Abk/mysql-5.1


sql/mysqld.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
2006-05-30 18:24:06 +02:00
unknown
e05bb63770 sql/Makefile.am: better mysqld dependencies
sql/discover.cc:    close(-1) bug
sql/slave.cc:       DBUG_ENTER/RETURN tags
ha_archive.cc:      double-close bug


sql/Makefile.am:
  better mysqld dependencies
sql/discover.cc:
  close(-1) bug
sql/slave.cc:
  DBUG_ENTER/RETURN tags
storage/archive/ha_archive.cc:
  double-close bug
2006-05-30 18:21:03 +02:00
unknown
26d192220d reduce error log spamming by old privilege tables. If they're old,
report it once, don't whine about every missing column.
2006-05-30 18:18:13 +02:00
unknown
15a13203f1 Now ftparser does not need to bother about memory management -
it can tell MySQL to make a copy of everything (bug#17123)


include/mysql/plugin.h:
  Now ftparser does not need to bother about memory management -
  it can tell MySQL to make a copy of everything (bug#17123)
  MYSQL_FTFLAGS_NEED_COPY flag
storage/myisam/ft_boolean_search.c:
  param->flags
storage/myisam/ft_nlq_search.c:
  param->flags. ft_parse takes a mem_root as an argument
storage/myisam/ft_parser.c:
  ftparser takes a memroot as an argument. words are copied there, if necessary.
  memroot is reset for every parsing and free'd at the end of the statement.
storage/myisam/ft_update.c:
  ftparser takes a memroot as an argument. words are copied there, if necessary.
  memroot is reset for every parsing and free'd at the end of the statement.
storage/myisam/ftdefs.h:
  ftparser takes a memroot as an argument. words are copied there, if necessary.
  memroot is reset for every parsing and free'd at the end of the statement.
storage/myisam/mi_check.c:
  ftparser takes a memroot as an argument. words are copied there, if necessary
storage/myisam/myisamdef.h:
  memroot for ftparser in MI_INFO and MI_SORT_PARAM
storage/myisam/sort.c:
  free ftparser memroot
2006-05-30 18:15:18 +02:00
unknown
f0146e9b68 Merge gbichot@bk-internal:/home/bk/mysql-5.1-new
into  dl145j.mysql.com:/users/gbichot/mysql-5.1-new


mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2006-05-30 16:21:51 +02:00
unknown
ae26d2aa5a Merge a193-229-222-105.elisa-laajakaista.fi:/home/my/bk/mysql-5.0
into  a193-229-222-105.elisa-laajakaista.fi:/home/my/bk/mysql-5.1-new


mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
mysql-test/r/grant.result:
  Auto merged
mysql-test/r/heap_btree.result:
  Auto merged
mysql-test/r/information_schema_db.result:
  Auto merged
mysql-test/r/lock_multi.result:
  Auto merged
mysql-test/r/sp.result:
  Auto merged
mysql-test/r/subselect.result:
  Auto merged
mysql-test/r/view_grant.result:
  Auto merged
mysql-test/t/lock_multi.test:
  Auto merged
mysql-test/t/sp.test:
  Auto merged
mysql-test/t/view_grant.test:
  Auto merged
mysys/default.c:
  Auto merged
server-tools/instance-manager/guardian.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/item.h:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/lock.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/table.cc:
  Auto merged
storage/heap/hp_write.c:
  Auto merged
storage/ndb/src/ndbapi/DictCache.cpp:
  Auto merged
storage/ndb/src/ndbapi/DictCache.hpp:
  Auto merged
client/mysqlbinlog.cc:
  Manual merge from 5.0
client/mysqldump.c:
  Manual merge from 5.0
configure.in:
  Manual merge from 5.0
mysql-test/r/mysqldump.result:
  Manual merge from 5.0
mysql-test/t/mysqldump.test:
  Manual merge from 5.0
mysql-test/t/rpl_insert_id.test:
  Manual merge from 5.0
server-tools/instance-manager/manager.cc:
  Manual merge from 5.0
sql/field.cc:
  Manual merge from 5.0
sql/ha_ndbcluster.cc:
  Manual merge from 5.0
sql/mysqld.cc:
  Manual merge from 5.0
sql/sql_base.cc:
  Manual merge from 5.0
sql/sql_lex.cc:
  Manual merge from 5.0
sql/sql_select.cc:
  Manual merge from 5.0
sql/sql_table.cc:
  Manual merge from 5.0
2006-05-30 16:07:49 +03:00
unknown
e066cb33b2 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  mysql.com:/mnt/storeage/mysql-5.0-maint_bug18669


sql/sql_parse.cc:
  Auto merged
2006-05-30 08:22:12 -04:00
unknown
a06544c2c6 Merge emurphy@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/home/emurphy/src/bk-clean/mysql-5.1-new


sql/mysqld.cc:
  Auto merged
2006-05-30 07:57:12 -04:00
unknown
2b0c9d8bdb Bug #20142 show engine ndb status may falsely return latest epoch == 0 2006-05-30 13:55:25 +02:00
unknown
8a5ca696ec Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/usr/home/ram/work/mysql-5.0
2006-05-30 14:47:07 +05:00
unknown
24240329d4 Merge mysql.com:/home/alik/MySQL/devel/5.0-rt
into  mysql.com:/home/alik/MySQL/devel/5.0-tree
2006-05-30 13:22:49 +04:00
unknown
772758b6ec update show authors 2006-05-30 10:22:31 +02:00
unknown
cce062f43a Merge mysql.com:/usr/home/ram/work/mysql-4.1
into  mysql.com:/usr/home/ram/work/mysql-5.0


client/mysqlbinlog.cc:
  merge
2006-05-30 13:16:11 +05:00
unknown
f27a0eed21 Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-4.1
into  rurik.mysql.com:/home/igor/mysql-4.1
2006-05-30 00:17:50 -07:00
unknown
a2993441ab Fixed bug #17873: confusing error message when IGNORE/USE/FORCE INDEX
refers to a column name.


mysql-test/r/select.result:
  Fixed bug #17873: confusing error message when IGNORE/USE/FORCE INDEX
  refers to a column name.
  Added a new test case.
mysql-test/t/select.test:
  Fixed bug #17873: confusing error message when IGNORE/USE/FORCE INDEX
  refers to a column name.
  Added a new test case.
sql/share/czech/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
sql/share/danish/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
sql/share/dutch/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
sql/share/english/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
sql/share/estonian/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
sql/share/french/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
sql/share/german/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
sql/share/greek/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.\
sql/share/hungarian/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
sql/share/italian/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
sql/share/japanese-sjis/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.\
sql/share/japanese/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
sql/share/korean/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
sql/share/norwegian-ny/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
sql/share/norwegian/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
sql/share/polish/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
sql/share/portuguese/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
sql/share/romanian/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
sql/share/russian/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
sql/share/serbian/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
sql/share/slovak/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
sql/share/spanish/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
sql/share/swedish/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
sql/share/ukrainian/errmsg.txt:
  Removed error message ER_INDEX_DOES_NOT_EXIST,
  used ER_KEY_DOES_NOT_EXITS instead.
2006-05-30 00:08:58 -07:00
unknown
128c3942a8 Bug#17204 "second CALL to procedure crashes Server"
Bug#18282 "INFORMATION_SCHEMA.TABLES provides inconsistent info about invalid views"
This bug caused crashes or resulted in wrong data being returned
when one tried to obtain information from I_S tables about views
using stored functions.

It was caused by the fact that we were using LEX representing
statement which were doing select from I_S tables as active LEX
when contents of I_S table were built. So state of this LEX both
affected and was affected by open_tables() calls which happened
during this process. This resulted in wrong behavior and in
violations of some of invariants which caused crashes.

This fix tries to solve this problem by properly saving/resetting
and restoring part of LEX which affects and is affected by the
process of opening tables and views in get_all_tables() routine.
To simplify things we separated this part of LEX in a new class
and made LEX its descendant.


mysql-test/r/information_schema_db.result:
  test case
mysql-test/t/information_schema_db.test:
  test case
sql/sql_lex.cc:
  To simplify saving/resetting and restoring part of LEX which
  affects and is affected by the process of opening tables and
  views we moved it to new class Query_tables_list and made LEX
  descendant of this class. Also introduced two LEX methods 
  which can be used to save and reset or to restore this state.
sql/sql_lex.h:
  To simplify saving/resetting and restoring part of LEX which
  affects and is affected by the process of opening tables and
  views we moved it to new class Query_tables_list and made LEX
  descendant of this class. Also introduced two LEX methods 
  which can be used to save and reset or to restore this state.
sql/sql_show.cc:
  Now in get_all_tables() routine we properly save/reset and
  restore part of LEX (statement table list and information
  about routines used) which affects and is affected by the
  process of opening tables and views.
sql/sql_table.cc:
  Now we clean-up LEX after opening table (view) in two stages.
  In the first stage we call LEX::cleanup_after_one_table_open()
  to clean-up selects lists and derived tables state. In the
  second stage which happens after close_thread_tables() is
  invoked we call Query_tables_list::reset_query_tables_list(FALSE)
  to rollback changes in Query_tables_list.
2006-05-30 10:45:23 +05:00
unknown
63da222ae0 Merge pnousiainen@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/space/pekka/ndb/version/my50
2006-05-30 05:05:30 +02:00
unknown
3416732d85 Merge ngrishakin@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/home/ndbdev/ngrishakin/mysql-5.1-new
2006-05-30 01:37:20 +02:00
unknown
f765e7943d removed partitions from ndb_dd_backuprestore test 2006-05-30 01:36:35 +02:00
unknown
000a603fc7 update show authors 2006-05-30 03:26:58 +04:00
unknown
0146929f09 BUG#17310: Archive error for drop database
mysql-test/r/partition.result:
  Added new test case
mysql-test/t/partition.test:
  Added new test case
storage/archive/ha_archive.cc:
  Moved some code to avoid that ha_archive::create leaves files after error in create
  There are still cases where this occurs but now only on file creation errors.
2006-05-29 14:51:46 -04:00
unknown
6257ab54eb Merge 2006-05-29 20:25:30 +02:00
unknown
e7515ef7cb Merge lmy004.:/work/mysql-5.1-new-vanilla
into lmy004.:/work/mysql-5.1-runtime
2006-05-29 20:23:44 +02:00
unknown
8e60a6a47a make_win_src_distribution.sh:
Convert to DOS EOL if dsp/dsw is in package


scripts/make_win_src_distribution.sh:
  Convert to DOS EOL if dsp/dsw is in package
2006-05-29 20:09:22 +02:00
unknown
cbc265094b Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/Users/kent/mysql/bk/mysql-4.1-new
2006-05-29 19:17:55 +02:00
unknown
9e398f156f Merge shellback.(none):/home/msvensson/mysql/mysql-5.0-maint_from_5.1
into  shellback.(none):/home/msvensson/mysql/mysql-5.0
2006-05-29 16:33:32 +02:00
unknown
8e025f51f1 Merge bk-internal:/home/bk/mysql-5.0
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0
2006-05-29 16:31:36 +02:00
unknown
5c1b4afb44 Add missing drop table 2006-05-29 16:27:45 +02:00
unknown
745a579d5d Merge neptunus.(none):/home/msvensson/mysql/tmp/tmp_merge
into  neptunus.(none):/home/msvensson/mysql/mysql-5.1


mysql-test/t/information_schema.test:
  Merge
mysql-test/t/wait_timeout.test:
  Merge
sql/mysqld.cc:
  Merge
sql/slave.cc:
  Null merge
sql/sp_head.cc:
  Merge
2006-05-29 15:43:00 +02:00
unknown
f41db8b01f Merge bk-internal:/home/bk/mysql-5.1-new
into  neptunus.(none):/home/msvensson/mysql/mysql-5.1


sql/mysqld.cc:
  Auto merged
2006-05-29 15:32:52 +02:00
unknown
976f31c51d Fix for BUG#18023: IM: instance can be started several times;
monitor interval must be > 2sec.


server-tools/instance-manager/guardian.cc:
  Start instance only if it is really crashed.
2006-05-29 17:30:30 +04:00
unknown
e6ca5f1953 Merge mysql.com:/home/mydev/mysql-5.0-bug19815
into  mysql.com:/home/mydev/mysql-5.1-bug19815


mysql-test/r/lock_multi.result:
  Auto merged
mysql-test/t/lock_multi.test:
  Auto merged
sql/sql_db.cc:
  SCCS merged
2006-05-29 15:30:13 +02:00
unknown
9b7258e1a2 Fix for BUG#19391: IM fails to start after two executions
server-tools/instance-manager/manager.cc:
  Start Listener-thread after all initialization.
2006-05-29 17:26:52 +04:00
unknown
4f8407b631 Bug#19815 - CREATE/RENAME/DROP DATABASE can deadlock on a global read lock
The order of acquiring LOCK_mysql_create_db
and wait_if_global_read_lock() was wrong. It could happen
that a thread held LOCK_mysql_create_db while waiting for
the global read lock to be released. The thread with the
global read lock could try to administrate a database too.
It would first try to lock LOCK_mysql_create_db and hang...

The check if the current thread has the global read lock
is done in wait_if_global_read_lock(), which could not be
reached because of the hang in LOCK_mysql_create_db.

Now I exchanged the order of acquiring LOCK_mysql_create_db
and wait_if_global_read_lock(). This makes 
wait_if_global_read_lock() fail with an error message for
the thread with the global read lock. No deadlock happens.


mysql-test/r/lock_multi.result:
  Bug#19815 - CREATE/RENAME/DROP DATABASE can deadlock on a global read lock
  The test result
mysql-test/t/lock_multi.test:
  Bug#19815 - CREATE/RENAME/DROP DATABASE can deadlock on a global read lock
  The test case
sql/sql_db.cc:
  Bug#19815 - CREATE/RENAME/DROP DATABASE can deadlock on a global read lock
  Exchanged the order of acquiring LOCK_mysql_create_db
  and wait_if_global_read_lock().
2006-05-29 15:26:23 +02:00
unknown
6378bc3411 Merge emurphy@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/home/emurphy/src/bk-clean/mysql-5.1-new
2006-05-29 09:21:53 -04:00
unknown
f32d0ec6bf Merge lmy004.:/work/mysql-5.1-new-vanilla
into lmy004.:/work/mysql-5.1-runtime


sql/event_scheduler.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
2006-05-29 15:16:07 +02:00
unknown
83063c5034 Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint


mysql-test/r/grant.result:
  Auto merged
mysql-test/t/grant.test:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
2006-05-29 15:06:37 +02:00