Commit graph

19383 commits

Author SHA1 Message Date
unknown
2b48825bd6 BUG#16425: Events: no DEFINER clause
There was already support for CREATE DEFINER=... EVENT syntax in the
parser, but DEFINER information was ignored.

This patch adds processing of DEFINER, and a new ALTER DEFINER=...
EVENT syntax.


mysql-test/r/events_bugs.result:
  Add result for bug#16425: Events: no DEFINER clause.
mysql-test/t/events_bugs.test:
  Add test case for bug#16425: Events: no DEFINER clause.
sql/event_data_objects.cc:
  Event_parse_data::init_definer() looks for DEFINER in
  thd->lex->definer, which is always set now.
sql/sql_parse.cc:
  Move DEFINER processing into the sp_process_definer().  Call this
  function for CREATE EVENT/ALTER EVENT, as well as for CREATE
  PROCEDURE/FUNCTION.
sql/sql_yacc.yy:
  Add 'alter DEFINER=... event', update rule references accordingly.
2007-02-02 20:43:33 +03:00
unknown
6560c2aa04 Fix for memory leaks introduced with the push of patch for bug#22740.
Original patch did not have these leaks, they were introduced later
during manual applying of the patch.


sql/event_data_objects.cc:
  Original patch was not aware of the requirement to delete lex.sphead
  before doing anything else (bug#21856), and that was missed when the
  patch was applied later.
sql/event_scheduler.cc:
  The line was lost during manual patch applying.
2007-01-31 21:16:48 +03:00
unknown
40320e8cb8 Merge weblab.(none):/home/marcsql/TREE/mysql-5.0-21904
into  weblab.(none):/home/marcsql/TREE/mysql-5.1-21904-merge


sql/item_subselect.cc:
  Auto merged
sql/item_subselect.h:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2007-01-30 09:20:25 -07:00
unknown
a1e20e04d8 Bug#21904 (parser problem when using IN with a double "(())")
Before this fix, a IN predicate of the form: "IN (( subselect ))", with two
parenthesis, would be evaluated as a single row subselect: if the subselect
returns more that 1 row, the statement would fail.

The SQL:2003 standard defines a special exception in the specification,
and mandates that this particular form of IN predicate shall be equivalent
to "IN ( subselect )", which involves a table subquery and works with more
than 1 row.

This fix implements "IN (( subselect ))", "IN ((( subselect )))" etc
as per the SQL:2003 requirement.

All the details related to the implementation of this change have been
commented in the code, and the relevant sections of the SQL:2003 spec
are given for reference, so they are not repeated here.

Having access to the spec is a requirement to review in depth this patch.


mysql-test/r/subselect.result:
  Implement IN predicate special exceptions with subselects.
mysql-test/t/subselect.test:
  Implement IN predicate special exceptions with subselects.
sql/item_subselect.cc:
  Implement IN predicate special exceptions with subselects.
sql/item_subselect.h:
  Implement IN predicate special exceptions with subselects.
sql/sql_yacc.yy:
  Implement IN predicate special exceptions with subselects, cleanup.
2007-01-29 17:32:52 -07:00
unknown
2f6812be61 Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  weblab.(none):/home/marcsql/TREE/mysql-5.1-24392
2007-01-29 11:35:59 -07:00
unknown
3c39b0d831 Fix for bug#22740 Events: Decouple Event_queue from Event_db_repository
This patch implements the idea of the bug report by making Event_queue
unaware of Event_db_repository by making a higher level class - Events,
which is aware of most of all classes, responsible for passing all data
needed for adding/updating/deleting an event to/from the queue.

Introduces few new classes :
 - Event_worker_thread
 - Event_queue_element_for_exec


sql/event_data_objects.cc:
  Introduced a new class Event_queue_element_for_exec
  According to Konstantin it should be named Event_name and hold
  only two LEX_STRINGs but `dropped` is not saved on disk and will
  require additional logic in Event_worker_thread class, after loading
  to compute whether the event should be dropped or not. It's easier
  just to pass this flag around.
  
  Removed Event_queue_element::drop(). This method was a source of a
  race condition. At the place where the event should be dropped we
  call Events::drop_event() which is the only code-flow for dropping.
  In addition, because ::drop_event() holds Events::LOCK_metadata there is
  no source of race conditions. Before this patch dropping from ::drop()
  wasn't under LOCK_metadata and races were possible.
  
  Because Events::open_event_table was removed as a method, provisionally
  events_event_db_repository was exported from events.cc till a solution is
  build where Event_queue_element does not access directly mysql.event.
sql/event_data_objects.h:
  New class Event_queue_element_for_exec added which is returned
  from Event_queue::get_top_if_time() and passed through Event_scheduler
  to Event_worker_thread. There by using the (db)name Event_job_data is
  instanciated and executed.
  
  Dropped Event_queue_element::drop()
  
  thd was moved out of Event_job_data as it is now part of
  Event_queue_element_for_exec
sql/event_queue.cc:
  Removed dependency of Event_queue on Event_db_repository.
  The instantiation of Event_job_data was moved to class Event_worker_thread
  In place is a return of an object of Event_queue_element_for_exec is used
  later for instantiating Event_job_data.
  
  The `dropped` flag of Event_queue_element is passed over
  Event_queue_element_for_exec to the code in Event_worker_thread.
sql/event_queue.h:
  Removed dependency of Event_queue on Event_db_repository
  Removed dependency on Event_scheduler
sql/event_scheduler.cc:
  Added class Event_worker_thread, which is used during
  the execution of an event. It has a static init() method
  to get a pointer to Event_db_repository to be used for
  instantiation of Event_job_data object. This object it then
  executed.
sql/event_scheduler.h:
  Added class Event_worker_thread, which is used during
  the execution of an event.
sql/events.cc:
  Removed Events::open_event_table() because it was a product of
  a bad architecture.
sql/events.h:
  Removed friend definition, unneeded.
  
  Fixed Events::drop_event() to have the previous signature without
  bool only_from_disk
sql/sql_parse.cc:
  Fix call
2007-01-29 20:46:29 +03:00
unknown
6b9f56e3c3 Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  weblab.(none):/home/marcsql/TREE/mysql-5.1-24392


mysql-test/t/show_check.test:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2007-01-29 08:02:24 -07:00
unknown
bb3e15e8ba Merge moonlight.home:/home/tomash/src/mysql_ab/mysql-5.1
into  moonlight.home:/home/tomash/src/mysql_ab/mysql-5.1-bug23527
2007-01-25 22:20:07 +03:00
unknown
e76fde2fae Merge moonlight.home:/home/tomash/src/mysql_ab/mysql-5.0-bug23527
into  moonlight.home:/home/tomash/src/mysql_ab/mysql-5.1-bug23527


sql/sql_cache.cc:
  Auto merged
2007-01-25 20:04:57 +03:00
unknown
ef0132685d BUG#23527: set global query_cache_size can crash the server under
high load

MySQL server could crash if two or more threads would initiate query
cache resize at the moments very close in time.

The problem was introduced with the fix of bug 21051 in 5.0 and 5.1:
simultaneous query cache resizes would wait for the first one in
progress, but then each thread would try to finish the operation,
accessing the data that was already reset (attempt to dereference
'bins' pointer, which may be NULL already).

The solution is to check after synchronization if another thread has
done the reset already (test 'query_cache_size > 0' again).

No test case is provided because the bug is a subject to a race.


sql/sql_cache.cc:
  We release 'structure_guard_mutex' in flush_cache(), so after the
  call we check if another thread had reset the cache before us.
2007-01-25 20:00:12 +03:00
unknown
7f2a0175b6 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-marvel
into  mockturtle.local:/home/dlenev/src/mysql-5.1-merge


mysql-test/t/sp-error.test:
  Auto merged
sql/sql_table.cc:
  Auto merged
2007-01-25 14:58:45 +03:00
unknown
a0a847fd45 Merge bk-internal.mysql.com:/data0/bk/mysql-5.1
into  bk-internal.mysql.com:/data0/bk/mysql-5.1-marvel


mysql-test/t/myisam.test:
  Auto merged
mysql-test/t/ndb_basic.test:
  Auto merged
2007-01-25 12:28:00 +01:00
unknown
430cbe1d14 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  mockturtle.local:/home/dlenev/src/mysql-5.1-merge
2007-01-25 12:40:11 +03:00
unknown
d8eb51aec6 Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  mockturtle.local:/home/dlenev/src/mysql-5.1-merge


sql/mysqld.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
2007-01-25 11:26:07 +03:00
unknown
1cf8117863 Merge mysql.com:/home/svoj/devel/bk/mysql-5.1
into  mysql.com:/home/svoj/devel/mysql/merge/mysql-5.1-engines


mysql-test/r/symlink.result:
  Auto merged
mysql-test/t/symlink.test:
  Auto merged
sql/lock.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/table.cc:
  Auto merged
storage/federated/ha_federated.cc:
  Auto merged
storage/myisam/mi_check.c:
  Auto merged
storage/myisam/mi_packrec.c:
  Auto merged
mysql-test/r/myisam.result:
  Manually merged.
mysql-test/t/myisam.test:
  Manually merged.
2007-01-25 01:44:30 +04:00
unknown
53491b1800 Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  weblab.(none):/home/marcsql/TREE/mysql-5.1-21029


Makefile.am:
  Auto merged
sql/Makefile.am:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2007-01-24 14:43:09 -07:00
unknown
39cc6d117b Bug#21029 (Dependencies between sql_yacc.cc and dependent headers not detected)
The build scripts in general, using automake, autoconf, etc, contain several
special commands and work around all related to the way the bison code in the
parser is built, for sql/sql_yacc.yy. These work arounds, accumulated over
time during development, ultimately cause the build scripts to be unstable
and cause build defects by not enforcing dependencies.

This fix simplifies the build process and aligns it with the automake tooling,
which provides native support for bison and *.yy files.

In particular, the following problem have been fixed:
- dependencies with sql_yacc.cc were not honored (Bug 21029), leading to
  corrupted builds,
- the work around introduced by Bug 24557, to cleanup the generated files
  sql_yacc.h and sql_yacc.cc, has been removed,
- the generated makefile, in a source distribution, used to destroy the files
  sql_yacc.h and sql_yacc.cc on a 'make clean' target. This has been fixed:
  these files are now removed by make maintainer-clean.
- The root cause of the problem found with gcc 4.1 (see Bug 24619) has been
  clearly documented, and the "sed" hack has been replaced by a cleaner
  work around, when building the code with bison 1.875.
- Removed the file sql/sql_yacc.yy.bak, added by WL 3031 by accident.
- Removed the unnecessary AM_YFLAG= --debug introduced by WL 3432, since
  the compiling option DBUG_OFF takes precedence when setting YYDEBUG.


BitKeeper/deleted/.del-sql_yacc.yy.bak:
  Rename: sql/sql_yacc.yy.bak -> BitKeeper/deleted/.del-sql_yacc.yy.bak
Makefile.am:
  General cleanup of the build process for sql_yacc.yy
sql/Makefile.am:
  General cleanup of the build process for sql_yacc.yy
sql/sql_yacc.yy:
  General cleanup of the build process for sql_yacc.yy
2007-01-24 14:40:39 -07:00
unknown
491ef6af00 Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  mockturtle.local:/home/dlenev/src/mysql-5.1-merge


mysql-test/t/disabled.def:
  Auto merged
mysql-test/t/ps.test:
  Auto merged
sql/sql_view.cc:
  Auto merged
2007-01-24 19:26:06 +03:00
unknown
a45938bf5a Merge mockturtle.local:/home/dlenev/src/mysql-5.0-bg24491
into  mockturtle.local:/home/dlenev/src/mysql-5.1-bg24491


mysql-test/t/sp-error.test:
  Auto merged
sql/item.h:
  Auto merged
sql/sql_table.cc:
  Auto merged
mysql-test/r/ps.result:
  SCCS merged
mysql-test/r/sp-error.result:
  SCCS merged
mysql-test/t/disabled.def:
  SCCS merged
mysql-test/t/ps.test:
  SCCS merged
2007-01-24 10:42:57 +03:00
unknown
186e3ee534 Bug#24392 (SHOW ENGINE MUTEX STATUS is a synonym for SHOW INNODB STATUS)
Before this fix, the command SHOW ENGINE <name> STATUS would:
- print a warning if the engine name is unknown,
- proceed and implement the same behavior as SHOW ENGINE ALL STATUS,
and list the status of all the storage engines registered.

In particular, this behavior caused confusion about the command :
SHOW ENGINE MUTEX STATUS, which as a side effect would print the status
of the innodb engine when that engine is registered.

Also, before this fix, every time an unknown engine name was substituted by
the default engine (which happen unless SQL_MODE NO_ENGINE_SUBSTITUTION is
set), a malformed warning was raised.
For example, the command ALTER TABLE T1 ENGINE = X would print :
Warnings:
Error 1286 Unknown table engine 'X'

With this fix:
SHOW ENGINE <name> STATUS|LOGS|MUTEX
always fails with an error when the engine <name> is unknown.

For other commands, warnings about unknown engines are raised as:
Warnings:
Warning 1286 Unknown table engine 'X'

In other words, engine substitution never affect the SHOW ENGINE command,
since this would lead to very confusing results.


mysql-test/r/ndb_dd_basic.result:
  Warnings for unknown engines.
mysql-test/r/partition_innodb.result:
  Warnings for unknown engines.
mysql-test/r/ps_1general.result:
  Fixed SHOW ENGINE <name> STATUS|LOGS|MUTEX
mysql-test/r/show_check.result:
  Fixed SHOW ENGINE <name> STATUS|LOGS|MUTEX
mysql-test/t/ps_1general.test:
  Fixed SHOW ENGINE <name> STATUS|LOGS|MUTEX
mysql-test/t/show_check.test:
  Fixed SHOW ENGINE <name> STATUS|LOGS|MUTEX
sql/sql_yacc.yy:
  Fixed SHOW ENGINE <name> STATUS|LOGS|MUTEX
2007-01-23 15:14:08 -07:00
unknown
ffb51e1592 Merge bk-internal:/home/bk/mysql-5.1
into  production.mysql.com:/usersnfs/mjorgensen/bktrees/mysql-5.1-build


sql/ha_ndbcluster.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
2007-01-23 20:38:00 +01:00
unknown
dd5523d997 Merge xiphis.org:/home/antony/work2/p1-bug25396.4
into  xiphis.org:/home/antony/work2/p1-bug25396.5


sql/ha_ndbcluster.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
2007-01-23 08:34:50 -08:00
unknown
f80084bff9 Merge pnousiainen@bk-internal.mysql.com:/home/bk/mysql-5.1-ndb
into  clam.ndb.mysql.com:/export/space/pekka/ndb/version/my51-ndb
2007-01-23 14:59:05 +01:00
unknown
c64b504af0 Merge mysql.com:/data0/mysqldev/users/tomas/mysql-5.0-build
into  mysql.com:/data0/mysqldev/users/tomas/mysql-5.1-build


configure.in:
  Auto merged
cmd-line-utils/readline/undo.c:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
storage/myisam/mi_packrec.c:
  Auto merged
2007-01-23 14:53:59 +01:00
unknown
8b54310bfb Bug#25567 records() call performs scan in NDB, performance bug
mysql-test/r/ndb_basic.result:
  from spaces, to tabs. what fun!
sql/ha_ndbcluster.h:
  fix estimate_rows_upper_bound() to be correct for NDB
sql/sql_select.cc:
  use non-exact records information
2007-01-24 00:27:19 +11:00
unknown
d48e864f2f Bug#25396
"Valgrind leak in closecon_handlerton"
  plugin_shutdown() calls plugin_deinitialize() which calls ha_finalize_handlerton().
  ndbcluster_end() fails to wait for the ndb utility thread to exit which results in
  the handlerton struct being freed before the ndb utility thread has destroyed it's THD
  but before the plugin has been marked as UNINITIALIZED

Bug is caused by misuse of abort_loops variable and not locking mutex during calls to
pthread condition variable functions causing a race in valgrind's pthread_cond_wait
implementation.


sql/ha_ndbcluster.cc:
  Bug25396
  Valgrind requires that mutex be held during call to pthread_cond_signal.
  Change pthread_cond_timedwait() to pthread_cond_wait() where the timeout is not needed.
  Ensure that appropiate variables are protected by mutex.
  Remove use of abort_loop global variable.
  Ensure that ndbcluster_end waits for util thread to exit.
  Add an extra cond_var as insurance against non-conforming pthreads implementations.
sql/mysqld.cc:
  Bug25386
  Valgrind requires that mutex be held during call to pthread_cond_signal.
BUILD/compile-amd64-valgrind-max:
  New BitKeeper file ``BUILD/compile-amd64-valgrind-max''
2007-01-23 05:09:14 -08:00
unknown
5f544ed032 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  mockturtle.local:/home/dlenev/src/mysql-5.0-bg24491


sql/item.h:
  Auto merged
mysql-test/r/ps.result:
  Manual merge.
mysql-test/t/ps.test:
  Manual merge.
2007-01-23 15:57:46 +03:00
unknown
29a9f743ae Merge clam.ndb.mysql.com:/export/space/pekka/ndb/version/my50-ndb
into  clam.ndb.mysql.com:/export/space/pekka/ndb/version/my51-ndb


sql/ha_ndbcluster.cc:
  Auto merged
2007-01-23 13:22:48 +01:00
unknown
1dead07d14 Proposed fix for bug#24491 "using alias from source table in insert ...
on duplicate key".

INSERT ... SELECT ... ON DUPLICATE KEY UPDATE which was used in
stored routine or as prepared statement and which in its ON DUPLICATE
KEY clause erroneously tried to assign value to a column mentioned only
in its SELECT part was properly emitting error on the first execution
but succeeded on the second and following executions.

Code which is responsible for name resolution of fields mentioned in
UPDATE clause (e.g. see select_insert::prepare()) modifies table list
and Name_resolution_context used in this process. It uses
Name_resolution_context_state::save_state/restore_state() to revert
these modifications. Unfortunately those two methods failed to revert
properly modifications to TABLE_LIST::next_name_resolution_table
and this broke name resolution process for successive executions.

This patch fixes Name_resolution_context_state::save_state/restore_state()
in such way that it properly handles TABLE_LIST::next_name_resolution_table.


mysql-test/r/ps.result:
  Added test case for bug#24491 "using alias from source table in insert ...
  on duplicate key"
mysql-test/r/sp-error.result:
  Added test case for bug#24491 "using alias from source table in insert ...
  on duplicate key"
mysql-test/t/ps.test:
  Added test case for bug#24491 "using alias from source table in insert ...
  on duplicate key"
mysql-test/t/sp-error.test:
  Added test case for bug#24491 "using alias from source table in insert ...
  on duplicate key"
sql/item.h:
  Name_resolution_context::save_state/restore_state():
    At the moment these methods are used only by code implementing
    INSERT and INSERT ... SELECT statements. This code doesn't modify
   'next_name_resolution_table' member of table list element
    corresponding to the first table of SELECT clause (pointed by
    'first_name_resolution_table'). But it modifies table list element
    corresponding to the target table of INSERT (pointed by 'table_list')
    So these methods were changed to reflect this.
2007-01-23 15:03:48 +03:00
unknown
25fb32ef84 ndb - bug#25562 use byte-size max_data_length() when setting blob part size
sql/ha_ndbcluster.cc:
  bug#25562 use byte-size max_data_length() when setting blob part size
2007-01-23 12:58:10 +01:00
unknown
8f9198ca0b Merge poseidon.mysql.com:/home/tomas/mysql-5.0-ndb
into  poseidon.mysql.com:/home/tomas/mysql-5.1-new-ndb


sql/ha_ndbcluster.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
storage/ndb/include/kernel/signaldata/DumpStateOrd.hpp:
  Auto merged
storage/ndb/include/portlib/NdbMem.h:
  Auto merged
storage/ndb/src/common/debugger/EventLogger.cpp:
  Auto merged
storage/ndb/src/common/portlib/NdbMem.c:
  Auto merged
storage/ndb/src/common/util/ConfigValues.cpp:
  Auto merged
storage/ndb/src/common/util/File.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/qmgr/Qmgr.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/qmgr/QmgrMain.cpp:
  Auto merged
storage/ndb/src/kernel/vm/Configuration.cpp:
  Auto merged
storage/ndb/src/kernel/vm/Configuration.hpp:
  Auto merged
storage/ndb/src/mgmsrv/ConfigInfo.cpp:
  Auto merged
storage/ndb/test/ndbapi/testNodeRestart.cpp:
  Auto merged
storage/ndb/test/run-test/daily-basic-tests.txt:
  Auto merged
mysql-test/r/ndb_basic.result:
  manual merge
mysql-test/t/ndb_basic.test:
  manual merge
storage/ndb/src/ndbapi/ndberror.c:
  manual merge
2007-01-23 07:25:24 +07:00
unknown
188899cdfc bug#25746 ndb: 4209 error with 2 VARCHAR primary keys
- post review changes
2007-01-23 07:12:03 +07:00
unknown
0add38d8bd Merge perch.ndb.mysql.com:/home/jonas/src/mysql-5.1
into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb


sql/mysqld.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
2007-01-22 22:25:56 +01:00
unknown
5f9e20de6c bug#25746 ndb: 4209 error with 2 VARCHAR primary keys
- make sure keys are copied correctly when varchar has 2 length bytes
- test case


mysql-test/r/ndb_basic.result:
  bug#25746 ndb: 4209 error with 2 VARCHAR primary keys
  - test case
mysql-test/t/ndb_basic.test:
  bug#25746 ndb: 4209 error with 2 VARCHAR primary keys
  - test case
sql/ha_ndbcluster.cc:
  bug#25746 ndb: 4209 error with 2 VARCHAR primary keys
  - make sure keys are copied correctly when varchar has 2 length bytes
2007-01-23 00:34:00 +07:00
unknown
a043cd152d Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  mysql.com:/home/my/mysql-5.1


BUILD/SETUP.sh:
  Auto merged
mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
  Auto merged
mysql-test/extra/rpl_tests/rpl_row_basic.test:
  Auto merged
mysql-test/include/mix1.inc:
  Auto merged
mysql-test/r/sp.result:
  Auto merged
mysql-test/r/view.result:
  Auto merged
mysql-test/t/ctype_utf8.test:
  Auto merged
mysql-test/t/delayed.test:
  Auto merged
mysql-test/t/innodb.test:
  Auto merged
mysql-test/t/insert_select.test:
  Auto merged
mysql-test/t/myisam.test:
  Auto merged
mysql-test/t/ndb_index_unique.test:
  Auto merged
mysql-test/t/rpl_row_create_table.test:
  Auto merged
mysql-test/t/rpl_sp.test:
  Auto merged
mysql-test/t/sp.test:
  Auto merged
mysql-test/t/type_binary.test:
  Auto merged
mysql-test/t/type_varchar.test:
  Auto merged
mysql-test/t/view.test:
  Auto merged
sql/handler.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
mysql-test/r/rpl_sp.result:
  Manual merge
mysql-test/t/ndb_update.test:
  Manual merge
sql/share/errmsg.txt:
  Manual merge
2007-01-22 19:18:22 +02:00
unknown
b4f80eedf3 Give warnings for unused objects
Changed error message to be compatible with old error file
Added new error message for new DUP_ENTRY syntax


BUILD/SETUP.sh:
  Give warnings for unused objects
mysql-test/extra/binlog_tests/insert_select-binlog.test:
  Changed to use new error message
mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
  Changed to use new error message
mysql-test/extra/rpl_tests/rpl_auto_increment.test:
  Changed to use new error message
mysql-test/extra/rpl_tests/rpl_foreign_key.test:
  Changed to use new error message
mysql-test/extra/rpl_tests/rpl_insert_id.test:
  Changed to use new error message
mysql-test/extra/rpl_tests/rpl_insert_id_pk.test:
  Changed to use new error message
mysql-test/extra/rpl_tests/rpl_loaddata.test:
  Changed to use new error message
mysql-test/extra/rpl_tests/rpl_row_basic.test:
  Changed to use new error message
mysql-test/extra/rpl_tests/rpl_stm_EE_err2.test:
  Changed to use new error message
mysql-test/extra/rpl_tests/rpl_trig004.test:
  Changed to use new error message
mysql-test/include/mix1.inc:
  Changed to use new error message
mysql-test/include/mix2.inc:
  Changed to use new error message
mysql-test/include/ps_modify.inc:
  Changed to use new error message
mysql-test/include/query_cache.inc:
  Changed to use new error message
mysql-test/include/varchar.inc:
  Changed to use new error message
mysql-test/r/create.result:
  Changed to use new error message
mysql-test/r/rpl_sp.result:
  Changed to use new error message
mysql-test/r/sp.result:
  Changed to use new error message
mysql-test/r/view.result:
  Changed to use new error message
mysql-test/t/auto_increment.test:
  Changed to use new error message
mysql-test/t/create.test:
  Changed to use new error message
mysql-test/t/create_select_tmp.test:
  Changed to use new error message
mysql-test/t/ctype_utf8.test:
  Changed to use new error message
mysql-test/t/delayed.test:
  Changed to use new error message
mysql-test/t/heap.test:
  Changed to use new error message
mysql-test/t/heap_btree.test:
  Changed to use new error message
mysql-test/t/heap_hash.test:
  Changed to use new error message
mysql-test/t/innodb.test:
  Changed to use new error message
mysql-test/t/insert_select.test:
  Changed to use new error message
mysql-test/t/insert_update.test:
  Changed to use new error message
mysql-test/t/join_outer.test:
  Changed to use new error message
mysql-test/t/key.test:
  Changed to use new error message
mysql-test/t/merge.test:
  Changed to use new error message
mysql-test/t/myisam.test:
  Changed to use new error message
mysql-test/t/ndb_charset.test:
  Changed to use new error message
mysql-test/t/ndb_index_unique.test:
  Changed to use new error message
mysql-test/t/ndb_insert.test:
  Changed to use new error message
mysql-test/t/ndb_replace.test:
  Changed to use new error message
mysql-test/t/ndb_update.test:
  Changed to use new error message
mysql-test/t/replace.test:
  Changed to use new error message
mysql-test/t/rpl_err_ignoredtable.test:
  Changed to use new error message
mysql-test/t/rpl_row_create_table.test:
  Changed to use new error message
mysql-test/t/rpl_skip_error-slave.opt:
  Changed to use new error message
mysql-test/t/rpl_sp.test:
  Changed to use new error message
mysql-test/t/show_check.test:
  Changed to use new error message
mysql-test/t/sp-error.test:
  Changed to use new error message
mysql-test/t/sp.test:
  Changed to use new error message
mysql-test/t/sp_trans.test:
  Changed to use new error message
mysql-test/t/temp_table.test:
  Changed to use new error message
mysql-test/t/type_binary.test:
  Changed to use new error message
mysql-test/t/type_bit.test:
  Changed to use new error message
mysql-test/t/type_bit_innodb.test:
  Changed to use new error message
mysql-test/t/type_blob.test:
  Changed to use new error message
mysql-test/t/type_varchar.test:
  Changed to use new error message
mysql-test/t/view.test:
  Changed to use new error message
sql/handler.cc:
  ER_DUP_ENTRY -> ER_DUP_ENTRY_WITH_KEY_NAME
sql/share/errmsg.txt:
  Changed error message to be compatible with old error file
  Added new error message for new DUP_ENTRY syntax
sql/sql_table.cc:
  ER_DUP_ENTRY -> ER_DUP_ENTRY_WITH_KEY_NAME
sql-bench/example:
  Example file for how to run tests
2007-01-22 18:42:52 +02:00
unknown
6d76c8f328 Merge trift2.:/MySQL/M50/mysql-5.0
into  trift2.:/MySQL/M50/push-5.0


configure.in:
  Auto merged
myisam/mi_packrec.c:
  Use fix by Magnus.
2007-01-22 10:32:22 +01:00
unknown
a854d46cef Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  mockturtle.local:/home/dlenev/src/mysql-5.0-bg25044


sql/sql_table.cc:
  Auto merged
2007-01-20 14:10:20 +03:00
unknown
701b785e14 Merge mockturtle.local:/home/dlenev/src/mysql-5.0-bg25044
into  mockturtle.local:/home/dlenev/src/mysql-5.1-bg25044


sql/sql_table.cc:
  Auto merged
2007-01-19 23:23:45 +03:00
unknown
ac5e6f60a8 Fix for bug #25044 "ALTER TABLE ... ENABLE KEYS acquires global 'opening
tables' lock."

Execution of ALTER TABLE ... ENABLE KEYS on a table (which can take rather
long time) prevented concurrent execution of all statements using tables.

The problem was caused by the fact that we were holding LOCK_open mutex
during whole duration of this statement and particularly during call
to handler::enable_indexes(). This behavior was introduced as part of the
fix for bug 14262 "SP: DROP PROCEDURE|VIEW (maybe more) write to binlog
too late (race cond)"

The patch simply restores old behavior. Note that we can safely do this as
this operation takes exclusive lock (similar to name-lock) which blocks both
DML and DDL on the table being altered.

It also introduces mysql-test/include/wait_show_pattern.inc helper script
which is used to make test-case for this bug robust enough.


mysql-test/include/wait_slave_status.inc:
  Now wait_slave_status.inc reuses more generic wait_output_matches.inc script.
sql/sql_table.cc:
  mysql_alter_table():
    Changed ALTER TABLE ... ENABLE/DISABLE KEYS not to hold LOCK_open mutex
    during call to handler::enable_indexes() as the latter can take rather
    long time and therefore such ALTER would block execution of all other
    statements that use tables. We can safely do this as this operation takes 
    exclusive lock (similar to name-lock) on the table which is altered.
mysql-test/include/wait_show_pattern.inc:
  New BitKeeper file ``mysql-test/include/wait_show_pattern.inc''
mysql-test/r/alter_table-big.result:
  New BitKeeper file ``mysql-test/r/alter_table-big.result''
mysql-test/t/alter_table-big.test:
  New BitKeeper file ``mysql-test/t/alter_table-big.test''
2007-01-19 23:15:59 +03:00
unknown
fd534e03a6 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  mysql.com:/usr/home/ram/work/bug22533/my50-bug22533


mysql-test/r/select.result:
  Auto merged
mysql-test/t/select.test:
  Auto merged
2007-01-19 08:56:03 +04:00
unknown
79abf2be44 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.1-maint
into  mysql.com:/usr/home/ram/work/bug22533/my51-bug22533


mysql-test/r/select.result:
  Auto merged
mysql-test/t/select.test:
  Auto merged
sql/field.cc:
  Auto merged
sql/item.cc:
  Auto merged
2007-01-19 08:54:10 +04:00
unknown
f99f791790 Merge weblab.(none):/home/marcsql/TREE/mysql-5.0-24562-merge
into  weblab.(none):/home/marcsql/TREE/mysql-5.1-24562-merge


mysql-test/r/alter_table.result:
  Auto merged
mysql-test/t/alter_table.test:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2007-01-18 18:43:11 -07:00
unknown
6c6a2785e9 Manual merge 2007-01-18 18:37:52 -07:00
unknown
0a665ab072 Fix merge problem. 2007-01-18 18:02:58 -05:00
unknown
aff1113b08 Merge siva.hindu.god:/home/tsmith/m/bk/mrg-jan17/maint/50
into  siva.hindu.god:/home/tsmith/m/bk/mrg-jan17/maint/51


client/mysql_upgrade.c:
  Auto merged
client/mysqlbinlog.cc:
  Auto merged
include/my_pthread.h:
  Auto merged
include/my_sys.h:
  Auto merged
mysql-test/r/sp.result:
  Auto merged
mysql-test/t/sp.test:
  Auto merged
mysys/string.c:
  Auto merged
sql/mysqld.cc:
  Auto merged
mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
2007-01-18 10:38:49 -07:00
unknown
73dcec7678 Merge siva.hindu.god:/home/tsmith/m/bk/mrg-jan17/51
into  siva.hindu.god:/home/tsmith/m/bk/mrg-jan17/maint/51


client/mysqlbinlog.cc:
  Auto merged
configure.in:
  Auto merged
include/config-win.h:
  Auto merged
include/my_global.h:
  Auto merged
include/my_pthread.h:
  Auto merged
mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/t/disabled.def:
  Auto merged
sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/table.cc:
  Auto merged
storage/myisam/mi_packrec.c:
  Use local
2007-01-18 10:30:39 -07:00
unknown
e594d61625 Merge siva.hindu.god:/home/tsmith/m/bk/mrg-jan17/50
into  siva.hindu.god:/home/tsmith/m/bk/mrg-jan17/maint/50


client/mysqlbinlog.cc:
  Auto merged
include/my_pthread.h:
  Auto merged
mysql-test/r/sp.result:
  Auto merged
mysql-test/t/mix_innodb_myisam_binlog.test:
  Auto merged
mysql-test/t/sp.test:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_parse.cc:
  Manual merge
2007-01-18 10:06:36 -07:00
unknown
61430c77a4 Merge siva.hindu.god:/home/tsmith/m/bk/mrg-jan17/51
into  siva.hindu.god:/home/tsmith/m/bk/mrg-jan17/maint/51


BUILD/check-cpu:
  Auto merged
configure.in:
  Auto merged
include/my_global.h:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/r/sp.result:
  Auto merged
mysql-test/r/type_enum.result:
  Auto merged
mysql-test/r/udf.result:
  Auto merged
mysql-test/r/view.result:
  Auto merged
mysql-test/t/mysqladmin.test:
  Auto merged
mysql-test/t/sp.test:
  Auto merged
mysql-test/t/type_enum.test:
  Auto merged
mysql-test/t/view.test:
  Auto merged
mysys/my_read.c:
  Auto merged
scripts/make_binary_distribution.sh:
  Auto merged
server-tools/instance-manager/Makefile.am:
  Auto merged
sql/event_queue.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/item_sum.h:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/share/errmsg.txt:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/table.cc:
  Auto merged
storage/federated/ha_federated.cc:
  Auto merged
server-tools/instance-manager/instance.cc:
  Use remote (global 5.1 version)
sql/unireg.cc:
  Use remote (5.1 global version)
mysql-test/t/trigger.test:
  Manual merge
server-tools/instance-manager/guardian.cc:
  Manual merge
2007-01-18 08:30:35 -07:00
unknown
50f32533f9 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  mysql.com:/usr/home/ram/work/bug22533/my50-bug22533


mysql-test/r/type_bit.result:
  Auto merged
mysql-test/t/select.test:
  Auto merged
sql/field.cc:
  Auto merged
sql/item.cc:
  Auto merged
2007-01-18 17:10:00 +04:00