myisam/mi_delete.c:
Auto merged
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/item_func.cc:
Auto merged
sql/opt_range.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_db.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_show.cc:
Auto merged
- improve the stability of the executor
- make create event if not exists work as before
sql/event.cc:
refactoring:
- have only 1 routine for comparing TIME structures
fix:
- after previous refactoring IF NOT EXISTS of CREATE EVENT did not work
anymore. Now it will work.
sql/event.h:
update definitions
sql/event_executor.cc:
- don't load DISABLED events
- if an event is being disabled because of time restrictions - drop it from the
prio queue
- move dropping to the worker process
sql/event_priv.h:
- remove unneeded func
sql/share/errmsg.txt:
fix error message
sql/sql_parse.cc:
- support 0 rows affected when CREATE EVENT IF NOT EXISTS
into mysql.com:/home/mydev/mysql-5.0-bug5390
BitKeeper/deleted/.del-ha_blackhole.cc~727c69ef7846623a:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_update.cc:
Auto merged
Problem #1: INSERT...SELECT, Version for 5.1.
Extended the unique table check by a check of lock data.
Merge sub-tables cannot be detected by doing name checks only.
mysql-test/r/create.result:
BUG#5390 - problems with merge tables
Removed a duplicate test.
mysql-test/r/merge.result:
BUG#5390 - problems with merge tables
Problem #1: INSERT...SELECT
Added test results.
mysql-test/t/create.test:
BUG#5390 - problems with merge tables
Removed a duplicate test.
mysql-test/t/merge.test:
BUG#5390 - problems with merge tables
Problem #1: INSERT...SELECT
Added tests.
sql/lock.cc:
BUG#5390 - problems with merge tables
Problem #1: INSERT...SELECT, Version for 5.1.
Added a new function to find a duplicate lock in a list of tables.
sql/mysql_priv.h:
Problem #1: INSERT...SELECT, Version for 5.1.
Added the thread handle to unique_table().
Added a declaration for the new function.
sql/sql_base.cc:
BUG#5390 - problems with merge tables
Problem #1: INSERT...SELECT, Version for 5.1.
Added the thread handle to unique_table().
Added a call to the new mysql_lock_have_duplicate(),
which needs the thread handle, to unique_table().
sql/sql_delete.cc:
BUG#5390 - problems with merge tables
Problem #1: INSERT...SELECT, Version for 5.1.
Added the thread handle to unique_table().
sql/sql_insert.cc:
BUG#5390 - problems with merge tables
Problem #1: INSERT...SELECT, Version for 5.1.
Added the thread handle to unique_table().
sql/sql_load.cc:
BUG#5390 - problems with merge tables
Problem #1: INSERT...SELECT, Version for 5.1.
Added the thread handle to unique_table().
sql/sql_parse.cc:
BUG#5390 - problems with merge tables
Problem #1: INSERT...SELECT, Version for 5.1.
Added the thread handle to unique_table().
sql/sql_update.cc:
BUG#5390 - problems with merge tables
Problem #1: INSERT...SELECT, Version for 5.1.
Added the thread handle to unique_table().
Replaced a call to find_table_in_local_list() by
the newly extended unique_table().
Problem #1: INSERT...SELECT, Version for 5.1.
Extended the unique table check by a check of lock data.
Merge sub-tables cannot be detected by doing name checks only.
into zim.(none):/home/brian/mysql/cluster-5.1
mysql-test/r/information_schema.result:
Auto merged
mysql-test/r/information_schema_db.result:
Auto merged
sql/ha_partition.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.h:
Auto merged
1) Fixes breakage in embedded server build for XMLPath push.
2) Hides PARTITION engine from view.
3) Add ENGINES information schema (and it should now be clear from this patch on how to turn any show command into an information schema).
libmysqld/Makefile.am:
Fix for embedded server to build.
mysql-test/r/information_schema.result:
Fix for additional information_schema
mysql-test/r/information_schema_db.result:
Fix for adding additional engines information schema.
mysql-test/t/information_schema.test:
Added test to make sure that engines information schema works.
sql/ha_partition.cc:
Made PARTITION hidden in information schema.
sql/sql_parse.cc:
Added additional case for engine information schema.
sql/sql_show.cc:
Code for ENGINES information schema.
sql/sql_yacc.yy:
Extended grammer to support new ENGINES information schema
sql/table.h:
Comment on dependency in information schema.
libmysqld/item_xmlfunc.cc:
New BitKeeper file ``libmysqld/item_xmlfunc.cc''
1) Fixes breakage in embedded server build for XMLPath push.
2) Hides PARTITION engine from view.
3) Add ENGINES information schema (and it should now be clear from this patch on how to turn any show command into an information schema).
into xiphis.org:/home/antony/work3/mysql-5.1-plugable-2
configure.in:
Auto merged
mysql-test/r/bdb.result:
Auto merged
mysql-test/r/information_schema.result:
Auto merged
mysql-test/t/bdb.test:
Auto merged
sql/Makefile.am:
Auto merged
sql/ha_archive.cc:
Auto merged
sql/ha_berkeley.cc:
Auto merged
sql/ha_federated.cc:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_myisam.cc:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_partition.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/item_sum.cc:
Auto merged
sql/log.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_partition.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_view.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.cc:
Auto merged
sql/table.h:
Auto merged
sql/sql_table.cc:
SCCS merged
Problem #1: INSERT...SELECT, Version for 5.0.
Extended the unique table check by a check of lock data.
Merge sub-tables cannot be detected by doing name checks only.
mysql-test/r/create.result:
BUG#5390 - problems with merge tables
Removed a duplicate test.
mysql-test/r/merge.result:
BUG#5390 - problems with merge tables
Problem #1: INSERT...SELECT
Added test results.
mysql-test/t/create.test:
BUG#5390 - problems with merge tables
Removed a duplicate test.
mysql-test/t/merge.test:
BUG#5390 - problems with merge tables
Problem #1: INSERT...SELECT
Added tests.
sql/lock.cc:
BUG#5390 - problems with merge tables
Problem #1: INSERT...SELECT, Version for 5.0.
Added a new function to find a duplicate lock in a list of tables.
sql/mysql_priv.h:
BUG#5390 - problems with merge tables
Problem #1: INSERT...SELECT, Version for 5.0.
Added the thread handle to unique_table().
Added a declaration for the new function.
sql/sql_base.cc:
BUG#5390 - problems with merge tables
Problem #1: INSERT...SELECT, Version for 5.0.
Added the thread handle to unique_table().
Added a call to the new mysql_lock_have_duplicate(),
which needs the thread handle, to unique_table().
sql/sql_delete.cc:
BUG#5390 - problems with merge tables
Problem #1: INSERT...SELECT, Version for 5.0.
Added the thread handle to unique_table().
sql/sql_insert.cc:
BUG#5390 - problems with merge tables
Problem #1: INSERT...SELECT, Version for 5.0.
Added the thread handle to unique_table().
sql/sql_load.cc:
BUG#5390 - problems with merge tables
Problem #1: INSERT...SELECT, Version for 5.0.
Added the thread handle to unique_table().
sql/sql_parse.cc:
BUG#5390 - problems with merge tables
Problem #1: INSERT...SELECT, Version for 5.0.
Added the thread handle to unique_table().
sql/sql_update.cc:
BUG#5390 - problems with merge tables
Problem #1: INSERT...SELECT, Version for 5.0.
Added the thread handle to unique_table().
Replaced a call to find_table_in_local_list() by
the newly extended unique_table().
Problem #1: INSERT...SELECT, Version for 5.0.
Extended the unique table check by a check of lock data.
Merge sub-tables cannot be detected by doing name checks only.
fix bug with DROP EVENT non_existant; giving back OK + warning
sql/share/errmsg.txt:
fix error message
sql/sql_parse.cc:
check the result from the function so in case of non-existing
event don't return OK which will make the error already thrown
an warning
- fix EVENT_ACL problem that GRANT ALL on some_db.* to someone@somewhere did not get to mysql.db
- fix crash when the following is executed :
CREATE EVENT P() CREATE EVENT E ON SCHEDULER 1 SECOND DO ROLLBACK;
(creation works as well as calling P() which creates the event).
mysql-test/lib/init_db.sql:
- fix init_db.sql so add Event_priv to the database privs, many tests failed because of that
ommision
- remove the quotes from the column names
mysql-test/t/events.test:
- fix the small test, don't create own db
scripts/mysql_fix_privilege_tables.sql:
- fix that
sql/event.cc:
- be defensive and don't crash if outside has already has opened some table
sql/event_executor.cc:
- show in SHOW PROCESSLIST - "event_scheduler" as name of the user of the main thread
- use "localhost" as the host where event_scheduler comes from
- comment out some debug info, fix other debug info
sql/event_timed.cc:
- enable EVENT creation inside SP. sphead from lex->sphead goes to et->sphead. it's there only
if we compile the event. OTOH when doing
CREATE PROCEDURE PROC() CREATE EVENT SOME_EV ON SCHEDULE EVERY 1 SECOND DO ROLLBACK;
I have only to get the body of the event which is anonymous SP. Before it being "compiled"
but then freed without being used because a bit later it is compiled one more time before
being put in the events cache. So it was good that the memory structures weren't reused but
scrapped out. Now lex->sphead is not needed during event creation but only where the event's
body starts and where it ends so to be able at later stage to compile this anonymous SP (the
body of the event).
sql/sp_head.cc:
- copy over a fix to a crash
sql/sql_acl.h:
- fix privileges.
There was _NO_ documentation about that. Another CHUNK had to be created to so EVENT_ACL gets shifted to
it's place in the db table. So how this is calculated? EVENT_ACL is 1 << 26. Remember 26, see which poistion
in the db table is EVENT_ACL, it's 17, counted from 0. 26 - 17 = 9, then shift it with 9.
CHUNKS are created because in some cases some privileges are in chunks and they are shifted at once. There are
few chunks of such privileges which has to be shifted to get to exactly the structure of mysql.db table.
sql/sql_parse.cc:
- ok, we don't care anymore about lex->sphead because our sphead is lex->et->sphead
sql/sql_yacc.yy:
- bail out if new event_timed returns 0x0
- enable creation of an event inside a SP
CREATE PROCEDURE P() CREATE EVENT E ON SCHEDULE EVERY 1 SECOND DO SELECT 1;
- fix EVENT_ACL problem that GRANT ALL on some_db.* to someone@somewhere did not get to mysql.db
- fix crash when the following is executed :
CREATE EVENT P() CREATE EVENT E ON SCHEDULER 1 SECOND DO ROLLBACK;
(creation works as well as calling P() which creates the event).
into lmy004.:/work/mysql-5.1-tt-copy-works
libmysqld/Makefile.am:
Auto merged
sql/Makefile.am:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/table.cc:
Auto merged
(cleanups, leaks fixed)
sql/event.cc:
- update comments
- remove dead code
- event_timed is no more copied after allocation on a DYNAMIC_ARRAY
because there is a problem when the array is reallocated - we get
dangling pointers from the scheduling queue. anyway it makes little
sense to keep them there except that cleaning is quite efficient but
iterating over all events and cleaning them one by one is not that bad
considering that happens only when the main scheduler thread is killed
or during server shutdown.
sql/event_executor.cc:
- DYNAMIC_ARRAY is no more
sql/event_priv.h:
- remove unneeded code/defines. the scheduler's queue is of
type QUEUE and cannot run anymore on top of DYNAMIC_ARRAY
sql/event_timed.cc:
- after parsing (in ::compile() ) destruct the event_timed object
sql/sql_parse.cc:
in case of syntax error clean up lex->et because there could be an object
created. as in the code the same is done for SPs.
into mysql.com:/home/jimw/my/mysql-5.1-clean
mysql-test/r/sp.result:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_db.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/sql_base.cc:
Resolve conflict
into rurik.mysql.com:/home/igor/dev/mysql-5.0-2
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_func.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
into mysql.com:/home/alik/MySQL/devel/5.1-wl2984-merge
mysql-test/r/show_check.result:
Auto merged
mysql-test/r/sp.result:
Auto merged
BitKeeper/deleted/.del-type_newdecimal-big.result:
Auto merged
BitKeeper/deleted/.del-type_newdecimal-big.test:
Auto merged
mysql-test/t/show_check.test:
Auto merged
sql/field.h:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_func.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sp.cc:
Auto merged
sql/sp_head.h:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.h:
Auto merged
sql/sql_trigger.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/field.cc:
Merge.
sql/sp_head.cc:
Merge.
sql/sql_select.cc:
Merge.
- fix a bug introduced with last commit ALTER EVENT a RENAME TO b; failed
- misc
sql/event.cc:
- rename evex_db_find_routine_aux() to evex_db_find_event_aux() (better name)
- change parameter order of db_update_event()
- last bits to handle errors as close as possible to the place they occur
- fix a bug introduced with last commit: first check for overwriting and event and then
check whether the original one exists
sql/event.h:
add a new error code returned by event_timed::compile() in case of
error
sql/event_priv.h:
rename
sql/event_timed.cc:
- function rename
- add a bit of doc
sql/share/errmsg.txt:
- extend an error message so it's more informative
- add a new error message
sql/sql_parse.cc:
refactor the cases for CREATE/ALTER/DROP event so use as much common
code as possible. last bits of error checking unneeded in sql_parse.cc
thrwon out.
(strip m_ as prefix from member variables' names)
sql/event.cc:
- change copyright years
- remove m_ prefix from member variables (I liked m_)
- reorder parameter in evex_update_event()
sql/event.h:
- change copyright years
- remove m_ prefix from member variables
- declare some member variables as private (were public)
- delete 0 is valid in C++ therefore don't embrace with if()
sql/event_executor.cc:
- executor => scheduler in messages
- fix a bug introduced in last commit -> typo in a mutex name
- remove m_ prefix from member variables
sql/event_priv.h:
- change copyright years
sql/event_timed.cc:
- change copyright years
- strip m_ as prefix from member variables' names
sql/sql_parse.cc:
- strip m_ as prefix from member variables' names
sql/sql_yacc.yy:
- strip m_ as prefix from member variables names
Problem #1: INSERT...SELECT, Version for 4.1.
INSERT ... SELECT with the same table on both sides (hidden
below a MERGE table) does now work by buffering the select result.
The duplicate detection works now after open_and_lock_tables()
on the locks.
I did not find a test case that failed without the change in
sql_update.cc. I made the change anyway as it should in theory
fix a possible MERGE table problem with multi-table update.
libmysqld/ha_blackhole.cc:
BUG#5390 - problems with merge tables
No idea, how the symlink change made it into my patch.
mysql-test/r/create.result:
BUG#5390 - problems with merge tables
Removed a duplicate test.
mysql-test/r/merge.result:
BUG#5390 - problems with merge tables
Problem #1: INSERT...SELECT, Version for 4.1.
Added test results.
mysql-test/t/create.test:
BUG#5390 - problems with merge tables
Removed a duplicate test.
mysql-test/t/merge.test:
BUG#5390 - problems with merge tables
Problem #1: INSERT...SELECT, Version for 4.1.
Added tests.
sql/lock.cc:
BUG#5390 - problems with merge tables
Problem #1: INSERT...SELECT, Version for 4.1.
Added a new function to find a duplicate lock in a list of tables.
sql/mysql_priv.h:
BUG#5390 - problems with merge tables
Problem #1: INSERT...SELECT, Version for 4.1.
Added a declaration for the new function.
sql/sql_parse.cc:
BUG#5390 - problems with merge tables
Problem #1: INSERT...SELECT, Version for 4.1.
Changed the duplicate tables detection for INSERT ... SELECT
to use the new function, which does also work for MERGE tables.
sql/sql_update.cc:
BUG#5390 - problems with merge tables
Problem #1: INSERT...SELECT, Version for 4.1.
Changed the duplicate tables detection for UPDATE
to use the new function, which does also work for MERGE tables.
Problem #1: INSERT...SELECT, Version for 4.1.
INSERT ... SELECT with the same table on both sides (hidden
below a MERGE table) does now work by buffering the select result.
The duplicate detection works now after open_and_lock_tables()
on the locks.
I did not find a test case that failed without the change in
sql_update.cc. I made the change anyway as it should in theory
fix a possible MERGE table problem with multi-table update.
sql/event.cc:
-my_error() as close as possible to the place where the error
occurs.
-a thought how to replicate events
-use close_thread_tables() in some cases and for others rely on
this call being done in sql_parse.cc::do_command()
sql/event.h:
remove redundant defines
sql/event_executor.cc:
- reenable the compilation again
- don't backup the open_tables_state, it's not needed
sql/event_timed.cc:
- inline a bit
- comment added
sql/mysqld.cc:
- start mysqld with --event-scheduler=0 by default
sql/share/errmsg.txt:
3 new messages
sql/sql_parse.cc:
remove now obsolete error checking - the errors are reported
as closer as possible to the place where they are detected
sql/sql_yacc.yy:
add WARNING message. fix a bug that was corrupting
thd->client_capabilites ->
select count(*) from mysql.event
was reporting : "Unknown table test.event"!!!
Using temporal variable is nice but IMO quite error-prone.