Commit graph

200 commits

Author SHA1 Message Date
unknown
fa1d637e89 A set of changes aiming to make the Event Scheduler more user-friendly
when there are no up-to-date system tables to support it:
 - initialize the scheduler before reporting "Ready for connections".
   This ensures that warnings, if any, are printed before "Ready for
   connections", and this message is not mangled.
 - do not abort the scheduler if there are no system tables
 - check the tables once at start up, remember the status and disable
   the scheduler if the tables are not up to date.
   If one attempts to use the scheduler with bad tables,
   issue an error message.
 - clean up the behaviour of the module under LOCK TABLES and pre-locking
   mode
 - make sure implicit commit of Events DDL works as expected.
 - add more tests


Collateral clean ups in the events code.

This patch fixes Bug#23631 Events: SHOW VARIABLES doesn't work 
when mysql.event is damaged


mysql-test/r/events.result:
  Update results.
mysql-test/r/events_bugs.result:
  Update results.
mysql-test/r/events_restart_phase1.result:
  Update results.
mysql-test/r/events_restart_phase2.result:
  Update results.
mysql-test/r/events_restart_phase3.result:
  Update results.
mysql-test/r/events_scheduling.result:
  Update results.
mysql-test/r/events_time_zone.result:
  Update results.
mysql-test/t/events.test:
  Add new tests for tampering with mysql.event and some more
  tests for sub-statements, LOCK TABLES mode and pre-locking.
mysql-test/t/events_bugs.test:
  Move the non-concurrent part of test for Bug 16420 to this file.
mysql-test/t/events_restart_phase1.test:
  Rewrite events_restart_* tests to take into account that now
  we check mysql.event table only once, at server startup.
mysql-test/t/events_restart_phase2.test:
  Rewrite events_restart_* tests to take into account that now
  we check mysql.event table only once, at server startup.
mysql-test/t/events_restart_phase3.test:
  Rewrite events_restart_* tests to take into account that now
  we check mysql.event table only once, at server startup.
mysql-test/t/events_scheduling.test:
  Add more coverage for event_scheduler global variable.
mysql-test/t/events_time_zone.test:
  Move the non-concurrent part of the tests for Bug 16420 to 
  events_bugs.test
sql/event_data_objects.cc:
  Move update_timing_fields functionality to Event_db_repository.
  Make loading of events from a table record more robust to tampering
  with the table - now we do not check mysql.event on every table open.
sql/event_data_objects.h:
  Cleanup.
sql/event_db_repository.cc:
  Now Event_db_repository is responsible for table I/O only.
  All the logic of events DDL is handled outside, in Events class please
  refer to the added test coverage to see how this change affected
  the behavior of Event Scheduler.
  Dependency on sp_head.h and sp.h removed.
  Make this module robust to tweaks with mysql.event table.
  Move check_system_tables from events.cc to this file
sql/event_db_repository.h:
  Cleanup declarations (remove unused ones, change return type to bool
  from int).
sql/event_queue.cc:
  Update to adapt to the new start up scheme of the Event Scheduler.
sql/event_queue.h:
  Cleanup declarations.
sql/event_scheduler.cc:
  Make all the error messages uniform:
  [SEVERITY] Event Scheduler: [user][schema.event] message
  Using append_identifier for error logging was an overkill - we may 
  need it only if the system character set may have NUL (null character)
  as part of a valid identifier, this is currently never the case, 
  whereas additional quoting did not look nice in the log.
sql/event_scheduler.h:
  Cleanup the headers.
sql/events.cc:
  Use a different start up procedure of Event Scheduler:
  - at start up, try to check the system tables first.
  If they are not up-to-date, disable the scheduler.
  - try to load all the active events. In case of a load error, abort
  start up.
  - do not parse an event on start up. Parsing only gives some information
  about event validity, but far not all.
  Consolidate the business logic of Events DDL in this module.
  Now opt_event_scheduler may change after start up and thus is protected
  by LOCK_event_metadata mutex.
sql/events.h:
  Use all-static-data-members approach to implement Singleton pattern.
sql/mysqld.cc:
  New invocation scheme of Events. Move some logic to events.cc.
  Initialize the scheduler before reporting "Ready for connections".
sql/set_var.cc:
  Clean up sys_var_thd_sql_mode::symbolic_mode_representation
  to work with a LEX_STRING.
  Move more logic related to @@events_scheduler global variable to Events
  module.
sql/set_var.h:
  Update declarations.
sql/share/errmsg.txt:
  If someone tampered with mysql.event table after the server has
  started we no longer give him/her a complete report what was actually 
  broken. Do not send the user to look at the error log in such case,
  as there is nothing there (check_table_intact is not executed).
sql/sp_head.cc:
  Update to a new declaration of 
  sys_var_thd_sql_mode::symbolic_mode_representation
sql/sql_db.cc:
  New invocation scheme of Events module.
sql/sql_parse.cc:
  Move more logic to Events module. Make sure that we are consistent
  in the way access rights are checked for Events DDL: always
  after committing the current transaction and checking the system tables.
sql/sql_show.cc:
  Update to the new declarations of 
  sys_var_thd_sql_mode::symbolic_mode_representation
sql/sql_test.cc:
  New invocation scheme of events.
sql/table.cc:
  mysql.event is a system table.
  Update check_table_intact to be concurrent, more verbose, and less smart.
sql/table.h:
  Add a helper method.
mysql-test/r/events_trans.result:
  New BitKeeper file ``mysql-test/r/events_trans.result''
mysql-test/t/events_trans.test:
  New BitKeeper file ``mysql-test/t/events_trans.test'':
  test cases for Event Scheduler that require a transactional
  storage engine.
2007-04-05 15:24:34 +04:00
unknown
67da87d82e Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-5.1
into  ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-5.1-marvel


mysql-test/t/sp.test:
  Auto merged
mysys/typelib.c:
  Auto merged
sql/event_data_objects.cc:
  Auto merged
sql/event_db_repository.cc:
  Auto merged
sql/event_queue.cc:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/item_func.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sp.cc:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
sql/strfunc.cc:
  Auto merged
sql/table.cc:
  Auto merged
include/typelib.h:
  Merged from 5.1 main tree.
mysql-test/r/sp.result:
  Merged from 5.1 main tree.
2007-04-04 21:25:39 +03:00
unknown
e552b08fcd Merge bk-internal.mysql.com:/data0/bk/mysql-5.1
into  bk-internal.mysql.com:/data0/bk/mysql-5.1-marvel


client/mysql.cc:
  Auto merged
client/mysqlbinlog.cc:
  Auto merged
sql/event_data_objects.cc:
  Auto merged
sql/event_db_repository.cc:
  Auto merged
sql/event_queue.cc:
  Auto merged
sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
strings/ctype-utf8.c:
  Auto merged
2007-04-03 13:51:31 +02:00
unknown
7b1bfbb77a Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  bodhi.local:/opt/local/work/mysql-5.1-runtime


mysql-test/r/events_bugs.result:
  Auto merged
mysql-test/r/ps.result:
  Auto merged
mysql-test/t/events.test:
  Auto merged
sql/event_data_objects.cc:
  Auto merged
sql/event_data_objects.h:
  Auto merged
sql/event_db_repository.h:
  Auto merged
sql/event_queue.cc:
  Auto merged
sql/events.cc:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_servers.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/table.h:
  Auto merged
sql/share/errmsg.txt:
  Auto merged
mysql-test/r/events.result:
  Manual merge.
sql/event_db_repository.cc:
  Manual merge.
sql/sql_parse.cc:
  Manual merge.
2007-04-03 14:34:37 +04:00
unknown
af26b2b87e WL#3629 - Replication of Invocation and Invoked Features
This patch corrects errors that occurred in a local manual merge.
It adds the originator column in the results of the SHOW EVENTS command
for a series of tests.

The only code change is to correct references to the classname in
enums.


mysql-test/r/events.result:
  WL#3629 - Replication of Invocation and Invoked Features
    
  This patch corrects errors that occurred in a local manual merge.
  It adds the originator column in the results of the SHOW EVENTS command.
mysql-test/r/events_bugs.result:
  WL#3629 - Replication of Invocation and Invoked Features
    
  This patch corrects errors that occurred in a local manual merge.
  It adds the originator column in the results of the SHOW EVENTS command.
mysql-test/r/events_time_zone.result:
  WL#3629 - Replication of Invocation and Invoked Features
    
  This patch corrects errors that occurred in a local manual merge.
  It adds the originator column in the results of the SHOW EVENTS command.
mysql-test/r/mysqldump.result:
  WL#3629 - Replication of Invocation and Invoked Features
    
  This patch corrects errors that occurred in a local manual merge.
  It adds the originator column in the results of the SHOW EVENTS command.
mysql-test/r/ps.result:
  WL#3629 - Replication of Invocation and Invoked Features
    
  This patch corrects errors that occurred in a local manual merge.
  It adds the originator column in the results of the SHOW EVENTS command.
mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result:
  WL#3629 - Replication of Invocation and Invoked Features
    
  This patch corrects errors that occurred in a local manual merge.
  It adds the originator column in the results of the SHOW EVENTS command.
sql/event_data_objects.cc:
  WL#3629 - Replication of Invocation and Invoked Features
    
  This patch corrects errors that occurred in a local manual merge.
  It adds the classname to the enums appearing in another patch.
2007-03-29 11:11:28 -04:00
unknown
4a0f5887b7 Merge cbell@bk-internal.mysql.com:/home/bk/mysql-5.1-new-rpl
into  mysql_cab_desk.:C:/source/c++/mysql-5.1-new-rpl


mysql-test/t/events.test:
  Auto merged
sql/event_queue.cc:
  Auto merged
sql/events.cc:
  Auto merged
sql/lex.h:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
BitKeeper/deleted/.del-init_db.sql~a77d572c39d5a1f8:
  WL#3629 : Replication of Invocation and Invoked Features
  
  Manual merge prior to pushing patches.
BitKeeper/deleted/.del-mysql_create_system_tables.sh:
  WL#3629 : Replication of Invocation and Invoked Features
  
  Manual merge prior to pushing patches.
mysql-test/r/events.result:
  WL#3629 : Replication of Invocation and Invoked Features
  
  Manual merge prior to pushing patches.
mysql-test/r/events_grant.result:
  WL#3629 : Replication of Invocation and Invoked Features
  
  Manual merge prior to pushing patches.
mysql-test/r/events_restart_phase1.result:
  WL#3629 : Replication of Invocation and Invoked Features
  
  Manual merge prior to pushing patches.
mysql-test/r/system_mysql_db.result:
  WL#3629 : Replication of Invocation and Invoked Features
  
  Manual merge prior to pushing patches.
mysql-test/t/events_restart_phase1.test:
  WL#3629 : Replication of Invocation and Invoked Features
  
  Manual merge prior to pushing patches.
scripts/mysql_system_tables.sql:
  WL#3629 : Replication of Invocation and Invoked Features
  
  Manual merge prior to pushing patches.
scripts/mysql_system_tables_fix.sql:
  WL#3629 : Replication of Invocation and Invoked Features
  
  Manual merge prior to pushing patches.
sql/event_data_objects.cc:
  WL#3629 : Replication of Invocation and Invoked Features
  
  Manual merge prior to pushing patches.
sql/event_data_objects.h:
  WL#3629 : Replication of Invocation and Invoked Features
  
  Manual merge prior to pushing patches.
sql/event_db_repository.cc:
  WL#3629 : Replication of Invocation and Invoked Features
  
  Manual merge prior to pushing patches.
sql/event_db_repository.h:
  WL#3629 : Replication of Invocation and Invoked Features
  
  Manual merge prior to pushing patches.
sql/sql_udf.cc:
  WL#3629 : Replication of Invocation and Invoked Features
  
  Manual merge prior to pushing patches.
2007-03-29 09:54:59 -04:00
unknown
75686dc73f WL#3629 - Replication of Invocation and Invoked Features
This patch corrects errors that occurred in a local manual merge as a result
of updating the local repository and includes changes necessary to correct 
problems found during the recalculation of next execution of events in RBR.


mysql-test/include/rpl_events.inc:
  WL#3629 - Replication of Invocation and Invoked Features
  
  This patch changes the rpl_events test to be more comprehensive in catching
  errors as a result of RBR. Changes include clarification of SELECTs with
  WHERE clauses and synchronization with master and slave.
mysql-test/r/rpl_events.result:
  WL#3629 - Replication of Invocation and Invoked Features
  
  This patch changes the results for the rpl_events test to accomodate the changes
  in the test.
scripts/mysql_system_tables.sql:
  WL#3629 - Replication of Invocation and Invoked Features
  
  This patch adds the originator column and a new enum value to the mysql.event table.
  This change was necessary to accomodate changes as a result of other patches.
sql/event_data_objects.cc:
  WL#3629 - Replication of Invocation and Invoked Features
  
  This patch corrects an error in merging that occurred during manual merge.
  The status check was changed to include either ENABLED or DISABLED in the
  gate to change the status to SLAVESIDE_DISABLED for events replicated to 
  the slave.
  
  This patch also includes an update to correct a problem encountered during
  testing after the local merge. The update_timing_fields method is replicating
  the timing changes in RBR to the slave thereby over writing the change to the
  status column in the process. This code includes a check to turn off the next
  binlog event if in RBR.
sql/event_queue.cc:
  WL#3629 - Replication of Invocation and Invoked Features
  
  This patch corrects an error in merging that occurred during manual merge.
  The code was corrected to include both types of disabled status enums
  (DISABLED, SLAVESIDE_DISABLED) in the create_event and update_event methods.
sql/sql_show.cc:
  WL#3629 - Replication of Invocation and Invoked Features
  
  This patch corrects an error in merging that occurred during manual merge.
  It corrects the order in which the originator column appears in the show
  structures. The error caused incorrect output on SHOW EVENTS commands.
2007-03-29 08:17:19 -04:00
unknown
f5940fe904 Remove unnecessary casts to uchar. The casts are stemming from
the lexer API which internally uses  unsigned char variables to
address its state map. The implementation of the lexer should be
internal to the lexer, and not influence the rest of the code.


sql/event_data_objects.cc:
  Clean up unnecessary type casts.
sql/event_data_objects.h:
  Clean up unnecessary type casts.
sql/ha_ndbcluster.cc:
  Clean up unnecessary type casts.
sql/mysql_priv.h:
  Clean up unnecessary type casts.
sql/partition_info.h:
  Clean up unnecessary type casts.
sql/sp.cc:
  Clean up unnecessary type casts.
sql/sp_head.cc:
  Clean up unnecessary type casts.
sql/sp_head.h:
  Clean up unnecessary type casts.
sql/sql_lex.cc:
  Clean up unnecessary type casts.
sql/sql_lex.h:
  Clean up unnecessary type casts.
sql/sql_parse.cc:
  Clean up unnecessary type casts.
sql/sql_partition.cc:
  Clean up unnecessary type casts.
sql/sql_partition.h:
  Clean up unnecessary type casts.
sql/sql_prepare.cc:
  Clean up unnecessary type casts.
sql/sql_trigger.cc:
  Clean up unnecessary type casts.
sql/sql_view.cc:
  Clean up unnecessary type casts.
sql/sql_yacc.yy:
  Clean up unnecessary type casts.
sql/table.cc:
  Clean up unnecessary type casts.
sql/table.h:
  Clean up unnecessary type casts.
2007-03-27 21:09:56 +04:00
unknown
ff1d6b2252 Merge mysql_cab_desk.:C:/source/c++/mysql-5.1-new-rpl
into  mysql_cab_desk.:C:/source/c++/mysql-5.1_WL_3629


BitKeeper/deleted/.del-init_db.sql~a77d572c39d5a1f8:
  Auto merged
BitKeeper/deleted/.del-mysql_create_system_tables.sh:
  Auto merged
scripts/mysql_system_tables_fix.sql:
  Auto merged
sql/event_data_objects.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/event_data_objects.h:
  Manual merge.
sql/event_queue.cc:
  Manual merge.
sql/events.cc:
  Manual merge.
2007-03-26 09:57:16 -04:00
unknown
212ecf348c Removed not used define YY_MAGIC_BELOW
Made year 2000 handling more uniform
Removed year 2000 handling out from calc_days()
The above removes some bugs in date/datetimes with year between 0 and 200
Now we get a note when we insert a datetime value into a date column
For default values to CREATE, don't give errors for warning level NOTE
Fixed some compiler failures
Added library ws2_32 for windows compilation (needed if we want to compile with IOCP support)
Removed duplicate typedef TIME and replaced it with MYSQL_TIME

Better (more complete) fix for: Bug#21103 "DATE column not compared as DATE"
Fixed properly Bug#18997 "DATE_ADD and DATE_SUB perform year2K autoconversion magic on 4-digit year value"
Fixed Bug#23093 "Implicit conversion of 9912101 to date does not match cast(9912101 as date)"


include/my_time.h:
  Removed not used define YY_MAGIC_BELOW
  Added prototype for year_2000_handling()
mysql-test/r/date_formats.result:
  Updated results (fixed bug in date_format() with year < 99)
mysql-test/r/func_sapdb.result:
  Added more testing of make_date()
mysql-test/r/func_time.result:
  Fixed bug in date_sub() with years < 200
mysql-test/r/ps_2myisam.result:
  Now we get a note when we insert a datetime value into a date column
mysql-test/r/ps_3innodb.result:
  Now we get a note when we insert a datetime value into a date column
mysql-test/r/ps_4heap.result:
  Now we get a note when we insert a datetime value into a date column
mysql-test/r/ps_5merge.result:
  Now we get a note when we insert a datetime value into a date column
mysql-test/r/ps_7ndb.result:
  Now we get a note when we insert a datetime value into a date column
mysql-test/r/type_date.result:
  Added test for date conversions
mysql-test/r/type_datetime.result:
  Added testcase for datetime to date conversion.
mysql-test/t/date_formats.test:
  Added testing of dates < 200
mysql-test/t/func_sapdb.test:
  More testing of makedate()
mysql-test/t/type_date.test:
  Added test for date conversions
mysql-test/t/type_datetime.test:
  Added testcase for datetime to date conversion.
sql/CMakeLists.txt:
  Added library ws2_32 (needed if we want to compile with IOCP support)
sql/event_data_objects.cc:
  TIME -> MYSQL_TIME
sql/event_db_repository.cc:
  TIME -> MYSQL_TIME
sql/event_queue.cc:
  TIME -> MYSQL_TIME
sql/field.cc:
  Give note if we insert a datetime value in a date field
  Don't give notes if we are doing internal test conversions (like from convert_constant_item())
  More documentation (store functions can now return '3' to inform that the function did return a NOTE (not warning or error))
  Revert some changes in Field_newdate::store() to get more optimal code
  Field::set_warning() will now ignore notes if CHECK_FIELD_IGNORE is set.
  New parameters to make_truncated_value_warning()
sql/field.h:
  TIME -> MYSQL_TIME
sql/item.cc:
  New parameters to make_truncated_value_warning()
  Fixed get_date() to call number_to_datetime() if argument is not a string.
  Fixes Bug#23093 Implicit conversion of 9912101 to date does not match cast(9912101 as date)
sql/item.h:
  TIME -> MYSQL_TIME
sql/item_cmpfunc.cc:
  Don't print notes in convert_constant_item()
sql/item_func.h:
  TIME -> MYSQL_TIME
sql/item_timefunc.cc:
  New parameters to make_truncated_value_warning()
  Moved year 2000 handling out from calc_days()
  Don't return NULL for years < 200 in date_add/date_sub
sql/item_timefunc.h:
  TIME -> MYSQL_TIME
sql/my_decimal.cc:
  TIME -> MYSQL_TIME
sql/my_decimal.h:
  TIME -> MYSQL_TIME
sql/mysql_priv.h:
  Added error level to make_truncated_value_warning()
sql/protocol.cc:
  TIME -> MYSQL_TIME
sql/protocol.h:
  TIME -> MYSQL_TIME
sql/sp.cc:
  TIME -> MYSQL_TIME
sql/sql_base.cc:
  Make testing of result value of save_in_field() uniform
sql-common/my_time.c:
  Added year_2000_handling()
  Removed year 2000 handling from calc_daynr()
sql/sql_class.h:
  TIME -> MYSQL_TIME
sql/sql_show.cc:
  TIME -> MYSQL_TIME
sql/structs.h:
  TIME -> MYSQL_TIME
sql/time.cc:
  Added error level to make_truncated_value_warning()
sql/tztime.cc:
  TIME -> MYSQL_TIME
sql/tztime.h:
  TIME -> MYSQL_TIME
sql/unireg.cc:
  For default values to CREATE, don't give errors for warning level NOTE
  (Fixed failed CREATE when we give a datetime value to a date field)
strings/ctype-utf8.c:
  Fixed compiler failures
win/README:
  More comments
2007-03-23 22:08:31 +02:00
unknown
b2d3dddef5 Change module prefix in error messages: SCHEDULER -> Event Scheduler,
to not collide with the recently introduced thread scheduler module.


mysql-test/r/events.result:
  Update test results with new error texts (SCHEDULER -> Event Scheduler,
  grammar).
sql/event_data_objects.cc:
  SCHEDULER -> Event Scheduler.
sql/event_queue.cc:
  SCHEDULER -> Event Scheduler.
sql/event_scheduler.cc:
  SCHEDULER -> Event Scheduler.
sql/events.cc:
  SCHEDULER -> Event Scheduler.
sql/share/errmsg.txt:
  SCHEDULER -> Event Scheduler. Fix English grammar.
2007-03-23 19:14:08 +03:00
unknown
57dc12563f Trivial cleanups and whitespace change in Event Scheduler code.
A larger patch is to come, this is to exclude rudimentary changes
from it.


sql/event_data_objects.cc:
  Whitespace change.
sql/event_data_objects.h:
  Remove debug allocators - we have safemalloc.
sql/event_db_repository.cc:
  Whitespace change.
sql/event_db_repository.h:
  Whitespace change.
sql/event_queue.cc:
  Remove an unused structure. Whitespace change.
sql/event_queue.h:
  Whitespace.
sql/event_scheduler.cc:
  Whitespace change.
sql/event_scheduler.h:
  Add comments. Whitespace change.
sql/events.cc:
  Whitespace change.
sql/events.h:
  Trivial cleanups.
2007-03-23 18:14:03 +03:00
unknown
858ff63811 Fix warnings on Windows.
sql/event_data_objects.cc:
  Fix Windows 64 bit build warnings. No better fix exists at the moment.
2007-03-21 20:32:15 +03:00
unknown
998260ae5a Fix compilation on Windows broken with the push of bug#16420.
Fix three compilation warnings.


sql/event_data_objects.cc:
  Fix compilation warnings.
sql/event_queue.cc:
  Fix compilation warning: reimplement event_queue_element_compare_q()
  properly.
  
  Use set_timespec() to initialize struct timespec.
2007-03-16 20:50:37 +03:00
unknown
086fba7627 BUG#16420: Events: timestamps become UTC
BUG#26429: SHOW CREATE EVENT is incorrect for an event that
           STARTS NOW()
BUG#26431: Impossible to re-create an event from backup if its
           STARTS clause is in the past
WL#3698: Events: execution in local time zone

The problem was that local times specified by the user in AT, STARTS
and ENDS of CREATE EVENT/ALTER EVENT statement were converted to UTC,
and the original time zone was forgotten.  This way, event scheduler
couldn't honor Daylight Saving Time shifts, and times shown to the
user were also in UTC.  Additionally, CREATE EVENT didn't allow times
in the past, thus preventing straightforward event restoration from
old backups.

This patch reworks event scheduler time computations, performing them
in the time zone associated with the event.  Also it allows times to
be in the past.

The patch adds time_zone column to mysql.event table.

NOTE: The patch is almost final, but the bug#9953 should be pushed
first.


client/mysqldump.c:
  Before every CREATE EVENT, output its time zone.
mysql-test/include/wait_condition.inc:
  Add optional $wait_timeout parameter.
mysql-test/lib/init_db.sql:
  Add time_zone column.
mysql-test/r/events.result:
  Update result.
mysql-test/r/events_bugs.result:
  Update result.
mysql-test/r/events_grant.result:
  Update result.
mysql-test/r/events_restart_phase1.result:
  Update result.
mysql-test/r/events_scheduling.result:
  Update result.
mysql-test/r/mysqldump.result:
  Update result.
mysql-test/r/ps.result:
  Update result.
mysql-test/r/system_mysql_db.result:
  Update result.
mysql-test/t/events.test:
  Remove STARTS from the result, as it depends on current time.
mysql-test/t/events_bugs.test:
  Time in the past is no longer an error.
mysql-test/t/events_restart_phase1.test:
  Fill new column 'time_zone' in mysql.event.
mysql-test/t/events_scheduling.test:
  Cleanup: disable event scheduler.
scripts/mysql_create_system_tables.sh:
  Add new column 'time_zone' to mysql.event.
scripts/mysql_fix_privilege_tables.sql:
  Add new column 'time_zone' to mysql.event.
sql/event_data_objects.cc:
  The essence of the change is the following:
   - for internal times use my_time_t instead of TIME.  Assignment and
     comparison is done now on plain numbers.
   - in init_execute_at(), init_starts(), init_ends() convert given time
     to number of seconds since Epoch (aka Unix time, in UTC).
   - handle time_zone field loading and storing.
   - in get_next_time(), Unix time is converted back to event time zone,
     interval is added, and the result is converted to UTC again.
   - fix Event_timed::get_create_event() to report STARTS and ENDS.
   - before executing the event body we set thread time zone to the
     event time zone.
sql/event_data_objects.h:
  Add time_zone member to Event_basic class.
  
  Store internal times in my_time_t (number of seconds since Epoch),
  rather than in broken down TIME structure.
sql/event_db_repository.cc:
  Add time_zone column handling.
  
  Give a warning and do not create an event if its execution time is in
  the past, and ON COMPLETION NOT PRESERVE is set, because such an event
  should be dropped by that time.  Also, do not allow ALTER EVENT to
  set execution time in the past when ON COMPLETION NOT PRESERVE is set.
sql/event_db_repository.h:
  Add enum member for new time zone column.
sql/event_queue.cc:
  Replace handling of broken down times with simple handling of
  my_time_t.
sql/event_queue.h:
  Store internal times in my_time_t (number of seconds since Epoch),
  rather than in broken down TIME structure.
sql/event_scheduler.cc:
  Add TODO comment.
sql/events.cc:
  Send time_zone column for SHOW CREATE EVENT.
sql/share/errmsg.txt:
  Update error message, and add two more errors.
sql/sql_show.cc:
  Add TIME_ZONE column to the output of SHOW EVENTS.
mysql-test/r/events_time_zone.result:
  BitKeeper file /home/tomash/src/mysql_ab/mysql-5.1-wl3698/mysql-test/r/events_time_zone.result
mysql-test/t/events_time_zone.test:
  BitKeeper file /home/tomash/src/mysql_ab/mysql-5.1-wl3698/mysql-test/t/events_time_zone.test
2007-03-16 17:31:07 +03:00
unknown
62b41b5fbc WL#3629 - Replication of Invocation and Invoked Features
This changeset adds replication of events and user-defined functions. 
There are several bug reports involved in this change:

BUG#16421, BUG#17857, BUG#20384:
This patch modifies the mysql.events table to permit the addition of
another enum value for the status column. The column now has values
of ('DISABLED','SLAVESIDE_DISABLED','ENABLED'). A status of
SLAVESIDE_DISABLED is set on the slave during replication of events.
This enables users to determine which events werereplicated from the 
master and to later enable them if they promote the slave to a master.
The CREATE, ALTER, and DROP statements are binlogged.
A new test was added for replication of events (rpl_events).

BUG#17671:
This patch modifies the code to permit logging of user-defined functions.
Note: this is the CREATE FUNCTION ... SONAME variety. A more friendly error 
message to be displayed should a replicated user-defined function not be
found in the loadable library or if the library is missing from the
slave.The CREATE andDROP statements are binlogged. A new test was added 
for replication of user-defined functions (rpl_udf). 

The patch also adds a new column to the mysql.event table named
'originator' that is used to store the server_id of the server that
the event originated on. This enables users to promote a slave to a 
master and later return the promoted slave to a slave and disable the
replicated events.


mysql-test/lib/init_db.sql:
  WL#3629 - Replication of Invocation and Invoked Feature
  This patch adds the SLAVESIDE_DISABLED to the list of enumerated 
  values for the mysql.event table.
  
  This patch adds the column 'originator' to the mysql.event table.
mysql-test/r/events.result:
  WL#3629 - Replication of Invocation and Invoked Feature
  This patch adds the 'originator' column to the events test results.
  This was necessary to ensure the manual insert into mysql.event table 
  succeeds because the originator column is set to NOT NULL.
mysql-test/r/events_grant.result:
  WL#3629 - Replication of Invocation and Invoked Feature
  This patch adds the 'originator' column to the events_grant test results.
  This was necessary to ensure the manual insert into mysql.event table 
  succeeds because the originator column is set to NOT NULL.
mysql-test/r/events_restart_phase1.result:
  WL#3629 - Replication of Invocation and Invoked Feature
  This patch adds the 'originator' column to the events_restart_phase1
  test results. This was necessary to ensure the manual insert into 
  mysql.event table succeeds because the originator column is set to 
  NOT NULL.
mysql-test/r/system_mysql_db.result:
  WL#3629 - Replication of Invocation and Invoked Feature
  This patch adds the SLAVESIDE_DISABLED to the list of enumerated 
  values for the mysql.event table.
  
  This patch adds the column 'originator' to the mysql.event table.
  
  These changes to the result file were necessary to ensure correct test
  results.
mysql-test/t/events.test:
  WL#3629 - Replication of Invocation and Invoked Feature
  This patch adds the 'originator' column to the events
  test. This was necessary to ensure the manual insert into 
  mysql.event table succeeds because the originator column is set to 
  NOT NULL.
mysql-test/t/events_restart_phase1.test:
  WL#3629 - Replication of Invocation and Invoked Feature
  This patch adds the 'originator' column to the events_restart_phase1
  test. This was necessary to ensure the manual insert into 
  mysql.event table succeeds because the originator column is set to 
  NOT NULL.
scripts/mysql_create_system_tables.sh:
  WL#3629 - Replication of Invocation and Invoked Feature
  This patch adds the SLAVESIDE_DISABLED to the list of enumerated 
  values for the mysql.event table.
  
  This patch adds the column 'originator' to the mysql.event table.
scripts/mysql_fix_privilege_tables.sql:
  WL#3629 - Replication of Invocation and Invoked Feature
  This patch adds the SLAVESIDE_DISABLED to the list of enumerated 
  values for the mysql.event table.
  
  This patch adds the column 'originator' to the mysql.event table.
sql/event_data_objects.cc:
  WL#3629 - Replication of Invocation and Invoked Features
  This patch modifies the code to permit processing of the new enum
  SLAVESIDE_DISABLED which is set on the slave during replication
  of events. 
  
  This patch uses the new Event_basic:: enumerated values.
sql/event_data_objects.h:
  WL#3629 - Replication of Invocation and Invoked Features
  This patch moves the duplicated enumeration values for ENABLED, 
  SLAVESIDE_DISABLED, and DISABLED to the Event_basic class removing
  them from the other Event_* classes.
sql/event_db_repository.cc:
  WL#3629 - Replication of Invocation and Invoked Features
  This patch modifies the code to permit processing of the new enum
  SLAVESIDE_DISABLED which is set on the slave during replication
  of events. 
  
  The patch also adds a new column to the mysql.event table named
  'originator' that is used to store the server_id of the server that
  the event originated on. This enables users to promote a slave to a 
  master and later return the promoted slave to a slave and disable the
  replicated events.
sql/event_db_repository.h:
  WL#3629 - Replication of Invocation and Invoked Features
  This patch modifies the code to add a new field named 'originator' 
  to the enum_event_table_field and associated structure.
sql/event_queue.cc:
  WL#3629 - Replication of Invocation and Invoked Features
  This patch modifies the code to permit processing of the new enum
  SLAVESIDE_DISABLED which is set on the slave during replication
  of events.
sql/events.cc:
  WL#3629 - Replication of Invocation and Invoked Features
  This patch modifies the code to permit processing of the new enum
  SLAVESIDE_DISABLED which is set on the slave during replication
  of events.
sql/lex.h:
  WL#3629 - Replication of Invocation and Invoked Features
  This patch modifies the code to add the new SLAVESIDE_DISABLE symbol
  to the lexical parser.
sql/slave.cc:
  WL#3629 - Replication of Invocation and Invoked Features
  This patch modifies the code to permit the capture of the error on
  the slave when a UDF from a loadable library is not loaded on the server
  when replicated from the master.
sql/sql_parse.cc:
  WL#3629 - Replication of Invocation and Invoked Features
  This patch removes the comment because drop functions commands 
  are replicated.
sql/sql_show.cc:
  WL#3629 - Replication of Invocation and Invoked Features
  This patch modifies the code to permit processing of the new enum
  SLAVESIDE_DISABLED which is set on the slave during replication
  of events. The code also adds changes the display width of the status
  column for the schema table for the show events command and also adds
  the new column 'originator' to the events_field_info structure.
sql/sql_udf.cc:
  WL#3629 - Replication of Invocation and Invoked Features
  This patch modifies the code to add the binlogging of the create and
  drop function events.
sql/sql_yacc.yy:
  WL#3629 - Replication of Invocation and Invoked Features
  This patch modifies the code to change the enumeration of the status
  column for the events in the parser. The code uses the Event_basic::
  enumerations allowing the enums to be defined in one place.
mysql-test/t/rpl_events.test:
  WL#3629 - Replication of Invocation and Invoked Features
  This patch adds a new test for testing replication of events. The test
  uses include files so that the test can test under both RBR and SBR.
mysql-test/r/rpl_events.result:
  WL#3629 - Replication of Invocation and Invoked Features
  This patch adds a new result file for testing replication of events.
mysql-test/r/rpl_udf.result:
  WL#3629 - Replication of Invocation and Invoked Features
  This patch adds a new result file for testing replication of UDFs.
mysql-test/t/rpl_udf.test:
  WL#3629 - Replication of Invocation and Invoked Features
  This patch adds a new test for testing replication of UDFs. The test
  uses include files so that the test can test under both RBR and SBR.
mysql-test/include/rpl_events.inc:
  WL#3629 - Replication of Invocation and Invoked Features
  This patch adds a new include file for testing replication of events.
  This file contains the core test procedures.
mysql-test/include/rpl_udf.inc:
  WL#3629 - Replication of Invocation and Invoked Features
  This patch adds a new include file for testing replication of UDFs.
  This file contains the core test procedures.
2007-03-16 09:56:57 -04:00
unknown
10ddaa7853 Fix 6 warnings from win64, where one is a potential bug.
sql/event_data_objects.cc:
  Passing time as time_t to function my_time_t requires
  cast to my_time_t since my_time_t are only required to be 32bits.
sql/log.cc:
  Using time_t instead of my_time_t when calculating current_time.
  This is a potential bugfix for problem with mysql_system_db reporting
  slow log as crashed.
sql/sql_show.cc:
  Passing time as time_t to function my_time_t requires
  cast to my_time_t since my_time_t are only required to be 32bits.
2007-03-08 14:29:29 +01:00
unknown
d203b18ee4 A post merge fix. 2007-03-07 16:08:36 +03:00
unknown
25bf1eae6a Merge weblab.(none):/home/marcsql/TREE/mysql-5.1-base
into  weblab.(none):/home/marcsql/TREE/mysql-5.1-rt-merge


mysql-test/r/subselect.result:
  Auto merged
mysql-test/t/ps_1general.test:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
sql/event_data_objects.cc:
  Auto merged
sql/event_queue.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/item_subselect.h:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2007-02-15 14:04:03 -07:00
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
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
f40e0cc0d0 After merge fixes
Removed a lot of compiler warnings
Removed not used variables, functions and labels
Initialize some variables that could be used unitialized (fatal bugs)
%ll -> %l


BitKeeper/etc/ignore:
  added storage/archive/archive_reader
BUILD/SETUP.sh:
  ccache now works again
BUILD/compile-pentium-gcov:
  Added marker that we are using gcov and need special version of ccache
client/mysql_upgrade.c:
  after merge fixes
client/mysqlbinlog.cc:
  after merge fixes
client/mysqldump.c:
  Removed compiler warnings
client/mysqlimport.c:
  Removed compiler warnings
client/mysqltest.c:
  Removed compiler warnings
mysql-test/t/mysqlcheck.test:
  After merge fixes
mysys/my_bitmap.c:
  After merge fix
sql/event_data_objects.cc:
  Removed not used variable
sql/event_db_repository.cc:
  Removed not used variable
sql/event_queue.cc:
  Removed not used variable
sql/field.cc:
  After merge fixes
sql/filesort.cc:
  Added missing initialization (could cause core dump on EOM)
sql/ha_ndbcluster.cc:
  After merge fixes
  Removed not used variables
  false-> FALSE
  true -> TRUE
  %llu -> %lu (portability fix)
  Fixed bug where field could be used unitialized in build_scan_filter_predicate()
sql/ha_ndbcluster_binlog.cc:
  Removed not used label
sql/ha_partition.cc:
  Removed not used variables
sql/handler.cc:
  Removed not used variable & function
sql/item.cc:
  After merge fixes
sql/item_cmpfunc.cc:
  Removed not used variable
sql/item_func.cc:
  Removed compiler warning
sql/item_xmlfunc.cc:
  Removed not used variables & declarations
sql/log.cc:
  Removed compiler warnings
  Removed not used variables & label
sql/log.h:
  After merge fixes
sql/log_event.cc:
  Removed not used variable & function
sql/mysqld.cc:
  After merge fixes
sql/opt_range.cc:
  Removed not used declaration
sql/partition_info.cc:
  Removed not used variable
sql/protocol.cc:
  Removed compiler warnings
sql/set_var.cc:
  Removed not used variable
sql/set_var.h:
  After merge fix
sql/slave.cc:
  After merge fixes
sql/slave.h:
  Moved wrong declaration to slave.cc
sql/sp.cc:
  Fixed format of DBUG_PRINT
sql/sp_head.cc:
  After merge fixes
sql/spatial.cc:
  Added DBUG_ASSERT() to verify that LINT_INIT is right
sql/sql_class.cc:
  Removed not used variables
sql/sql_insert.cc:
  After merge fixes
sql/sql_parse.cc:
  Removed not used variable
  After merge fixes
sql/sql_partition.cc:
  Removed not used variables
sql/sql_plugin.cc:
  Removed compiler warnings when compiling embedded server
sql/sql_servers.cc:
  Removed not used variables
  Moved wrong placed calle to use_all_columns()
sql/sql_servers.h:
  Moved declaration to right sql_servers.cc
sql/sql_show.cc:
  Removed not used variables and function
  After merge fixes
sql/sql_table.cc:
  Removed not used variable
sql/sql_yacc.yy:
  Removed not used variables
  Lex -> lex
sql/table.cc:
  Indentation fix
storage/archive/ha_archive.cc:
  After merge fixes
storage/example/ha_example.cc:
  Indentation fixes
storage/federated/ha_federated.cc:
  Removed not used variables
storage/myisam/mi_rkey.c:
  Added 0x before address
storage/myisammrg/ha_myisammrg.cc:
  Removed old declaration
storage/ndb/include/kernel/signaldata/ArbitSignalData.hpp:
  After merge fixes
storage/ndb/include/util/SimpleProperties.hpp:
  After merge fixes
storage/ndb/src/common/debugger/EventLogger.cpp:
  Removed not used function
storage/ndb/src/kernel/blocks/suma/Suma.cpp:
  Removed compiler warnings
  Removed not used variables
storage/ndb/src/mgmsrv/MgmtSrvr.cpp:
  After merge fixes
  Removed not used variables
storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp:
  Removed not used varibles.
storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp:
  Removed not used variables
storage/ndb/src/ndbapi/NdbOperationDefine.cpp:
  Removed not used variables and label
storage/ndb/src/ndbapi/NdbOperationSearch.cpp:
  Removed not used label
storage/ndb/src/ndbapi/SignalSender.cpp:
  Removed not used function
storage/ndb/src/ndbapi/TransporterFacade.cpp:
  Removed not used variables
storage/ndb/src/ndbapi/ndb_cluster_connection.cpp:
  Moved static declaration from header file
storage/ndb/src/ndbapi/ndb_cluster_connection_impl.hpp:
  Moved static declaration from header file
support-files/compiler_warnings.supp:
  Remove some warnings from ndb
2007-01-29 01:47:35 +02:00
unknown
d7577ecb7d Merge weblab.(none):/home/marcsql/TREE/mysql-5.1-base
into  weblab.(none):/home/marcsql/TREE/mysql-5.1-merge


mysql-test/r/sp.result:
  Auto merged
server-tools/instance-manager/commands.cc:
  Auto merged
server-tools/instance-manager/commands.h:
  Auto merged
server-tools/instance-manager/guardian.cc:
  Auto merged
server-tools/instance-manager/guardian.h:
  Auto merged
server-tools/instance-manager/instance.cc:
  Auto merged
server-tools/instance-manager/instance.h:
  Auto merged
server-tools/instance-manager/instance_map.cc:
  Auto merged
server-tools/instance-manager/instance_map.h:
  Auto merged
server-tools/instance-manager/instance_options.h:
  Auto merged
server-tools/instance-manager/listener.cc:
  Auto merged
server-tools/instance-manager/manager.cc:
  Auto merged
server-tools/instance-manager/manager.h:
  Auto merged
server-tools/instance-manager/user_map.cc:
  Auto merged
sql/event_data_objects.cc:
  Auto merged
sql/event_queue.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/lock.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/set_var.h:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sp_head.h:
  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_prepare.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
storage/csv/ha_tina.cc:
  Auto merged
tests/mysql_client_test.c:
  Auto merged
2007-01-02 14:18:13 -07:00
unknown
92e68d49d7 Many files:
Changed header to GPL version 2 only


client/mysqlslap.c:
  Changed header to GPL version 2 only
include/atomic/nolock.h:
  Changed header to GPL version 2 only
include/atomic/rwlock.h:
  Changed header to GPL version 2 only
include/atomic/x86-gcc.h:
  Changed header to GPL version 2 only
include/atomic/x86-msvc.h:
  Changed header to GPL version 2 only
include/my_atomic.h:
  Changed header to GPL version 2 only
include/my_trie.h:
  Changed header to GPL version 2 only
include/my_vle.h:
  Changed header to GPL version 2 only
include/mysql/plugin.h:
  Changed header to GPL version 2 only
mysys/my_atomic.c:
  Changed header to GPL version 2 only
mysys/my_getncpus.c:
  Changed header to GPL version 2 only
mysys/my_memmem.c:
  Changed header to GPL version 2 only
mysys/my_vle.c:
  Changed header to GPL version 2 only
mysys/trie.c:
  Changed header to GPL version 2 only
plugin/Makefile.am:
  Changed header to GPL version 2 only
server-tools/instance-manager/IMService.h:
  Changed header to GPL version 2 only
server-tools/instance-manager/WindowsService.h:
  Changed header to GPL version 2 only
server-tools/instance-manager/exit_codes.h:
  Changed header to GPL version 2 only
server-tools/instance-manager/user_management_commands.h:
  Changed header to GPL version 2 only
sql/authors.h:
  Changed header to GPL version 2 only
sql/contributors.h:
  Changed header to GPL version 2 only
sql/event_data_objects.cc:
  Changed header to GPL version 2 only
sql/event_data_objects.h:
  Changed header to GPL version 2 only
sql/event_db_repository.cc:
  Changed header to GPL version 2 only
sql/event_db_repository.h:
  Changed header to GPL version 2 only
sql/event_queue.cc:
  Changed header to GPL version 2 only
sql/event_queue.h:
  Changed header to GPL version 2 only
sql/event_scheduler.cc:
  Changed header to GPL version 2 only
sql/event_scheduler.h:
  Changed header to GPL version 2 only
sql/events.cc:
  Changed header to GPL version 2 only
sql/events.h:
  Changed header to GPL version 2 only
sql/ha_ndbcluster_binlog.cc:
  Changed header to GPL version 2 only
sql/ha_ndbcluster_binlog.h:
  Changed header to GPL version 2 only
sql/ha_ndbcluster_tables.h:
  Changed header to GPL version 2 only
sql/ha_partition.cc:
  Changed header to GPL version 2 only
sql/ha_partition.h:
  Changed header to GPL version 2 only
sql/item_xmlfunc.cc:
  Changed header to GPL version 2 only
sql/item_xmlfunc.h:
  Changed header to GPL version 2 only
sql/log.h:
  Changed header to GPL version 2 only
sql/partition_element.h:
  Changed header to GPL version 2 only
sql/partition_info.cc:
  Changed header to GPL version 2 only
sql/partition_info.h:
  Changed header to GPL version 2 only
sql/rpl_filter.cc:
  Changed header to GPL version 2 only
sql/rpl_filter.h:
  Changed header to GPL version 2 only
sql/rpl_injector.cc:
  Changed header to GPL version 2 only
sql/rpl_injector.h:
  Changed header to GPL version 2 only
sql/rpl_mi.cc:
  Changed header to GPL version 2 only
sql/rpl_mi.h:
  Changed header to GPL version 2 only
sql/rpl_rli.cc:
  Changed header to GPL version 2 only
sql/rpl_rli.h:
  Changed header to GPL version 2 only
sql/rpl_tblmap.cc:
  Changed header to GPL version 2 only
sql/rpl_tblmap.h:
  Changed header to GPL version 2 only
sql/rpl_utility.cc:
  Changed header to GPL version 2 only
sql/rpl_utility.h:
  Changed header to GPL version 2 only
sql/sql_binlog.cc:
  Changed header to GPL version 2 only
sql/sql_partition.cc:
  Changed header to GPL version 2 only
sql/sql_partition.h:
  Changed header to GPL version 2 only
sql/sql_plugin.cc:
  Changed header to GPL version 2 only
sql/sql_plugin.h:
  Changed header to GPL version 2 only
sql/sql_servers.cc:
  Changed header to GPL version 2 only
sql/sql_servers.h:
  Changed header to GPL version 2 only
sql/sql_tablespace.cc:
  Changed header to GPL version 2 only
sql/sql_yacc.yy.bak:
  Changed header to GPL version 2 only
storage/Makefile.am:
  Changed header to GPL version 2 only
storage/archive/Makefile.am:
  Changed header to GPL version 2 only
storage/blackhole/Makefile.am:
  Changed header to GPL version 2 only
storage/csv/Makefile.am:
  Changed header to GPL version 2 only
storage/example/Makefile.am:
  Changed header to GPL version 2 only
storage/federated/Makefile.am:
  Changed header to GPL version 2 only
storage/innobase/handler/Makefile.am:
  Changed header to GPL version 2 only
storage/ndb/include/kernel/signaldata/AllocNodeId.hpp:
  Changed header to GPL version 2 only
storage/ndb/include/kernel/signaldata/CreateFilegroup.hpp:
  Changed header to GPL version 2 only
storage/ndb/include/kernel/signaldata/CreateFilegroupImpl.hpp:
  Changed header to GPL version 2 only
storage/ndb/include/kernel/signaldata/CreateObj.hpp:
  Changed header to GPL version 2 only
storage/ndb/include/kernel/signaldata/DictObjOp.hpp:
  Changed header to GPL version 2 only
storage/ndb/include/kernel/signaldata/DihFragCount.hpp:
  Changed header to GPL version 2 only
storage/ndb/include/kernel/signaldata/DropFilegroup.hpp:
  Changed header to GPL version 2 only
storage/ndb/include/kernel/signaldata/DropFilegroupImpl.hpp:
  Changed header to GPL version 2 only
storage/ndb/include/kernel/signaldata/DropObj.hpp:
  Changed header to GPL version 2 only
storage/ndb/include/kernel/signaldata/Extent.hpp:
  Changed header to GPL version 2 only
storage/ndb/include/kernel/signaldata/LgmanContinueB.hpp:
  Changed header to GPL version 2 only
storage/ndb/include/kernel/signaldata/PgmanContinueB.hpp:
  Changed header to GPL version 2 only
storage/ndb/include/kernel/signaldata/RestoreContinueB.hpp:
  Changed header to GPL version 2 only
storage/ndb/include/kernel/signaldata/RestoreImpl.hpp:
  Changed header to GPL version 2 only
storage/ndb/include/kernel/signaldata/RouteOrd.hpp:
  Changed header to GPL version 2 only
storage/ndb/include/kernel/signaldata/TsmanContinueB.hpp:
  Changed header to GPL version 2 only
storage/ndb/include/ndbapi/NdbIndexStat.hpp:
  Changed header to GPL version 2 only
storage/ndb/ndbapi-examples/mgmapi_logevent/mgmapi_logevent.cpp:
  Changed header to GPL version 2 only
storage/ndb/ndbapi-examples/mgmapi_logevent_dual/mgmapi_logevent_dual.cpp:
  Changed header to GPL version 2 only
storage/ndb/ndbapi-examples/ndbapi_async/ndbapi_async.cpp:
  Changed header to GPL version 2 only
storage/ndb/ndbapi-examples/ndbapi_async1/ndbapi_async1.cpp:
  Changed header to GPL version 2 only
storage/ndb/ndbapi-examples/ndbapi_event/ndbapi_event.cpp:
  Changed header to GPL version 2 only
storage/ndb/ndbapi-examples/ndbapi_retries/ndbapi_retries.cpp:
  Changed header to GPL version 2 only
storage/ndb/ndbapi-examples/ndbapi_scan/ndbapi_scan.cpp:
  Changed header to GPL version 2 only
storage/ndb/ndbapi-examples/ndbapi_simple/ndbapi_simple.cpp:
  Changed header to GPL version 2 only
storage/ndb/ndbapi-examples/ndbapi_simple_dual/ndbapi_simple_dual.cpp:
  Changed header to GPL version 2 only
storage/ndb/ndbapi-examples/ndbapi_simple_index/ndbapi_simple_index.cpp:
  Changed header to GPL version 2 only
storage/ndb/src/kernel/blocks/dbdih/printSysfile.cpp:
  Changed header to GPL version 2 only
storage/ndb/src/kernel/blocks/dbtup/DbtupDiskAlloc.cpp:
  Changed header to GPL version 2 only
storage/ndb/src/kernel/blocks/dbtup/DbtupVarAlloc.cpp:
  Changed header to GPL version 2 only
storage/ndb/src/kernel/blocks/dbtup/Undo_buffer.cpp:
  Changed header to GPL version 2 only
storage/ndb/src/kernel/blocks/dbtup/Undo_buffer.hpp:
  Changed header to GPL version 2 only
storage/ndb/src/kernel/blocks/dbtup/tuppage.cpp:
  Changed header to GPL version 2 only
storage/ndb/src/kernel/blocks/dbtup/tuppage.hpp:
  Changed header to GPL version 2 only
storage/ndb/src/kernel/blocks/dbtux/DbtuxStat.cpp:
  Changed header to GPL version 2 only
storage/ndb/src/kernel/blocks/diskpage.hpp:
  Changed header to GPL version 2 only
storage/ndb/src/kernel/blocks/lgman.cpp:
  Changed header to GPL version 2 only
storage/ndb/src/kernel/blocks/lgman.hpp:
  Changed header to GPL version 2 only
storage/ndb/src/kernel/blocks/pgman.cpp:
  Changed header to GPL version 2 only
storage/ndb/src/kernel/blocks/pgman.hpp:
  Changed header to GPL version 2 only
storage/ndb/src/kernel/blocks/print_file.cpp:
  Changed header to GPL version 2 only
storage/ndb/src/kernel/blocks/record_types.hpp:
  Changed header to GPL version 2 only
storage/ndb/src/kernel/blocks/restore.cpp:
  Changed header to GPL version 2 only
storage/ndb/src/kernel/blocks/restore.hpp:
  Changed header to GPL version 2 only
storage/ndb/src/kernel/blocks/tsman.cpp:
  Changed header to GPL version 2 only
storage/ndb/src/kernel/blocks/tsman.hpp:
  Changed header to GPL version 2 only
storage/ndb/src/kernel/vm/DLCFifoList.hpp:
  Changed header to GPL version 2 only
storage/ndb/src/kernel/vm/DLCHashTable.hpp:
  Changed header to GPL version 2 only
storage/ndb/src/kernel/vm/DynArr256.cpp:
  Changed header to GPL version 2 only
storage/ndb/src/kernel/vm/DynArr256.hpp:
  Changed header to GPL version 2 only
storage/ndb/src/kernel/vm/KeyTable2Ref.hpp:
  Changed header to GPL version 2 only
storage/ndb/src/kernel/vm/LinearPool.hpp:
  Changed header to GPL version 2 only
storage/ndb/src/kernel/vm/NdbdSuperPool.cpp:
  Changed header to GPL version 2 only
storage/ndb/src/kernel/vm/NdbdSuperPool.hpp:
  Changed header to GPL version 2 only
storage/ndb/src/kernel/vm/Pool.cpp:
  Changed header to GPL version 2 only
storage/ndb/src/kernel/vm/Pool.hpp:
  Changed header to GPL version 2 only
storage/ndb/src/kernel/vm/RWPool.cpp:
  Changed header to GPL version 2 only
storage/ndb/src/kernel/vm/RWPool.hpp:
  Changed header to GPL version 2 only
storage/ndb/src/kernel/vm/Rope.hpp:
  Changed header to GPL version 2 only
storage/ndb/src/kernel/vm/SLFifoList.hpp:
  Changed header to GPL version 2 only
storage/ndb/src/kernel/vm/WOPool.cpp:
  Changed header to GPL version 2 only
storage/ndb/src/kernel/vm/WOPool.hpp:
  Changed header to GPL version 2 only
storage/ndb/src/kernel/vm/bench_pool.cpp:
  Changed header to GPL version 2 only
storage/ndb/src/kernel/vm/ndbd_malloc_impl.cpp:
  Changed header to GPL version 2 only
storage/ndb/src/kernel/vm/ndbd_malloc_impl.hpp:
  Changed header to GPL version 2 only
storage/ndb/src/mgmsrv/ParamInfo.cpp:
  Changed header to GPL version 2 only
storage/ndb/src/ndbapi/NdbIndexStat.cpp:
  Changed header to GPL version 2 only
storage/ndb/test/ndbapi/testIndexStat.cpp:
  Changed header to GPL version 2 only
storage/ndb/test/tools/listen.cpp:
  Changed header to GPL version 2 only
storage/ndb/tools/restore/ndb_nodegroup_map.h:
  Changed header to GPL version 2 only
strings/my_strchr.c:
  Changed header to GPL version 2 only
unittest/mysys/base64-t.c:
  Changed header to GPL version 2 only
unittest/mysys/bitmap-t.c:
  Changed header to GPL version 2 only
unittest/mysys/my_atomic-t.c:
  Changed header to GPL version 2 only
unittest/mytap/tap.c:
  Changed header to GPL version 2 only
unittest/mytap/tap.h:
  Changed header to GPL version 2 only
win/Makefile.am:
  Changed header to GPL version 2 only
2006-12-27 02:23:51 +01:00
unknown
62273f8e66 remove assert
sql/event_data_objects.cc:
  add a comments that using gmt_sec_to_TIME() won't
  be safe after 2038. per andrey's request
sql/event_queue.cc:
  remove assert, which aborts server in the case when it shouldn't
2006-12-05 19:04:46 +03:00
unknown
1e87cfee19 Fixed compiler warnings (Mostly VC++):
- Removed not used variables
- Changed some ulong parameters/variables to ulonglong (possible serious bug)
- Added casts to get rid of safe assignment from longlong to long (and similar)
- Added casts to function parameters
- Fixed signed/unsigned compares
- Added some constructores to structures
- Removed some not portable constructs

Better fix for bug Bug #21428 "skipped 9 bytes from file: socket (3)" on "mysqladmin shutdown"
(Added new parameter to net_clear() to define when we want the communication buffer to be emptied)


client/mysql.cc:
  Removed not used variable
client/mysqldump.c:
  Fixed compiler warning
client/mysqlslap.c:
  Fixed compiler warning
client/mysqltest.c:
  Fixed compiler warning
extra/replace.c:
  Fixed compiler warning
include/my_global.h:
  Fixed compiler warning
include/mysql_com.h:
  Changed prototype for net_clear()
libmysql/libmysql.c:
  Changed prototype for net_clear()
mysys/base64.c:
  Fixed compiler warning (function definition and prototype didn't match)
mysys/my_thr_init.c:
  AFter merge fixes
mysys/my_vle.c:
  Fixed compiler warning
sql/event_data_objects.cc:
  Fixed compiler warning
sql/event_scheduler.cc:
  Removed not used variable
sql/field.cc:
  Removed not used variables
  Fixed compiler warning
sql/gen_lex_hash.cc:
  Fixed compiler warning
sql/ha_partition.h:
  Fixed compiler warning
sql/handler.cc:
  Fixed compiler warning
sql/item.cc:
  Fixed compiler warning
sql/item_create.cc:
  Fixed compiler warning
sql/item_func.cc:
  Fixed compiler warning
sql/item_strfunc.cc:
  Fixed compiler warning
sql/item_timefunc.cc:
  Fixed compiler warning
sql/item_xmlfunc.cc:
  Fixed compiler warning
sql/log.cc:
  Fixed compiler warning
sql/log_event.cc:
  Fixed compiler warning
sql/log_event.h:
  Fixed compiler warning
sql/mysql_priv.h:
  Fixed too short 'select_type'
sql/net_serv.cc:
  Added argument to net_clear() if we should empty the communication buffer.
sql/opt_range.cc:
  Fixed compiler warning
sql/partition_info.cc:
  Fixed compiler warning
sql/rpl_injector.h:
  Fixed compiler warning
sql/set_var.cc:
  Fixed compiler warning
sql/slave.cc:
  Fixed compiler warning
sql/sp_head.cc:
  Fixed compiler warning
sql/sql_base.cc:
  Fixed compiler warning
sql/sql_db.cc:
  Fixed compiler warning
sql/sql_delete.cc:
  Fixed compiler warning
sql/sql_insert.cc:
  Fixed compiler warning
sql/sql_lex.h:
  Fixed compiler warning
sql/sql_parse.cc:
  Fixed compiler warning
sql/sql_partition.cc:
  Fixed compiler warning
sql/sql_plugin.cc:
  Fixed compiler warning
sql/sql_prepare.cc:
  Fixed compiler warning
sql/sql_rename.cc:
  Fixed compiler warning
sql/sql_select.cc:
  Fixed compiler warning
sql/sql_show.cc:
  Fixed compiler warning
sql/sql_table.cc:
  Fixed compiler warning
sql/sql_trigger.cc:
  Fixed compiler warning
sql-common/client.c:
  Better fix for bug Bug #21428 "skipped 9 bytes from file: socket (3)" on "mysqladmin shutdown"
sql-common/my_time.c:
  Fixed compiler warning
sql/sql_union.cc:
  Fixed compiler warning
sql/sql_update.cc:
  Fixed compiler warning
sql/sql_view.cc:
  Fixed compiler warning
sql/sql_yacc.yy:
  Fixed compiler warning
sql/table.cc:
  Fixed compiler warning
storage/archive/azio.c:
  Fixed compiler warning
storage/csv/ha_tina.cc:
  Removed not used code
storage/myisam/mi_unique.c:
  Fixed compiler warning
storage/ndb/include/util/OutputStream.hpp:
  Fixed compiler warning
storage/ndb/include/util/SocketAuthenticator.hpp:
  Fixed compiler warning
storage/ndb/src/kernel/vm/Pool.hpp:
  Fixed compiler warning
strings/ctype-simple.c:
  Fixed compiler warning
strings/my_strchr.c:
  Fixed compiler warning
2006-11-30 03:40:42 +02:00
unknown
c1477a3f20 Removed compiler warnings
Ensure that my_size_t is always unsigned (to get predictiable results from system to system)
Removed some %lld, as these are not portable


BUILD/FINISH.sh:
  Remove configure files from storage engines (as some of them may be old versions and may cause conflicts)
client/mysqldump.c:
  Removed compiler warning
client/mysqlslap.c:
  Removed compiler warning
client/mysqltest.c:
  Removed compiler warning
cmd-line-utils/readline/bind.c:
  Removed compiler warning
cmd-line-utils/readline/histfile.c:
  Removed compiler warning
include/my_global.h:
  Ensure that my_size_t is always unsigned (to get predictiable results from system to system)
  Moved my_offset_t here from parse_file.h
sql/event_data_objects.cc:
  Removed compiler warning
sql/event_scheduler.cc:
  Removed compiler warning
sql/field.h:
  Removed compiler warning
sql/ha_ndbcluster_binlog.cc:
  Removed compiler warning
sql/ha_partition.cc:
  Removed compiler warning
sql/item_strfunc.cc:
  Removed compiler warning
sql/log_event.cc:
  Removed compiler warning
sql/mysqld.cc:
  Removed compiler warning
sql/parse_file.h:
  Moved my_offset_t to my_global.h
sql/rpl_utility.cc:
  Removed compiler warning
sql/sql_binlog.cc:
  Removed compiler warning
sql/sql_cache.cc:
  Removed compiler warning
sql/tztime.cc:
  Removed compiler warning
storage/archive/ha_archive.cc:
  Removed compiler warning
  Removed %lld as it's not portable
storage/heap/hp_write.c:
  Removed compiler warning
storage/innobase/os/os0file.c:
  Removed compiler warning
storage/myisam/myisampack.c:
  Removed compiler warning
storage/myisammrg/myrg_rkey.c:
  Removed compiler warning
storage/ndb/include/kernel/signaldata/DictTabInfo.hpp:
  Use my_offsetof instead of offsetof to get rid of compiler warnings
storage/ndb/src/kernel/blocks/dbdict/printSchemaFile.cpp:
  Removed compiler warning
storage/ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp:
  Removed compiler warning
  Note: Someone from NDB team should check this fix!
storage/ndb/src/kernel/vm/Rope.cpp:
  Removed compiler warning
storage/ndb/src/mgmapi/mgmapi.cpp:
  Removed compiler warning
storage/ndb/src/ndbapi/Ndb.cpp:
  Removed compiler warning
storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp:
  Removed compiler warning
storage/ndb/src/ndbapi/NdbScanOperation.cpp:
  Removed compiler warning
storage/ndb/src/ndbapi/NdbTransaction.cpp:
  Removed compiler warning
storage/ndb/src/ndbapi/Ndblist.cpp:
  Removed compiler warning
2006-11-27 18:16:08 +02:00
unknown
788ad30f08 Fixed a LOT of compiler warnings
Added missing DBUG_RETURN statements (in mysqldump.c)
Added missing enums
Fixed a lot of wrong DBUG_PRINT() statements, some of which could cause crashes
Removed usage of %lld and %p in printf strings as these are not portable or produces different results on different systems.


client/mysqldump.c:
  Fixed some compiler warnings
  Added some missing DBUG_RETURN
  Remove copying of 'cluster' database
client/mysqlslap.c:
  Fixed compiler warnings
client/mysqltest.c:
  After merge fix
extra/yassl/taocrypt/include/algebra.hpp:
  Removed compiler warning
mysql-test/include/im_check_env.inc:
  Fixed race condition (mysqld1 could report 'starting' or 'online'
mysql-test/mysql-test-run.pl:
  After merge fixes
  Added missing directory to LD_LIBRARY_PATH
mysql-test/r/ctype_cp1250_ch.result:
  After merge fix
mysql-test/r/im_cmd_line.result:
  Fixed race condition
mysql-test/r/im_daemon_life_cycle.result:
  Fixed race condition
mysql-test/r/im_instance_conf.result:
  Fixed race condition
mysql-test/r/im_life_cycle.result:
  Fixed race condition
mysql-test/r/im_utils.result:
  Fixed race condition
mysql-test/r/log_tables.result:
  Fixed wrong result
mysql-test/t/disabled.def:
  Disabled ndb_restore_partion, as ndb_restore_compate caused it to fail, becasue of table 'cluster/def/schema' which is stored in ndb_backup50
mysys/my_compress.c:
  Removed compiler warnings
mysys/my_getopt.c:
  Ensure we always have at least one space between option name and value
plugin/fulltext/plugin_example.c:
  Removed compiler warnings
server-tools/instance-manager/mysql_connection.cc:
  After merge fix
sql/event_data_objects.cc:
  Fixed compiler warnings
  Fixed platform compatibility issues (%lld is not portable)
sql/event_data_objects.h:
  Fixed compiler warnings
sql/event_db_repository.cc:
  Fixed compiler warnings
sql/event_queue.cc:
  Fixed compiler warnings
sql/event_scheduler.cc:
  Fixed compiler warnings
sql/events.cc:
  Fixed compiler warnings
sql/field.cc:
  Fixed compiler warnings
sql/ha_ndbcluster.cc:
  Fixed compiler warnings
sql/ha_ndbcluster_binlog.cc:
  Fixed compiler warnings
sql/ha_partition.cc:
  Fixed compiler warnings
sql/handler.cc:
  Fixed compiler warnings
sql/item_cmpfunc.cc:
  Fixed DBUG_PRINT style
sql/item_func.cc:
  Fixed compiler warnings
sql/log.cc:
  Fixed compiler warnings
sql/log_event.cc:
  Fixed compiler warnings
sql/mysqld.cc:
  Fixed compiler warnings
sql/opt_range.cc:
  Fixed compiler warnings
sql/repl_failsafe.cc:
  Indentation fixes
sql/rpl_rli.cc:
  Fixed compiler warnings
sql/rpl_tblmap.cc:
  Fixed compiler warnings
sql/set_var.cc:
  Fixed compiler warnings
sql/slave.cc:
  Fixed compiler warnings
sql/sp_head.cc:
  Fixed compiler warnings
sql/sql_base.cc:
  Fixed compiler warnings
  Fixed indentation
sql/sql_binlog.cc:
  Fixed compiler warnings
sql/sql_cache.cc:
  Fixed compiler warnings
sql/sql_class.cc:
  Fixed compiler warnings
sql/sql_handler.cc:
  Fixed compiler warnings
sql/sql_lex.cc:
  Fixed compiler warnings
sql/sql_parse.cc:
  Fixed compiler warnings
sql/sql_partition.cc:
  Fixed compiler warnings
sql/sql_prepare.cc:
  Fixed compiler warnings
sql/sql_table.cc:
  Fixed compiler warnings
sql/sql_test.cc:
  Fixed DBUG_PRINT style
sql/sql_trigger.cc:
  Fixed DBUG_PRINT style
sql/table.cc:
  Fixed compiler warnings
storage/federated/ha_federated.cc:
  Fixed compiler warnings
storage/myisam/mi_rsamepos.c:
  Fixed compiler warnings
storage/ndb/include/ndb_global.h.in:
  After merge fix
storage/ndb/include/util/NdbOut.hpp:
  Inform gcc that ndbout_c takes a printf() string as argument
storage/ndb/include/util/SimpleProperties.hpp:
  After merge fixes
storage/ndb/src/kernel/blocks/backup/Backup.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
  Fixed compiler warnings
  Fixed usage of uninitialized value (Got help from Jonas with patch)
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/lgman.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/pgman.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/restore.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/dbtup/DbtupCommit.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/dbtup/DbtupDiskAlloc.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/dbtup/DbtupFixAlloc.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/ndbfs/Ndbfs.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/suma/Suma.cpp:
  Fixed compiler warnings
  Added missing enum's to switch
storage/ndb/src/kernel/vm/Configuration.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/vm/DLHashTable.hpp:
  Fixed compiler warnings
storage/ndb/src/kernel/vm/RWPool.hpp:
  Fixed compiler warnings
storage/ndb/src/kernel/vm/SimulatedBlock.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/vm/WOPool.hpp:
  Fixed compiler warnings
storage/ndb/src/kernel/vm/ndbd_malloc_impl.cpp:
  Fixed compiler warnings
storage/ndb/src/mgmclient/CommandInterpreter.cpp:
  Fixed compiler warnings
storage/ndb/src/mgmsrv/MgmtSrvr.cpp:
  Fixed compiler warnings
storage/ndb/src/ndbapi/DictCache.cpp:
  Fixed compiler warnings
storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp:
  Fixed compiler warnings
storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp:
  Fixed compiler warnings
storage/ndb/src/ndbapi/NdbIndexOperation.cpp:
  Fixed compiler warnings
storage/ndb/src/ndbapi/NdbIndexStat.cpp:
  Initialize possible uninitialized variable
storage/ndb/src/ndbapi/NdbOperationInt.cpp:
  Fixed compiler warnings
storage/ndb/src/ndbapi/NdbRecAttr.cpp:
  Added missing enum's (To avoid compiler warnings)
storage/ndb/src/ndbapi/NdbScanOperation.cpp:
  Fixed compiler warnings
storage/ndb/src/ndbapi/ObjectMap.hpp:
  Fixed compiler warnings
storage/ndb/tools/desc.cpp:
  Fixed compiler warnings
storage/ndb/tools/restore/Restore.cpp:
  Fixed compiler warnings
storage/ndb/tools/restore/consumer_restore.cpp:
  Fixed compiler warnings
unittest/mytap/t/basic-t.c:
  Fixed compiler warnings
unittest/mytap/tap.c:
  Fixed compiler warnings
2006-11-27 01:47:38 +02:00
unknown
92b3a32b50 Remove direct mapping of enum interval_type to mysql.event.interval_field
This decoupling allows in further versions of MySQL enum interval_type to
  be reordered without this affecting any backward compatibility in the
  events code.
  This changeset doesn't change any exposed behavior but makes events' code
  more durable to changes outside of their code base.
  
  To the reviewer: There is no regression test included as it is impossible
  to construct one with the current infrastructure which can test it. To test
  the code one has create and event, then change the order of
  enum interval_type in my_time.h, update sql/time.cc, recompile the server
  and run it with scheduler running.


include/my_time.h:
  Add a reminder to keep enum interval_type and
  interval_type_to_name in sync
sql/event_data_objects.cc:
  When loading from disk don't use the integer value of
  mysql.event.interval_field because it could be different of the
  values of enum interval_type, if the latter is reordered in a later
  version of MySQL. Loaded from disk is the string value which is then
  resolved against interval_type_to_name to get the exact enum value we
  need for Event_queue_element::interval.
sql/event_db_repository.cc:
  Use interval_type_to_name from sql/time.cc during storage thus
  decoupling the value stored on disk (the enum) from the integer
  representation in memory. interval_type can be changed and as
  long as interval_type_to_name is kept in sync correct values will
  be saved to disk.
sql/mysql_priv.h:
  add proto of find_string_in_array
sql/strfunc.cc:
  Add a function for searching a LEX_STRING in an array of LEX_STRINGs
2006-10-10 17:59:46 +02:00
unknown
6c9400b930 Fix for bug#22397 Events: crash with procedure which alters events
ALTER EVENT in stored procedure body led to a crash during the
procedure call. Affected was only ALTER EVENT which changed the
interval of the event. No problems with AT, STARTS, ENDS and so on.



mysql-test/r/events_bugs.result:
  fix result
mysql-test/t/events_bugs.test:
  add test case for bug 22397 : Events, crash with procedure which alters body
sql/event_data_objects.cc:
  fix copy&paste error in code, which resulted in bug#22397
  Events: crash with procedure which alters body
2006-09-25 16:49:25 +02:00
unknown
f18ec676a0 WL#3337 (Event scheduler new architecture)
Don't send affected rows after CREATE/ALTER/DROP EVENT as this is
inconsistent with the rest of the server in terms of CREATE/ALTER/DROP
DDLs


sql/event_data_objects.cc:
  Events::drop_event() does not expect anymore a parameter named affected_rows
sql/event_db_repository.cc:
  Remove rows_affected as the behavior exposed by Events is not
  coherent with the behavior of many other DDL, like CREATE PROCEDURE, etc.
sql/event_db_repository.h:
  Remove rows_affected as the behavior exposed by Events is not
  coherent with the behavior of many other DDL, like CREATE PROCEDURE, etc.
sql/events.cc:
  Remove rows_affected as the behavior exposed by Events is not
  coherent with the behavior of many other DDL, like CREATE PROCEDURE, etc.
sql/events.h:
  Remove rows_affected as the behavior exposed by Events is not
  coherent with the behavior of many other DDL, like CREATE PROCEDURE, etc.
sql/sql_parse.cc:
  Don't send affected rows, because this behavior is not consistent
  with the rest of the server for CREATE/ALTER/DROP DDLs
2006-08-28 10:27:42 +02:00
unknown
99adbd131a WL#3337 (Event scheduler new architecture)
Post-review fixes. Mostly whitespace, int-to-bool return value, fixed comments


sql/Makefile.am:
  compile all submodules of Events before compiling the facade
sql/event_data_objects.cc:
  - Use initialization list
  - Clean whitespaces
  - Shorten comments
  - Fix comments
sql/event_data_objects.h:
  - Fix whitespace
sql/event_db_repository.cc:
  - Change return type from int to bool where only one error code is
    returned.
  - Don't use macros but get the maximal number of characters in a column
    from the column
  - Fix  comments
  - Make functions which has return value but it's not used - void.
sql/event_db_repository.h:
  - Methods with only one error code int -> bool return value
  - Remove declaration of fill_schema_events, a function that does not exist
sql/event_queue.cc:
  - Use initialization lists
  - Let find_n_remove_event delete the object thus making the code more robust.
    The caller could forget to destruct the object. In addition, find_n_remove_element()
    does not return a value.
  - Move check_system_tables() to class Events
  - Fix comments
sql/event_queue.h:
  - Whitespace changes
  - init_queue() should allow passing of THD
  - check_system_tables moved to class Events
  - find_n_remove_event() is now void
sql/event_scheduler.cc:
  - Initialize res before use
  - Remove end stop from message
sql/event_scheduler.h:
  Add uninitialized state. The scheduler is in it before init_scheduler()
  is called. The rationale is that otherwise state has no value before
  the call. If the system tables were damaged the scheduler won't be initialized
  but in Events::deinit() Event_scheduler::stop() will be called and this will
  touch state, generating valgrind warning at minimum.
sql/events.cc:
  - Whitespace changes
  - Fix comments
  - Make methods which have only one error code be bool instead of int
  - Create temporarily a THD to be used for the initialization of Event_queue
  - Event_queue::check_system_tables() moved to Events::check_system_tables
  - is_started() is renamed to is_execution_of_events_started()
sql/events.h:
  - Whitespace changes
  - When a method returns only one error code it should be bool, not int
  - is_started() renamed to is_execution_of_events_started()
sql/set_var.cc:
  is_started() is renamed to is_execution_of_events_started()
sql/sql_db.cc:
  The return code is not used, thus don't return anything and drop_schema_events()
  is now void.
sql/sql_yacc.yy:
  - Fix comments
  - Remove unneeded initialization which is performed in lex_init()
sql/share/errmsg.txt:
  New error message
sql/table.cc:
  - Fix comments
  - make table_check_intact() accespt const *table_def
sql/table.h:
  Make table_check_intact() accespt const *table_def
2006-08-17 14:22:59 +02:00
unknown
e69e640f2e WL#3337 (Events new architecture)
Small updates before patch submit.


client/mysqltest.c:
  allow --valgrind option to mysqltest so one can be able to detect
  whether the test is running under valgrind by having $VALGRIND_TEST,
  similar to BIG_TEST, in the test file.
mysql-test/mysql-test-run.pl:
  If the test suite is running under valgrind start mysqltest with --valgrind
  to inform that we run valgrind. mysqltest will provide $VALGRIND_TEST for the
  test cases.
mysql-test/r/events_bugs.result:
  update result
mysql-test/r/events_scheduling.result:
  update result
mysql-test/t/events.test:
  Increase times or the test will fail under valgrind
mysql-test/t/events_bugs.test:
  Increase times or the test will fail under valgrind
mysql-test/t/events_scheduling.test:
  Remove faulty test
  Disable the test case for valgrind
sql/event_data_objects.cc:
  count the number of executions
sql/event_data_objects.h:
  flags is not used at all
  add execution_count to count the number of executions
sql/event_db_repository.cc:
  Initialize wherever needed.
  Add a comment regarding valgrind warning.
sql/event_queue.cc:
  more debug info in the trace log
sql/event_scheduler.cc:
  Use macro COND_STATE_WAIT() in all cases we need waiting
  on condition. Hence, we can trace locking, attemption to lock
  and more with SHOW SCHEDULER STATUS
sql/event_scheduler.h:
  Change the declaration of cond_wait to accept THD
sql/events.cc:
  fix memory leak. Destroy event_queue
mysql-test/include/not_valgrind.inc:
  New BitKeeper file ``mysql-test/include/not_valgrind.inc''
mysql-test/r/not_valgrind.require:
  New BitKeeper file ``mysql-test/r/not_valgrind.require''
2006-07-17 16:52:45 +02:00
unknown
d65ab09c4d update to ease the patch process
sql/event_queue.cc:
  integrate Event_queue::check_system_tables() into the boot procedure
sql/event_queue.h:
  make Event_queue::check_system_tables() void, instead of bool
BitKeeper/etc/ignore:
  Added sql/.deps/client.Po sql/.deps/derror.Po sql/.deps/des_key_file.Po sql/.deps/discover.Po sql/.deps/event_data_objects.Po sql/.deps/event_db_repository.Po sql/.deps/event_queue.Po sql/.deps/event_scheduler.Po sql/.deps/events.Po sql/.deps/field.Po sql/.deps/field_conv.Po sql/.deps/filesort.Po sql/.deps/gen_lex_hash.Po sql/.deps/gstream.Po sql/.deps/ha_berkeley.Po sql/.deps/ha_federated.Po sql/.deps/ha_heap.Po sql/.deps/ha_innodb.Po sql/.deps/ha_myisam.Po sql/.deps/ha_myisammrg.Po sql/.deps/ha_ndbcluster.Po sql/.deps/ha_ndbcluster_binlog.Po sql/.deps/ha_partition.Po sql/.deps/handler.Po sql/.deps/hash_filo.Po sql/.deps/hostname.Po sql/.deps/init.Po sql/.deps/item.Po sql/.deps/item_buff.Po sql/.deps/item_cmpfunc.Po sql/.deps/item_create.Po sql/.deps/item_func.Po sql/.deps/item_geofunc.Po sql/.deps/item_row.Po sql/.deps/item_strfunc.Po sql/.deps/item_subselect.Po sql/.deps/item_sum.Po sql/.deps/item_timefunc.Po sql/.deps/item_uniq.Po sql/.deps/item_xmlfunc.Po sql/.deps/key.Po sql/.deps/lock.Po sql/.deps/
  log.Po sql/.deps/log_event.Po sql/.deps/mf_iocache.Po sql/.deps/mini_client_errors.Po sql/.deps/my_decimal.Po sql/.deps/my_lock.Po sql/.deps/my_time.Po sql/.deps/my_user.Po sql/.deps/mysql_tzinfo_to_sql.Po sql/.deps/mysqld.Po sql/.deps/net_serv.Po sql/.deps/opt_range.Po sql/.deps/opt_sum.Po sql/.deps/pack.Po sql/.deps/parse_file.Po sql/.deps/partition_info.Po sql/.deps/password.Po sql/.deps/procedure.Po sql/.deps/protocol.Po sql/.deps/records.Po sql/.deps/repl_failsafe.Po sql/.deps/rpl_filter.Po sql/.deps/rpl_injector.Po sql/.deps/rpl_tblmap.Po sql/.deps/set_var.Po sql/.deps/slave.Po sql/.deps/sp.Po sql/.deps/sp_cache.Po sql/.deps/sp_head.Po sql/.deps/sp_pcontext.Po sql/.deps/sp_rcontext.Po sql/.deps/spatial.Po sql/.deps/sql_acl.Po sql/.deps/sql_analyse.Po sql/.deps/sql_base.Po sql/.deps/sql_binlog.Po sql/.deps/sql_builtin.Po sql/.deps/sql_cache.Po sql/.deps/sql_class.Po sql/.deps/sql_client.Po sql/.deps/sql_crypt.Po sql/.deps/sql_cursor.Po sql/.deps/sql_db.Po sql/.deps/sql_delete.Po sql/.deps/sql_derived
  .Po sql/.deps/sql_do.Po sql/.deps/sql_error.Po sql/.deps/sql_handler.Po sql/.deps/sql_help.Po sql/.deps/sql_insert.Po sql/.deps/sql_lex.Po sql/.deps/sql_list.Po sql/.deps/sql_load.Po sql/.deps/sql_manager.Po sql/.deps/sql_map.Po sql/.deps/sql_olap.Po sql/.deps/sql_parse.Po sql/.deps/sql_partition.Po sql/.deps/sql_plugin.Po sql/.deps/sql_prepare.Po sql/.deps/sql_rename.Po sql/.deps/sql_repl.Po sql/.deps/sql_select.Po sql/.deps/sql_show.Po sql/.deps/sql_state.Po sql/.deps/sql_string.Po sql/.deps/sql_table.Po sql/.deps/sql_tablespace.Po sql/.deps/sql_test.Po sql/.deps/sql_trigger.Po sql/.deps/sql_udf.Po sql/.deps/sql_union.Po sql/.deps/sql_update.Po sql/.deps/sql_view.Po sql/.deps/sql_yacc.Po sql/.deps/stacktrace.Po sql/.deps/strfunc.Po sql/.deps/table.Po sql/.deps/thr_malloc.Po sql/.deps/time.Po sql/.deps/tztime.Po sql/.deps/udf_example.Plo sql/.deps/uniques.Po sql/.deps/unireg.Po sql/.libs/udf_example.lai sql/.libs/udf_example.so.0 sql/.libs/udf_example.so.0.0.0 storage/archive/.deps/archive_test-archive_t
  est.Po storage/archive/.deps/archive_test-azio.Po storage/archive/.deps/ha_archive_la-azio.Plo storage/archive/.deps/ha_archive_la-ha_archive.Plo storage/archive/.deps/libarchive_a-azio.Po storage/archive/.deps/libarchive_a-ha_archive.Po storage/blackhole/.deps/ha_blackhole_la-ha_blackhole.Plo storage/blackhole/.deps/libblackhole_a-ha_blackhole.Po storage/csv/.deps/ha_csv_la-ha_tina.Plo storage/csv/.deps/libcsv_a-ha_tina.Po storage/example/.deps/ha_example_la-ha_example.Plo storage/example/.deps/libexample_a-ha_example.Po storage/heap/.deps/_check.Po storage/heap/.deps/_rectest.Po storage/heap/.deps/hp_block.Po storage/heap/.deps/hp_clear.Po storage/heap/.deps/hp_close.Po storage/heap/.deps/hp_create.Po storage/heap/.deps/hp_delete.Po storage/heap/.deps/hp_extra.Po storage/heap/.deps/hp_hash.Po storage/heap/.deps/hp_info.Po storage/heap/.deps/hp_open.Po storage/heap/.deps/hp_panic.Po storage/heap/.deps/hp_rename.Po storage/heap/.deps/hp_rfirst.Po storage/heap/.deps/hp_rkey.Po storage/heap/.deps/hp_rlast.P
  o storage/heap/.deps/hp_rnext.Po storage/heap/.deps/hp_rprev.Po storage/heap/.deps/hp_rrnd.Po storage/heap/.deps/hp_rsame.Po storage/heap/.deps/hp_scan.Po storage/heap/.deps/hp_static.Po storage/heap/.deps/hp_test1.Po storage/heap/.deps/hp_test2.Po storage/heap/.deps/hp_update.Po storage/heap/.deps/hp_write.Po storage/innobase/btr/.deps/btr0btr.Po storage/innobase/btr/.deps/btr0cur.Po storage/innobase/btr/.deps/btr0pcur.Po storage/innobase/btr/.deps/btr0sea.Po storage/innobase/buf/.deps/buf0buf.Po storage/innobase/buf/.deps/buf0flu.Po storage/innobase/buf/.deps/buf0lru.Po storage/innobase/buf/.deps/buf0rea.Po storage/innobase/data/.deps/data0data.Po storage/innobase/data/.deps/data0type.Po storage/innobase/dict/.deps/dict0boot.Po storage/innobase/dict/.deps/dict0crea.Po storage/innobase/dict/.deps/dict0dict.Po storage/innobase/dict/.deps/dict0load.Po storage/innobase/dict/.deps/dict0mem.Po storage/innobase/dyn/.deps/dyn0dyn.Po storage/innobase/eval/.deps/eval0eval.Po storage/innobase/eval/.deps/eval0proc.
  Po storage/innobase/fil/.deps/fil0fil.Po storage/innobase/fsp/.deps/fsp0fsp.Po storage/innobase/fut/.deps/fut0fut.Po storage/innobase/fut/.deps/fut0lst.Po storage/innobase/ha/.deps/ha0ha.Po storage/innobase/ha/.deps/hash0hash.Po storage/innobase/ibuf/.deps/ibuf0ibuf.Po storage/innobase/lock/.deps/lock0lock.Po storage/innobase/log/.deps/log0log.Po storage/innobase/log/.deps/log0recv.Po storage/innobase/mach/.deps/mach0data.Po storage/innobase/mem/.deps/mem0mem.Po storage/innobase/mem/.deps/mem0pool.Po storage/innobase/mtr/.deps/mtr0log.Po storage/innobase/mtr/.deps/mtr0mtr.Po storage/innobase/os/.deps/os0file.Po storage/innobase/os/.deps/os0proc.Po storage/innobase/os/.deps/os0sync.Po storage/innobase/os/.deps/os0thread.Po storage/innobase/page/.deps/page0cur.Po storage/innobase/page/.deps/page0page.Po storage/innobase/pars/.deps/lexyy.Po storage/innobase/pars/.deps/pars0grm.Po storage/innobase/pars/.deps/pars0opt.Po storage/innobase/pars/.deps/pars0pars.Po storage/innobase/pars/.deps/pars0sym.Po storage/i
  nnobase/que/.deps/que0que.Po storage/innobase/read/.deps/read0read.Po storage/innobase/rem/.deps/rem0cmp.Po storage/innobase/rem/.deps/rem0rec.Po storage/innobase/row/.deps/row0ins.Po storage/innobase/row/.deps/row0mysql.Po storage/innobase/row/.deps/row0purge.Po storage/innobase/row/.deps/row0row.Po storage/innobase/row/.deps/row0sel.Po storage/innobase/row/.deps/row0uins.Po storage/innobase/row/.deps/row0umod.Po storage/innobase/row/.deps/row0undo.Po storage/innobase/row/.deps/row0upd.Po storage/innobase/row/.deps/row0vers.Po storage/innobase/srv/.deps/srv0que.Po storage/innobase/srv/.deps/srv0srv.Po storage/innobase/srv/.deps/srv0start.Po storage/innobase/sync/.deps/sync0arr.Po storage/innobase/sync/.deps/sync0rw.Po storage/innobase/sync/.deps/sync0sync.Po storage/innobase/thr/.deps/thr0loc.Po storage/innobase/trx/.deps/trx0purge.Po storage/innobase/trx/.deps/trx0rec.Po storage/innobase/trx/.deps/trx0roll.Po storage/innobase/trx/.deps/trx0rseg.Po storage/innobase/trx/.deps/trx0sys.Po storage/innobase/t
  rx/.deps/trx0trx.Po storage/innobase/trx/.deps/trx0undo.Po storage/innobase/usr/.deps/usr0sess.Po storage/innobase/ut/.deps/ut0byte.Po storage/innobase/ut/.deps/ut0dbg.Po storage/innobase/ut/.deps/ut0list.Po storage/innobase/ut/.deps/ut0mem.Po storage/innobase/ut/.deps/ut0rnd.Po storage/innobase/ut/.deps/ut0ut.Po storage/innobase/ut/.deps/ut0vec.Po storage/innobase/ut/.deps/ut0wqueue.Po storage/myisam/.deps/ft_boolean_search.Po storage/myisam/.deps/ft_nlq_search.Po storage/myisam/.deps/ft_parser.Po storage/myisam/.deps/ft_static.Po storage/myisam/.deps/ft_stopwords.Po storage/myisam/.deps/ft_update.Po storage/myisam/.deps/mi_cache.Po storage/myisam/.deps/mi_changed.Po storage/myisam/.deps/mi_check.Po storage/myisam/.deps/mi_checksum.Po storage/myisam/.deps/mi_close.Po storage/myisam/.deps/mi_create.Po storage/myisam/.deps/mi_dbug.Po storage/myisam/.deps/mi_delete.Po storage/myisam/.deps/mi_delete_all.Po storage/myisam/.deps/mi_delete_table.Po storage/myisam/.deps/mi_dynrec.Po storage/myisam/.deps/mi_extra
  .Po storage/myisam/.deps/mi_info.Po storage/myisam/.deps/mi_key.Po storage/myisam/.deps/mi_keycache.Po storage/myisam/.deps/mi_locking.Po storage/myisam/.deps/mi_log.Po storage/myisam/.deps/mi_open.Po storage/myisam/.deps/mi_packrec.Po storage/myisam/.deps/mi_page.Po storage/myisam/.deps/mi_panic.Po storage/myisam/.deps/mi_preload.Po storage/myisam/.deps/mi_range.Po storage/myisam/.deps/mi_rename.Po storage/myisam/.deps/mi_rfirst.Po storage/myisam/.deps/mi_rkey.Po storage/myisam/.deps/mi_rlast.Po storage/myisam/.deps/mi_rnext.Po storage/myisam/.deps/mi_rnext_same.Po storage/myisam/.deps/mi_rprev.Po storage/myisam/.deps/mi_rrnd.Po storage/myisam/.deps/mi_rsame.Po storage/myisam/.deps/mi_rsamepos.Po storage/myisam/.deps/mi_scan.Po storage/myisam/.deps/mi_search.Po storage/myisam/.deps/mi_static.Po storage/myisam/.deps/mi_statrec.Po storage/myisam/.deps/mi_test1.Po storage/myisam/.deps/mi_test2.Po storage/myisam/.deps/mi_test3.Po storage/myisam/.deps/mi_unique.Po storage/myisam/.deps/mi_update.Po storage/myi
  sam/.deps/mi_write.Po storage/myisam/.deps/myisam_ftdump.Po storage/myisam/.deps/myisamchk.Po storage/myisam/.deps/myisamlog.Po storage/myisam/.deps/myisampack.Po storage/myisam/.deps/rt_index.Po storage/myisam/.deps/rt_key.Po storage/myisam/.deps/rt_mbr.Po storage/myisam/.deps/rt_split.Po storage/myisam/.deps/rt_test.Po storage/myisam/.deps/sort.Po storage/myisam/.deps/sp_key.Po storage/myisam/.deps/sp_test.Po storage/myisammrg/.deps/myrg_close.Po storage/myisammrg/.deps/myrg_create.Po storage/myisammrg/.deps/myrg_delete.Po storage/myisammrg/.deps/myrg_extra.Po storage/myisammrg/.deps/myrg_info.Po storage/myisammrg/.deps/myrg_locking.Po storage/myisammrg/.deps/myrg_open.Po storage/myisammrg/.deps/myrg_panic.Po storage/myisammrg/.deps/myrg_queue.Po storage/myisammrg/.deps/myrg_range.Po storage/myisammrg/.deps/myrg_rfirst.Po storage/myisammrg/.deps/myrg_rkey.Po storage/myisammrg/.deps/myrg_rlast.Po storage/myisammrg/.deps/myrg_rnext.Po storage/myisammrg/.deps/myrg_rnext_same.Po storage/myisammrg/.deps/myrg
  _rprev.Po storage/myisammrg/.deps/myrg_rrnd.Po storage/myisammrg/.deps/myrg_rsame.Po storage/myisammrg/.deps/myrg_static.Po storage/myisammrg/.deps/myrg_update.Po storage/myisammrg/.deps/myrg_write.Po strings/.deps/bchange.Po strings/.deps/bcmp.Po strings/.deps/bfill.Po strings/.deps/bmove.Po strings/.deps/bmove512.Po strings/.deps/bmove_upp.Po strings/.deps/conf_to_src.Po strings/.deps/ctype-big5.Po strings/.deps/ctype-bin.Po strings/.deps/ctype-cp932.Po strings/.deps/ctype-czech.Po strings/.deps/ctype-euc_kr.Po strings/.deps/ctype-eucjpms.Po strings/.deps/ctype-extra.Po strings/.deps/ctype-gb2312.Po strings/.deps/ctype-gbk.Po strings/.deps/ctype-latin1.Po strings/.deps/ctype-mb.Po strings/.deps/ctype-simple.Po strings/.deps/ctype-sjis.Po strings/.deps/ctype-tis620.Po strings/.deps/ctype-uca.Po strings/.deps/ctype-ucs2.Po strings/.deps/ctype-ujis.Po strings/.deps/ctype-utf8.Po strings/.deps/ctype-win1250ch.Po strings/.deps/ctype.Po strings/.deps/decimal.Po strings/.deps/int2str.Po strings/.deps/is_prefix
  .Po strings/.deps/llstr.Po strings/.deps/longlong2str.Po strings/.deps/longlong2str_asm.Po strings/.deps/my_strchr.Po strings/.deps/my_strtoll10.Po strings/.deps/my_vsnprintf.Po strings/.deps/r_strinstr.Po strings/.deps/str2int.Po strings/.deps/str_alloc.Po strings/.deps/strappend.Po strings/.deps/strcend.Po strings/.deps/strcont.Po strings/.deps/strend.Po strings/.deps/strfill.Po strings/.deps/strinstr.Po strings/.deps/strmake.Po strings/.deps/strmov.Po strings/.deps/strnlen.Po strings/.deps/strnmov.Po strings/.deps/strstr.Po strings/.deps/strtod.Po strings/.deps/strtol.Po strings/.deps/strtoll.Po strings/.deps/strtoul.Po strings/.deps/strtoull.Po strings/.deps/strxmov.Po strings/.deps/strxnmov.Po strings/.deps/xml.Po tests/.deps/dummy.Po tests/.deps/insert_test.Po tests/.deps/mysql_client_test.Po tests/.deps/select_test.Po tests/.deps/thread_test.Po tests/.libs/lt-mysql_client_test tests/.libs/mysql_client_test unittest/examples/.deps/no_plan-t.Po unittest/examples/.deps/simple-t.Po unittest/examples/.d
  eps/skip-t.Po unittest/examples/.deps/skip_all-t.Po unittest/examples/.deps/todo-t.Po unittest/mysys/.deps/base64-t.Po unittest/mysys/.deps/bitmap-t.Po unittest/mysys/.deps/my_atomic-t.Po unittest/mytap/t/.deps/basic-t.Po unittest/mytap/.deps/tap.Po vio/.deps/dummy.Po vio/.deps/test-ssl.Po vio/.deps/test-sslclient.Po vio/.deps/test-sslserver.Po vio/.deps/vio.Po vio/.deps/viosocket.Po vio/.deps/viossl.Po vio/.deps/viosslfactories.Po client/.deps/base64.Po client/.deps/completion_hash.Po client/.deps/dummy.Po client/.deps/mf_tempdir.Po client/.deps/my_bit.Po client/.deps/my_bitmap.Po client/.deps/my_getsystime.Po client/.deps/my_new.Po client/.deps/my_user.Po client/.deps/my_vle.Po client/.deps/mysql.Po client/.deps/mysql_upgrade.Po client/.deps/mysqladmin.Po client/.deps/mysqlbinlog.Po client/.deps/mysqlcheck.Po client/.deps/mysqldump.Po client/.deps/mysqlimport.Po client/.deps/mysqlshow.Po client/.deps/mysqlslap.Po client/.deps/mysqltest.Po client/.deps/readline.Po client/.deps/sql_string.Po client/.libs/
  lt-mysql client/.libs/lt-mysqladmin client/.libs/lt-mysqlbinlog client/.libs/lt-mysqlcheck client/.libs/lt-mysqldump client/.libs/lt-mysqlimport client/.libs/lt-mysqlshow client/.libs/lt-mysqlslap client/.libs/lt-mysqltest client/.libs/mysql client/.libs/mysql_upgrade client/.libs/mysqladmin client/.libs/mysqlbinlog client/.libs/mysqlcheck client/.libs/mysqldump client/.libs/mysqlimport client/.libs/mysqlshow client/.libs/mysqlslap client/.libs/mysqltest cmd-line-utils/libedit/.deps/chared.Po cmd-line-utils/libedit/.deps/common.Po cmd-line-utils/libedit/.deps/el.Po cmd-line-utils/libedit/.deps/emacs.Po cmd-line-utils/libedit/.deps/fcns.Po cmd-line-utils/libedit/.deps/fgetln.Po cmd-line-utils/libedit/.deps/help.Po cmd-line-utils/libedit/.deps/hist.Po cmd-line-utils/libedit/.deps/history.Po cmd-line-utils/libedit/.deps/key.Po cmd-line-utils/libedit/.deps/map.Po cmd-line-utils/libedit/.deps/parse.Po cmd-line-utils/libedit/.deps/prompt.Po cmd-line-utils/libedit/.deps/read.Po cmd-line-utils/libedit/.deps/readl
  ine.Po cmd-line-utils/libedit/.deps/refresh.Po cmd-line-utils/libedit/.deps/search.Po cmd-line-utils/libedit/.deps/sig.Po cmd-line-utils/libedit/.deps/strlcat.Po cmd-line-utils/libedit/.deps/strlcpy.Po cmd-line-utils/libedit/.deps/term.Po cmd-line-utils/libedit/.deps/tokenizer.Po cmd-line-utils/libedit/.deps/tty.Po cmd-line-utils/libedit/.deps/unvis.Po cmd-line-utils/libedit/.deps/vi.Po cmd-line-utils/libedit/.deps/vis.Po cmd-line-utils/readline/.deps/bind.Po cmd-line-utils/readline/.deps/callback.Po cmd-line-utils/readline/.deps/compat.Po cmd-line-utils/readline/.deps/complete.Po cmd-line-utils/readline/.deps/display.Po cmd-line-utils/readline/.deps/funmap.Po cmd-line-utils/readline/.deps/histexpand.Po cmd-line-utils/readline/.deps/histfile.Po cmd-line-utils/readline/.deps/history.Po cmd-line-utils/readline/.deps/histsearch.Po cmd-line-utils/readline/.deps/input.Po cmd-line-utils/readline/.deps/isearch.Po cmd-line-utils/readline/.deps/keymaps.Po cmd-line-utils/readline/.deps/kill.Po cmd-line-utils/readli
  ne/.deps/macro.Po cmd-line-utils/readline/.deps/mbutil.Po cmd-line-utils/readline/.deps/misc.Po cmd-line-utils/readline/.deps/nls.Po cmd-line-utils/readline/.deps/parens.Po cmd-line-utils/readline/.deps/readline.Po cmd-line-utils/readline/.deps/rltty.Po cmd-line-utils/readline/.deps/savestring.Po cmd-line-utils/readline/.deps/search.Po cmd-line-utils/readline/.deps/shell.Po cmd-line-utils/readline/.deps/signals.Po cmd-line-utils/readline/.deps/terminal.Po cmd-line-utils/readline/.deps/text.Po cmd-line-utils/readline/.deps/tilde.Po cmd-line-utils/readline/.deps/undo.Po cmd-line-utils/readline/.deps/util.Po cmd-line-utils/readline/.deps/vi_mode.Po cmd-line-utils/readline/.deps/xmalloc.Po dbug/.deps/dbug.Po dbug/.deps/dbug_analyze.Po dbug/.deps/factorial.Po dbug/.deps/my_main.Po dbug/.deps/sanity.Po extra/yassl/src/.deps/buffer.Plo extra/yassl/src/.deps/cert_wrapper.Plo extra/yassl/src/.deps/crypto_wrapper.Plo extra/yassl/src/.deps/handshake.Plo extra/yassl/src/.deps/lock.Plo extra/yassl/src/.deps/log.Plo ex
  tra/yassl/src/.deps/socket_wrapper.Plo extra/yassl/src/.deps/ssl.Plo extra/yassl/src/.deps/template_instnt.Plo extra/yassl/src/.deps/timer.Plo extra/yassl/src/.deps/yassl_error.Plo extra/yassl/src/.deps/yassl_imp.Plo extra/yassl/src/.deps/yassl_int.Plo extra/yassl/taocrypt/benchmark/.deps/benchmark-benchmark.Po extra/yassl/taocrypt/src/.deps/libtaocrypt_la-aes.Plo extra/yassl/taocrypt/src/.deps/libtaocrypt_la-aestables.Plo extra/yassl/taocrypt/src/.deps/libtaocrypt_la-algebra.Plo extra/yassl/taocrypt/src/.deps/libtaocrypt_la-arc4.Plo extra/yassl/taocrypt/src/.deps/libtaocrypt_la-asn.Plo extra/yassl/taocrypt/src/.deps/libtaocrypt_la-bftables.Plo extra/yassl/taocrypt/src/.deps/libtaocrypt_la-blowfish.Plo extra/yassl/taocrypt/src/.deps/libtaocrypt_la-coding.Plo extra/yassl/taocrypt/src/.deps/libtaocrypt_la-des.Plo extra/yassl/taocrypt/src/.deps/libtaocrypt_la-dh.Plo extra/yassl/taocrypt/src/.deps/libtaocrypt_la-dsa.Plo extra/yassl/taocrypt/src/.deps/libtaocrypt_la-file.Plo extra/yassl/taocrypt/src/.deps/libt
  aocrypt_la-hash.Plo extra/yassl/taocrypt/src/.deps/libtaocrypt_la-integer.Plo extra/yassl/taocrypt/src/.deps/libtaocrypt_la-md2.Plo extra/yassl/taocrypt/src/.deps/libtaocrypt_la-md4.Plo extra/yassl/taocrypt/src/.deps/libtaocrypt_la-md5.Plo extra/yassl/taocrypt/src/.deps/libtaocrypt_la-misc.Plo extra/yassl/taocrypt/src/.deps/libtaocrypt_la-random.Plo extra/yassl/taocrypt/src/.deps/libtaocrypt_la-ripemd.Plo extra/yassl/taocrypt/src/.deps/libtaocrypt_la-rsa.Plo extra/yassl/taocrypt/src/.deps/libtaocrypt_la-sha.Plo extra/yassl/taocrypt/src/.deps/libtaocrypt_la-template_instnt.Plo extra/yassl/taocrypt/src/.deps/libtaocrypt_la-tftables.Plo extra/yassl/taocrypt/src/.deps/libtaocrypt_la-twofish.Plo extra/yassl/taocrypt/test/.deps/test-test.Po extra/yassl/testsuite/.deps/testsuite-client.Po extra/yassl/testsuite/.deps/testsuite-echoclient.Po extra/yassl/testsuite/.deps/testsuite-echoserver.Po extra/yassl/testsuite/.deps/testsuite-server.Po extra/yassl/testsuite/.deps/testsuite-test.Po extra/yassl/testsuite/.deps/t
  estsuite-testsuite.Po extra/.deps/charset2html.Po extra/.deps/comp_err.Po extra/.deps/innochecksum.Po extra/.deps/my_print_defaults.Po extra/.deps/mysql_waitpid.Po extra/.deps/perror.Po extra/.deps/replace.Po extra/.deps/resolve_stack_dump.Po extra/.deps/resolveip.Po libmysql/.deps/array.Plo libmysql/.deps/bchange.Plo libmysql/.deps/bcmp.Plo libmysql/.deps/bmove.Plo libmysql/.deps/bmove_upp.Plo libmysql/.deps/charset-def.Plo libmysql/.deps/charset.Plo libmysql/.deps/client.Plo libmysql/.deps/conf_to_src.Po libmysql/.deps/ctype-big5.Plo libmysql/.deps/ctype-bin.Plo libmysql/.deps/ctype-cp932.Plo libmysql/.deps/ctype-czech.Plo libmysql/.deps/ctype-euc_kr.Plo libmysql/.deps/ctype-eucjpms.Plo libmysql/.deps/ctype-extra.Plo libmysql/.deps/ctype-gb2312.Plo libmysql/.deps/ctype-gbk.Plo libmysql/.deps/ctype-latin1.Plo libmysql/.deps/ctype-mb.Plo libmysql/.deps/ctype-simple.Plo libmysql/.deps/ctype-sjis.Plo libmysql/.deps/ctype-tis620.Plo libmysql/.deps/ctype-uca.Plo libmysql/.deps/ctype-ucs2.Plo libmysql/.deps/ct
  ype-ujis.Plo libmysql/.deps/ctype-utf8.Plo libmysql/.deps/ctype-win1250ch.Plo libmysql/.deps/ctype.Plo libmysql/.deps/dbug.Plo libmysql/.deps/default.Plo libmysql/.deps/default_modify.Plo libmysql/.deps/errmsg.Plo libmysql/.deps/errors.Plo libmysql/.deps/get_password.Plo libmysql/.deps/hash.Plo libmysql/.deps/int2str.Plo libmysql/.deps/is_prefix.Plo libmysql/.deps/libmysql.Plo libmysql/.deps/list.Plo libmysql/.deps/llstr.Plo libmysql/.deps/longlong2str.Plo libmysql/.deps/manager.Plo libmysql/.deps/md5.Plo libmysql/.deps/mf_cache.Plo libmysql/.deps/mf_dirname.Plo libmysql/.deps/mf_fn_ext.Plo libmysql/.deps/mf_format.Plo libmysql/.deps/mf_iocache.Plo libmysql/.deps/mf_iocache2.Plo libmysql/.deps/mf_loadpath.Plo libmysql/.deps/mf_pack.Plo libmysql/.deps/mf_path.Plo libmysql/.deps/mf_tempfile.Plo libmysql/.deps/mf_unixpath.Plo libmysql/.deps/mf_wcomp.Plo libmysql/.deps/mulalloc.Plo libmysql/.deps/my_alloc.Plo libmysql/.deps/my_chsize.Plo libmysql/.deps/my_compress.Plo libmysql/.deps/my_create.Plo libmysql/.de
  ps/my_delete.Plo libmysql/.deps/my_div.Plo libmysql/.deps/my_error.Plo libmysql/.deps/my_file.Plo libmysql/.deps/my_fopen.Plo libmysql/.deps/my_fstream.Plo libmysql/.deps/my_gethostbyname.Plo libmysql/.deps/my_getopt.Plo libmysql/.deps/my_getwd.Plo libmysql/.deps/my_init.Plo libmysql/.deps/my_lib.Plo libmysql/.deps/my_malloc.Plo libmysql/.deps/my_messnc.Plo libmysql/.deps/my_net.Plo libmysql/.deps/my_once.Plo libmysql/.deps/my_open.Plo libmysql/.deps/my_port.Plo libmysql/.deps/my_pread.Plo libmysql/.deps/my_pthread.Plo libmysql/.deps/my_read.Plo libmysql/.deps/my_realloc.Plo libmysql/.deps/my_rename.Plo libmysql/.deps/my_seek.Plo libmysql/.deps/my_sleep.Plo libmysql/.deps/my_static.Plo libmysql/.deps/my_strtoll10.Plo libmysql/.deps/my_symlink.Plo libmysql/.deps/my_thr_init.Plo libmysql/.deps/my_time.Plo libmysql/.deps/my_vsnprintf.Plo libmysql/.deps/my_write.Plo libmysql/.deps/net.Plo libmysql/.deps/pack.Plo libmysql/.deps/password.Plo libmysql/.deps/safemalloc.Plo libmysql/.deps/sha1.Plo libmysql/.deps/s
  tr2int.Plo libmysql/.deps/str_alloc.Plo libmysql/.deps/strcend.Plo libmysql/.deps/strcont.Plo libmysql/.deps/strend.Plo libmysql/.deps/strfill.Plo libmysql/.deps/string.Plo libmysql/.deps/strinstr.Plo libmysql/.deps/strmake.Plo libmysql/.deps/strmov.Plo libmysql/.deps/strnlen.Plo libmysql/.deps/strnmov.Plo libmysql/.deps/strtod.Plo libmysql/.deps/strtoll.Plo libmysql/.deps/strtoull.Plo libmysql/.deps/strxmov.Plo libmysql/.deps/strxnmov.Plo libmysql/.deps/thr_mutex.Plo libmysql/.deps/typelib.Plo libmysql/.deps/vio.Plo libmysql/.deps/viosocket.Plo libmysql/.deps/viossl.Plo libmysql/.deps/viosslfactories.Plo libmysql/.deps/xml.Plo libmysql/.libs/libmysqlclient.lai libmysql/.libs/libmysqlclient.so.15 libmysql/.libs/libmysqlclient.so.15.0.0 libmysql_r/.deps/array.Plo libmysql_r/.deps/bchange.Plo libmysql_r/.deps/bcmp.Plo libmysql_r/.deps/bmove.Plo libmysql_r/.deps/bmove_upp.Plo libmysql_r/.deps/charset-def.Plo libmysql_r/.deps/charset.Plo libmysql_r/.deps/client.Plo libmysql_r/.deps/conf_to_src.Po libmysql_r/.
  deps/ctype-big5.Plo libmysql_r/.deps/ctype-bin.Plo libmysql_r/.deps/ctype-cp932.Plo libmysql_r/.deps/ctype-czech.Plo libmysql_r/.deps/ctype-euc_kr.Plo libmysql_r/.deps/ctype-eucjpms.Plo libmysql_r/.deps/ctype-extra.Plo libmysql_r/.deps/ctype-gb2312.Plo libmysql_r/.deps/ctype-gbk.Plo libmysql_r/.deps/ctype-latin1.Plo libmysql_r/.deps/ctype-mb.Plo libmysql_r/.deps/ctype-simple.Plo libmysql_r/.deps/ctype-sjis.Plo libmysql_r/.deps/ctype-tis620.Plo libmysql_r/.deps/ctype-uca.Plo libmysql_r/.deps/ctype-ucs2.Plo libmysql_r/.deps/ctype-ujis.Plo libmysql_r/.deps/ctype-utf8.Plo libmysql_r/.deps/ctype-win1250ch.Plo libmysql_r/.deps/ctype.Plo libmysql_r/.deps/dbug.Plo libmysql_r/.deps/default.Plo libmysql_r/.deps/default_modify.Plo libmysql_r/.deps/errmsg.Plo libmysql_r/.deps/errors.Plo libmysql_r/.deps/get_password.Plo libmysql_r/.deps/hash.Plo libmysql_r/.deps/int2str.Plo libmysql_r/.deps/is_prefix.Plo libmysql_r/.deps/libmysql.Plo libmysql_r/.deps/list.Plo libmysql_r/.deps/llstr.Plo libmysql_r/.deps/longlong2str.P
  lo libmysql_r/.deps/manager.Plo libmysql_r/.deps/md5.Plo libmysql_r/.deps/mf_cache.Plo libmysql_r/.deps/mf_dirname.Plo libmysql_r/.deps/mf_fn_ext.Plo libmysql_r/.deps/mf_format.Plo libmysql_r/.deps/mf_iocache.Plo libmysql_r/.deps/mf_iocache2.Plo libmysql_r/.deps/mf_loadpath.Plo libmysql_r/.deps/mf_pack.Plo libmysql_r/.deps/mf_path.Plo libmysql_r/.deps/mf_tempfile.Plo libmysql_r/.deps/mf_unixpath.Plo libmysql_r/.deps/mf_wcomp.Plo libmysql_r/.deps/mulalloc.Plo libmysql_r/.deps/my_alloc.Plo libmysql_r/.deps/my_chsize.Plo libmysql_r/.deps/my_compress.Plo libmysql_r/.deps/my_create.Plo libmysql_r/.deps/my_delete.Plo libmysql_r/.deps/my_div.Plo libmysql_r/.deps/my_error.Plo libmysql_r/.deps/my_file.Plo libmysql_r/.deps/my_fopen.Plo libmysql_r/.deps/my_fstream.Plo libmysql_r/.deps/my_gethostbyname.Plo libmysql_r/.deps/my_getopt.Plo libmysql_r/.deps/my_getwd.Plo libmysql_r/.deps/my_init.Plo libmysql_r/.deps/my_lib.Plo libmysql_r/.deps/my_malloc.Plo libmysql_r/.deps/my_messnc.Plo libmysql_r/.deps/my_net.Plo libmys
  ql_r/.deps/my_once.Plo libmysql_r/.deps/my_open.Plo libmysql_r/.deps/my_port.Plo libmysql_r/.deps/my_pread.Plo libmysql_r/.deps/my_pthread.Plo libmysql_r/.deps/my_read.Plo libmysql_r/.deps/my_realloc.Plo libmysql_r/.deps/my_rename.Plo libmysql_r/.deps/my_seek.Plo libmysql_r/.deps/my_sleep.Plo libmysql_r/.deps/my_static.Plo libmysql_r/.deps/my_strtoll10.Plo libmysql_r/.deps/my_symlink.Plo libmysql_r/.deps/my_thr_init.Plo libmysql_r/.deps/my_time.Plo libmysql_r/.deps/my_vsnprintf.Plo libmysql_r/.deps/my_write.Plo libmysql_r/.deps/net.Plo libmysql_r/.deps/pack.Plo libmysql_r/.deps/password.Plo libmysql_r/.deps/safemalloc.Plo libmysql_r/.deps/sha1.Plo libmysql_r/.deps/str2int.Plo libmysql_r/.deps/str_alloc.Plo libmysql_r/.deps/strcend.Plo libmysql_r/.deps/strcont.Plo libmysql_r/.deps/strend.Plo libmysql_r/.deps/strfill.Plo libmysql_r/.deps/string.Plo libmysql_r/.deps/strinstr.Plo libmysql_r/.deps/strmake.Plo libmysql_r/.deps/strmov.Plo libmysql_r/.deps/strnlen.Plo libmysql_r/.deps/strnmov.Plo libmysql_r/.deps
  /strtod.Plo libmysql_r/.deps/strtoll.Plo libmysql_r/.deps/strtoull.Plo libmysql_r/.deps/strxmov.Plo libmysql_r/.deps/strxnmov.Plo libmysql_r/.deps/thr_mutex.Plo libmysql_r/.deps/typelib.Plo libmysql_r/.deps/vio.Plo libmysql_r/.deps/viosocket.Plo libmysql_r/.deps/viossl.Plo libmysql_r/.deps/viosslfactories.Plo libmysql_r/.deps/xml.Plo libmysql_r/.libs/libmysqlclient_r.lai libmysql_r/.libs/libmysqlclient_r.so.15 libmysql_r/.libs/libmysqlclient_r.so.15.0.0 libmysqld/examples/.deps/completion_hash.Po libmysqld/examples/.deps/mysql.Po libmysqld/examples/.deps/mysql_client_test.Po libmysqld/examples/.deps/mysqltest.Po libmysqld/examples/.deps/readline.Po libmysqld/.deps/client.Po libmysqld/.deps/derror.Po libmysqld/.deps/discover.Po libmysqld/.deps/emb_qcache.Po libmysqld/.deps/errmsg.Po libmysqld/.deps/event_data_objects.Po libmysqld/.deps/event_db_repository.Po libmysqld/.deps/event_queue.Po libmysqld/.deps/event_scheduler.Po libmysqld/.deps/events.Po libmysqld/.deps/field.Po libmysqld/.deps/field_conv.Po lib
  mysqld/.deps/filesort.Po libmysqld/.deps/get_password.Po libmysqld/.deps/gstream.Po libmysqld/.deps/ha_berkeley.Po libmysqld/.deps/ha_federated.Po libmysqld/.deps/ha_heap.Po libmysqld/.deps/ha_innodb.Po libmysqld/.deps/ha_myisam.Po libmysqld/.deps/ha_myisammrg.Po libmysqld/.deps/ha_ndbcluster.Po libmysqld/.deps/ha_ndbcluster_binlog.Po libmysqld/.deps/ha_partition.Po libmysqld/.deps/handler.Po libmysqld/.deps/hash_filo.Po libmysqld/.deps/hostname.Po libmysqld/.deps/init.Po libmysqld/.deps/item.Po libmysqld/.deps/item_buff.Po libmysqld/.deps/item_cmpfunc.Po libmysqld/.deps/item_create.Po libmysqld/.deps/item_func.Po libmysqld/.deps/item_geofunc.Po libmysqld/.deps/item_row.Po libmysqld/.deps/item_strfunc.Po libmysqld/.deps/item_subselect.Po libmysqld/.deps/item_sum.Po libmysqld/.deps/item_timefunc.Po libmysqld/.deps/item_uniq.Po libmysqld/.deps/item_xmlfunc.Po libmysqld/.deps/key.Po libmysqld/.deps/lib_sql.Po libmysqld/.deps/libmysql.Po libmysqld/.deps/libmysqld.Po libmysqld/.deps/lock.Po libmysqld/.deps/log
  .Po libmysqld/.deps/log_event.Po libmysqld/.deps/my_decimal.Po libmysqld/.deps/my_time.Po libmysqld/.deps/my_user.Po libmysqld/.deps/net_serv.Po libmysqld/.deps/opt_range.Po libmysqld/.deps/opt_sum.Po libmysqld/.deps/pack.Po libmysqld/.deps/parse_file.Po libmysqld/.deps/partition_info.Po libmysqld/.deps/password.Po libmysqld/.deps/procedure.Po libmysqld/.deps/protocol.Po libmysqld/.deps/records.Po libmysqld/.deps/rpl_filter.Po libmysqld/.deps/rpl_injector.Po libmysqld/.deps/set_var.Po libmysqld/.deps/sp.Po libmysqld/.deps/sp_cache.Po libmysqld/.deps/sp_head.Po libmysqld/.deps/sp_pcontext.Po libmysqld/.deps/sp_rcontext.Po libmysqld/.deps/spatial.Po libmysqld/.deps/sql_acl.Po libmysqld/.deps/sql_analyse.Po libmysqld/.deps/sql_base.Po libmysqld/.deps/sql_builtin.Po libmysqld/.deps/sql_cache.Po libmysqld/.deps/sql_class.Po libmysqld/.deps/sql_crypt.Po libmysqld/.deps/sql_cursor.Po libmysqld/.deps/sql_db.Po libmysqld/.deps/sql_delete.Po libmysqld/.deps/sql_derived.Po libmysqld/.deps/sql_do.Po libmysqld/.deps/s
  ql_error.Po libmysqld/.deps/sql_handler.Po libmysqld/.deps/sql_help.Po libmysqld/.deps/sql_insert.Po libmysqld/.deps/sql_lex.Po libmysqld/.deps/sql_list.Po libmysqld/.deps/sql_load.Po libmysqld/.deps/sql_manager.Po libmysqld/.deps/sql_map.Po libmysqld/.deps/sql_parse.Po libmysqld/.deps/sql_partition.Po libmysqld/.deps/sql_plugin.Po libmysqld/.deps/sql_prepare.Po libmysqld/.deps/sql_rename.Po libmysqld/.deps/sql_select.Po libmysqld/.deps/sql_show.Po libmysqld/.deps/sql_state.Po libmysqld/.deps/sql_string.Po libmysqld/.deps/sql_table.Po libmysqld/.deps/sql_tablespace.Po libmysqld/.deps/sql_test.Po libmysqld/.deps/sql_trigger.Po libmysqld/.deps/sql_udf.Po libmysqld/.deps/sql_union.Po libmysqld/.deps/sql_update.Po libmysqld/.deps/sql_view.Po libmysqld/.deps/sql_yacc.Po libmysqld/.deps/stacktrace.Po libmysqld/.deps/strfunc.Po libmysqld/.deps/table.Po libmysqld/.deps/thr_malloc.Po libmysqld/.deps/time.Po libmysqld/.deps/tztime.Po libmysqld/.deps/uniques.Po libmysqld/.deps/unireg.Po mysys/.deps/array.Po mysys/.d
  eps/base64.Po mysys/.deps/charset-def.Po mysys/.deps/charset.Po mysys/.deps/checksum.Po mysys/.deps/default.Po mysys/.deps/default_modify.Po mysys/.deps/errors.Po mysys/.deps/hash.Po mysys/.deps/list.Po mysys/.deps/md5.Po mysys/.deps/mf_brkhant.Po mysys/.deps/mf_cache.Po mysys/.deps/mf_dirname.Po mysys/.deps/mf_fn_ext.Po mysys/.deps/mf_format.Po mysys/.deps/mf_getdate.Po mysys/.deps/mf_iocache.Po mysys/.deps/mf_iocache2.Po mysys/.deps/mf_keycache.Po mysys/.deps/mf_keycaches.Po mysys/.deps/mf_loadpath.Po mysys/.deps/mf_pack.Po mysys/.deps/mf_path.Po mysys/.deps/mf_qsort.Po mysys/.deps/mf_qsort2.Po mysys/.deps/mf_radix.Po mysys/.deps/mf_same.Po mysys/.deps/mf_sort.Po mysys/.deps/mf_strip.Po mysys/.deps/mf_tempdir.Po mysys/.deps/mf_tempfile.Po mysys/.deps/mf_unixpath.Po mysys/.deps/mf_wcomp.Po mysys/.deps/mf_wfile.Po mysys/.deps/mulalloc.Po mysys/.deps/my_access.Po mysys/.deps/my_aes.Po mysys/.deps/my_alarm.Po mysys/.deps/my_alloc.Po mysys/.deps/my_append.Po mysys/.deps/my_atomic.Po mysys/.deps/my_bit.Po mys
  ys/.deps/my_bitmap.Po mysys/.deps/my_chsize.Po mysys/.deps/my_clock.Po mysys/.deps/my_compress.Po mysys/.deps/my_copy.Po mysys/.deps/my_crc32.Po mysys/.deps/my_create.Po mysys/.deps/my_delete.Po mysys/.deps/my_div.Po mysys/.deps/my_dup.Po mysys/.deps/my_error.Po mysys/.deps/my_file.Po mysys/.deps/my_fopen.Po mysys/.deps/my_fstream.Po mysys/.deps/my_gethostbyname.Po mysys/.deps/my_gethwaddr.Po mysys/.deps/my_getncpus.Po mysys/.deps/my_getopt.Po mysys/.deps/my_getsystime.Po mysys/.deps/my_getwd.Po mysys/.deps/my_handler.Po mysys/.deps/my_init.Po mysys/.deps/my_largepage.Po mysys/.deps/my_lib.Po mysys/.deps/my_libwrap.Po mysys/.deps/my_lock.Po mysys/.deps/my_lockmem.Po mysys/.deps/my_lread.Po mysys/.deps/my_lwrite.Po mysys/.deps/my_malloc.Po mysys/.deps/my_memmem.Po mysys/.deps/my_messnc.Po mysys/.deps/my_mkdir.Po mysys/.deps/my_mmap.Po mysys/.deps/my_net.Po mysys/.deps/my_netware.Po mysys/.deps/my_new.Po mysys/.deps/my_once.Po mysys/.deps/my_open.Po mysys/.deps/my_port.Po mysys/.deps/my_pread.Po mysys/.deps
  /my_pthread.Po mysys/.deps/my_quick.Po mysys/.deps/my_read.Po mysys/.deps/my_realloc.Po mysys/.deps/my_redel.Po mysys/.deps/my_rename.Po mysys/.deps/my_seek.Po mysys/.deps/my_semaphore.Po mysys/.deps/my_sleep.Po mysys/.deps/my_static.Po mysys/.deps/my_symlink.Po mysys/.deps/my_symlink2.Po mysys/.deps/my_sync.Po mysys/.deps/my_thr_init.Po mysys/.deps/my_vle.Po mysys/.deps/my_windac.Po mysys/.deps/my_write.Po mysys/.deps/ptr_cmp.Po mysys/.deps/queues.Po mysys/.deps/rijndael.Po mysys/.deps/safemalloc.Po mysys/.deps/sha1.Po mysys/.deps/string.Po mysys/.deps/thr_alarm.Po mysys/.deps/thr_lock.Po mysys/.deps/thr_mutex.Po mysys/.deps/thr_rwlock.Po mysys/.deps/tree.Po mysys/.deps/trie.Po mysys/.deps/typelib.Po netware/.deps/libmysqlmain.Po netware/.deps/my_manage.Po netware/.deps/mysql_install_db.Po netware/.deps/mysql_test_run.Po netware/.deps/mysqld_safe.Po plugin/fulltext/.deps/mypluglib_la-plugin_example.Plo plugin/fulltext/.libs/mypluglib.lai plugin/fulltext/.libs/mypluglib.so.0 plugin/fulltext/.libs/myplugli
  b.so.0.0.0 pstack/.deps/bucomm.Po pstack/.deps/debug.Po pstack/.deps/filemode.Po pstack/.deps/ieee.Po pstack/.deps/linuxthreads.Po pstack/.deps/pstack.Po pstack/.deps/rddbg.Po pstack/.deps/stabs.Po regex/.deps/debug.Po regex/.deps/main.Po regex/.deps/regcomp.Po regex/.deps/regerror.Po regex/.deps/regexec.Po regex/.deps/regfree.Po regex/.deps/reginit.Po regex/.deps/split.Po server-tools/instance-manager/.deps/buffer.Po server-tools/instance-manager/.deps/command.Po server-tools/instance-manager/.deps/commands.Po server-tools/instance-manager/.deps/guardian.Po server-tools/instance-manager/.deps/instance.Po server-tools/instance-manager/.deps/instance_map.Po server-tools/instance-manager/.deps/instance_options.Po server-tools/instance-manager/.deps/liboptions_la-options.Plo server-tools/instance-manager/.deps/liboptions_la-priv.Plo server-tools/instance-manager/.deps/listener.Po server-tools/instance-manager/.deps/log.Po server-tools/instance-manager/.deps/manager.Po server-tools/instance-manager/.deps/mess
  ages.Po server-tools/instance-manager/.deps/mysql_connection.Po server-tools/instance-manager/.deps/mysqlmanager.Po server-tools/instance-manager/.deps/net_serv.Po server-tools/instance-manager/.deps/parse.Po server-tools/instance-manager/.deps/parse_output.Po server-tools/instance-manager/.deps/protocol.Po server-tools/instance-manager/.deps/thread_registry.Po server-tools/instance-manager/.deps/user_management_commands.Po server-tools/instance-manager/.deps/user_map.Po to the ignore list
sql/event_scheduler.cc:
  Whitespaces and moving around to ease the job of diff
sql/event_scheduler.h:
  init_scheduler() actually does not return anything but 0, then make it void
2006-07-13 16:24:55 +02:00
unknown
6327adebcb WL #3337 (Event scheduler new architecture)
move back THD::change_security_context to event_change_security_context


sql/event_data_objects.cc:
  move THD::change_security_context to event_change_security_context
sql/sql_class.cc:
  move THD::change_security_context to event_change_security_context
sql/sql_class.h:
  move THD::change_security_context to event_change_security_context
2006-07-13 12:19:01 +02:00
unknown
31caa8c433 WL #3337 (Events new architecture)
Final stroke, events should be loaded from disk on server startup.
Also check the validity of their bodies if possible during loading.


sql/event_data_objects.cc:
  Remove Event_job_data::free_sp(), move the code to the destructor
  Change the way we change the security context
  Steal some code from sql_parse.cc
sql/event_data_objects.h:
  Remove free_sp()
  Make compile() public, to be used when booting for verifying the integrity of mysql.event
sql/event_queue.cc:
  Make the queue load events from disk on server boot.
  Compile and thus check for integrity the events.
sql/event_queue.h:
  shift methods around. add queue_loaded boolean.
sql/event_scheduler.cc:
  Rename init_event_thread() to pre_init_event_thread()
  and make it more generic.
  Add post_init_event_thread()
  Export these two as well as deinit_event_thread().
  Now it is quite easy to write code to spawn a new event thread
  whenever needed.
sql/event_scheduler.h:
  export pre_init_event_thread(), post_init_event_thread() and deinit_event_thread()
  to simplify writing of thread functions.
sql/events.cc:
  Events::init() returns only one error code, then make it bool
sql/events.h:
  Events::init() returns only one error code, then make it bool
sql/mysqld.cc:
  Check the return code of Events::init()
sql/sp_head.cc:
  Add trace info
sql/sql_class.cc:
  Reorganize thd::change_security_context() to load main_security_ctx
sql/sql_class.h:
  Reorganize thd::change_security_context() to load main_security_ctx
sql/sql_lex.cc:
  Initialize lex->spname
sql/sql_yacc.yy:
  Add a comment
2006-07-13 10:59:58 +02:00
unknown
42a8e2c942 WL#3337 (Event scheduler new architecture)
More small fixes to the API : use LEX_STRING instead of LEX_STRING* and if error
then return bool(true) instead of error code.
Merged functions. Reduced usage of sp_name.
Fixed a lot of function documentation errors.
Added function documentation wherever needed.
Removed some unused defines and error codes.

Next to come is batch rename of Event_scheduler_ng to Event_scheduler.


mysql-test/r/events.result:
  update result
mysql-test/r/events_logs_tests.result:
  update result
mysql-test/t/events.test:
  more test coverage
mysql-test/t/events_logs_tests.test:
  fix test
sql/event_data_objects.cc:
  Cosmetics.
  Fix function documentation whenever needed.
  Move Event_job_data::compile() next to Event_job_data::execute()
sql/event_data_objects.h:
  Remove unneeded error codes and defines
  Move function declarations at the end of the header
sql/event_db_repository.cc:
  Fix function documentation.
  Event_db_repository::update_event() now uses LEX_STRING *-s instead of
  sp_name . Lower coupling.
sql/event_db_repository.h:
  Event_db_repository::update_event() now uses LEX_STRING *-s instead of
  sp_name . Lower coupling.
  find_event -> find_named_event
  find_event_by_name is not used externally, merge with load_named_event()
sql/event_queue.cc:
  LEX_STRING* to LEX_STRING
  Fix comments.
  Fix and add function documentation.
  Remove Event_queue::events_count() as it is unused
  Change get_top_for_execution_if_time() to return status code as return value
  and the object is in out parameter.
sql/event_queue.h:
  LEX_STRING* to LEX_STRING
  Fix comments.
  Fix and add function documentation.
  Remove Event_queue::events_count() as it is unused
  Change get_top_for_execution_if_time() to return status code as return value
  and the object is in out parameter.
  Try to detect also lock attemptions for deadlocks.
sql/event_scheduler_ng.cc:
  Always execute on thd->mem_root
  Fix according to changed API of Event_queue::get_top_for_execution_if_time()
sql/events.cc:
  Fix function documentation.
  Fix code after API changes of internal Event module classes.
sql/events.h:
  sp_name -> LEX_STRINGs
sql/sql_parse.cc:
  Fix according to changed API of Events::show_create_event()
sql/sql_yacc.yy:
  Don't pass NULL as third parameter to sp_head::init_strings()
2006-07-11 18:28:15 +02:00
unknown
084f74426b Remove trailing whitespace.
After merge fixes.


sql/event_data_objects.cc:
  after merge fix. use thd->strmake instead of strmake_root
  Remove commented out code.
  Remove trailing whitespace.
sql/event_db_repository.cc:
  After merge fix.
  Before closing thread tables check whether table is actuall non-NULL.
  And always initialize it to NULL.
sql/event_queue.cc:
  Remove trailing whitespace.
sql/event_scheduler_ng.cc:
  Remove trailing whitespace.
  Tabs to spaces.
sql/events.cc:
  Remove trailing whitespace.
2006-07-10 23:54:46 +02:00
unknown
5d91dc2560 Manual merge
BitKeeper/etc/ignore:
  auto-union
mysql-test/r/events_logs_tests.result:
  Auto merged
mysql-test/t/events_logs_tests.test:
  Auto merged
mysql-test/t/events_stress.test:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_db.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/share/errmsg.txt:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/event_data_objects.cc:
  manual merge
sql/events.cc:
  manual merge
2006-07-10 14:42:29 +02:00
unknown
974eecc246 WL#3337 (Event scheduler new architecture)
This patch introduces specialized Event data objects
Event_basic as parent.
Event_queue_element used for queue storage
Event_timed used for SHOW EVENTS/ I_S.EVENTS / SHOW CREATE EVENT
Event_job_data using during execution.
Methods were moved out of Event_timed to other classes.

This patch also introduces Events::LOCK_event_metadata.
This patch gives new implementation of Events::dump_internal_status().
Now both the Event_scheduler and Event_queue return information during
their ::dump_internal_status().

Shortened a bit the runtime for executing events test cases.


mysql-test/r/events.result:
  update results
mysql-test/r/events_bugs.result:
  update results
mysql-test/r/events_logs_tests.result:
  update results
mysql-test/r/events_scheduling.result:
  update results
mysql-test/t/events.test:
  update test
  make --sleep more appropriate . saving some time could mean failure on loaded boxes though :(
  add tests for previously uncovered branches.
mysql-test/t/events_bugs.test:
  update test
  make --sleep more appropriate . saving some time could mean failure on loaded boxes though :(
  add tests for previously uncovered branches.
mysql-test/t/events_logs_tests.test:
  make the test shorter by time
mysql-test/t/events_scheduling.test:
  when selecting always use ORDER BY
mysql-test/t/events_stress.test:
  sleep 2.5secs for shorter stress test
sql/event_data_objects.cc:
  Event_timed is no more used during execution.
  Event_timed is no more used during in the memory queue.
  Event_timed is only used for SHOW CREATE EVENT/ I_S.EVENTS/ SHOW EVENTS
  Event_basic is the parent of almost all Event data objects.
  Event_basic -> Event_queue_element (used for the memory queue) -> Event_timed
  Event_basic -> Event_job_data (the object used for execution)
  Sql_alloc -> Event_parse_data (used during parsing)
sql/event_data_objects.h:
  Event_timed is no more used during execution.
  Event_timed is no more used during in the memory queue.
  Event_timed is only used for SHOW CREATE EVENT/ I_S.EVENTS/ SHOW EVENTS
  Event_basic is the parent of almost all Event data objects.
  Event_basic -> Event_queue_element (used for the memory queue) -> Event_timed
  Event_basic -> Event_job_data (the object used for execution)
  Sql_alloc -> Event_parse_data (used during parsing)
sql/event_db_repository.cc:
  Cosmetics.
  load_named_event now uses Event_basic, for polymorphism
  find_event uses Event_basic, to be polymorphic.
  use Field **fields= table->field and then index fields[...]
  Add documentation.
  Fix documentation.
sql/event_db_repository.h:
  Event_db_repository depends only on Event_basic's interface
sql/event_queue.cc:
  Cosmetics.
  Don't use Event_timed for the queue and giving back object for execution.
  Event_queue_element is for the queue, Event_job_data is for execution.
  Add Event_queue::dump_internal_status() for SHOW SCHEDULER STATUS command
sql/event_queue.h:
  Cosmetics.
  Don't use Event_timed for the queue and giving back object for execution.
  Event_queue_element is for the queue, Event_job_data is for execution.
  Add Event_queue::dump_internal_status() for SHOW SCHEDULER STATUS command
sql/event_scheduler_ng.cc:
  Add back Event_scheduler::cond_wait()
  Add back Event_scheduler::dump_internal_status()
  Using Event_job_data for execution. Make the scheduler thread unkillable (thd->command= COM_DAEMON).
  Add a lot of documentation.
sql/event_scheduler_ng.h:
  Add back Event_scheduler::cond_wait()
  Add back Event_scheduler::dump_internal_status()
  Using Event_job_data for execution.
sql/events.cc:
  Documentation
  Add LOCK_event_metadata
sql/events.h:
  Change the signature of Events::drop_event() not to use sp_name but LEX_STRING
sql/share/errmsg.txt:
  Fix error message
sql/sql_parse.cc:
  Events::drop_event() has new signature
2006-07-10 13:44:43 +02:00
unknown
b9a7fe2757 WL#3337 (Event scheduler new architecture)
Cleaned up the code a bit. Fixed few leaks.
This code still does not load events on server startup
from disk. The problem is that there is a need for a THD instance, which
does not exist during server boot. This will be solved soon.
Still Event_timed is used both for the memory queue and for exectution.
This will be changed according to WL#3337 probably in the next commit.


sql/event_data_objects.cc:
  Strip unneeded stuff from class Event_timed
  Event_timed is still used for the queue and execution.
  That will be changed in the next commit.
sql/event_data_objects.h:
  Strip unneeded stuff from class Event_timed
  Event_timed is still used for the queue and execution.
  That will be changed in the next commit.
sql/event_db_repository.cc:
  Cosmetics.
  Add a new method load_named_event_job, to be made complete in the 
  next commit. It will load from disk an instance of Event_job_data to
  be used during execution.
sql/event_db_repository.h:
  find_event does not need MEM_ROOT anymore
  because the memory is allocated on Event's own root.
sql/event_queue.cc:
  Remove dead code.
  Move dumping of the queue to separate method.
  Make critical sections in create_event & update_event
  as small as possible - load the new event outside of the section
  and free the object also outside of it.
sql/event_queue.h:
  init -> init_queue -> easier for ctags
  deinit -> deinit_queue -> easier for ctags
sql/event_scheduler.cc:
  empty this file
sql/event_scheduler.h:
  empty this file
sql/event_scheduler_ng.cc:
  add back DBUG_RETURN(0) in thread handlers.
  We don't stop running events when stopping the scheduler. Therefore
  remove this method now. If it is needed later it can be added back.
sql/event_scheduler_ng.h:
  Remove stop_all_running_threads()
  init -> init_scheduler
  deinit -> deinit_scheduler
  easier for ctags
sql/events.cc:
  Cosmetics
sql/events.h:
  Cosmetics
sql/set_var.cc:
  Remove references to dead code
sql/sql_parse.cc:
  Reorganize a bit.
2006-07-05 17:12:50 +02:00
unknown
a5dfeb02e9 WL #3337 (Event scheduler new architecture)
Cut Nr. 8.

All tests pass.

Separated Event_scheduler into Event_queue and Event_scheduler.
Added new Event_scheduler_ng which is the new scheduler and is used
system-wide. Will be moved to the event_scheduler.cc in the future.
Using Event_timed in Event_queue as well as cloned during execution.
Next step is to have Event_worker_data which will be used during execution
and will take ::compile()/::execute() out of Event_timed.


mysql-test/r/events.result:
  update result
mysql-test/r/events_bugs.result:
  update result
mysql-test/r/ps_1general.result:
  update result
mysql-test/r/skip_name_resolve.result:
  update result
mysql-test/r/sp-threads.result:
  update result
mysql-test/r/sp_notembedded.result:
  update result
mysql-test/r/status.result:
  update result
mysql-test/t/events_stress.test:
  Make event_stress a bit longer
sql/Makefile.am:
  Add new event_scheduler_ng.h/cc . These are only to be in the experimental
  clone. Later their content will be moved to event_scheduler.h/cc
sql/event_data_objects.cc:
  Allocate strings memory on own memory root, instead
  on the schedulers. Thus don't "leak" memory. This should
  fix bug#18683 memory leak in event scheduler
sql/event_data_objects.h:
  add mem_root
  add THD - this is only temporal, will be moved to class Event_job_data
  once Event_job_data is responsible for the execution.
sql/event_db_repository.cc:
  Remove unused code.
  Cosmetic changes
sql/event_queue.cc:
  Now use the Event_scheduler_ng (NextGen)
sql/event_queue.h:
  Now use the Event_scheduler_ng (NextGen)
sql/event_scheduler.cc:
  This file is no more used, but will be soon.
sql/event_scheduler.h:
  This file is no more used but will be soon
sql/events.cc:
  Now use the Event_scheduler_ng (NextGen)
sql/events.h:
  Now use the Event_scheduler_ng (NextGen)
sql/mysqld.cc:
  Make it again possible to kill the scheduler thread
sql/set_var.cc:
  Now use the Event_scheduler_ng (NextGen)
sql/share/errmsg.txt:
  Shorten the message.
sql/sql_show.cc:
  Loading is on a own root, then don't use thd->mem_root
2006-07-04 18:44:35 +02:00
unknown
377446fa34 WL#3337 (Event scheduler new architecture)
This is the first cut of separating Event_scheduler in two
classes which are more specialized.
Inheritance was used to separate methods and member variables.
Still Event_scheduler is a child of Event_queue. This dependency
will be removed soon.


sql/event_data_objects.cc:
  add comments
sql/event_db_repository.cc:
  coding style
sql/event_db_repository.h:
  add a call, will be implemented later
sql/event_queue.cc:
  Event_queue, still as super-class of Event_scheduler
sql/event_queue.h:
  Event_queue as super-class of Event_scheduler. Trying to
  separate the two classes
sql/event_scheduler.cc:
  Event_scheduler as child class of Event_queue.
  Trying to separate both classes.
sql/event_scheduler.h:
  Event_scheduler as child class of Event_queue.
  Trying to separate both classes.
sql/events.cc:
  Don't allocate on the stack the scheduler but on the heap.
  The exact way it is done will be changed, that's ok for now.
2006-07-03 11:20:08 +02:00
unknown
9fa9378b2e WL#3337 (Events new architecture)
This cut No 7 should finish the part of fixing the parsing of the events :
- Event_timed is no more used during parsing. Less problems because it has
  a mutex. Event_parse_data class is used during parsing. It is suited only
  for this purpose. It's pretty lightweight
- Late checking of data from parsing is being performed. This should solve
  the problems of nested events in SP or other events (for the situation 
  of no nested bodies). Before if an ALTER EVENT was in a SP, then when the
  SP was compiled, and not executed, the actual init_xxx methods of Event_timed
  were called, which is wrong.
- It could be a side effect of using a specialized class, but test events_stress is
  now 25% quicker.

Cut No8 will start splitting Event_scheduler into 2 parts, the QUEUE will be moved
to Event_queue.


mysql-test/r/events.result:
  update result
mysql-test/t/events.test:
  disabled is actually wrong, should be disable, but because of the early
  checking it was never parsed.
sql/event_data_objects.cc:
  move add init_xxx methods from Event_timed to Event_parse_data
  Event_parse data does not need definer_user and definer_host
  in Event_timed::compile() do not use lex.et, well there is no more lex.et :)
sql/event_data_objects.h:
  move parsing responsibilities from Event_timed to Event_parse_data
sql/event_db_repository.cc:
  No more Event_timed comes from parsing but Event_parse_data
  The initialization of Item*-s from parsing is done late, and not
  during the actual parsing. This is the right way to go because
  if an ALTER EVENT is inside a SP or CREATE EVENT it should not be
  executed (initialized) during parsing, as it was done.
sql/event_db_repository.h:
  No more Event_timed comes from parsing but Event_parse_data
  The initialization of Item*-s from parsing is done late, and not
  during the actual parsing. This is the right way to go because
  if an ALTER EVENT is inside a SP or CREATE EVENT it should not be
  executed (initialized) during parsing, as it was done.
sql/event_scheduler.cc:
  No more Event_timed comes from parsing but Event_parse_data
  The initialization of Item*-s from parsing is done late, and not
  during the actual parsing. This is the right way to go because
  if an ALTER EVENT is inside a SP or CREATE EVENT it should not be
  executed (initialized) during parsing, as it was done.
sql/event_scheduler.h:
  No more Event_timed comes from parsing but Event_parse_data
  The initialization of Item*-s from parsing is done late, and not
  during the actual parsing. This is the right way to go because
  if an ALTER EVENT is inside a SP or CREATE EVENT it should not be
  executed (initialized) during parsing, as it was done.
sql/events.cc:
  No more Event_timed comes from parsing but Event_parse_data
  The initialization of Item*-s from parsing is done late, and not
  during the actual parsing. This is the right way to go because
  if an ALTER EVENT is inside a SP or CREATE EVENT it should not be
  executed (initialized) during parsing, as it was done.
sql/events.h:
  No more Event_timed comes from parsing but Event_parse_data
  The initialization of Item*-s from parsing is done late, and not
  during the actual parsing. This is the right way to go because
  if an ALTER EVENT is inside a SP or CREATE EVENT it should not be
  executed (initialized) during parsing, as it was done.
sql/sql_lex.cc:
  lex->et_compile_phase and lex->et are no more.
  Use lex->event_parse_data
sql/sql_lex.h:
  lex->et_compile_phase and lex->et are no more.
  Use lex->event_parse_data
sql/sql_parse.cc:
  lex->et_compile_phase and lex->et are no more.
  Use lex->event_parse_data
  ACL checks were moved inside the Events subsystem.
  Also ending of the transaction is performed only just
  before doing disk operation. Therefore only when needed.
sql/sql_yacc.yy:
  lex->et and lex->et_parse_phase are no more
  Use the specialized for parsing Event_parse_data
2006-06-29 00:42:25 +02:00
unknown
400276c2f5 WL#3337 (Events new architecture)
Cut 7 (refactoring)

db_repository is no more embedded in the Events
singleton. Therefore a change to Events_db_repository
won't mean recompile of all files in the server which include events.h


sql/event_data_objects.cc:
  db_repository is no more embedded in the Events
  singleton. Therefore a change to Events_db_repository
  won't mean recompile of all files in the server which include events.h
sql/event_db_repository.cc:
  db_repository is no more embedded in the Events
  singleton. Therefore a change to Events_db_repository
  won't mean recompile of all files in the server which include events.h
sql/events.cc:
  db_repository is no more embedded in the Events
  singleton. Therefore a change to Events_db_repository
  won't mean recompile of all files in the server which include events.h
sql/events.h:
  db_repository is no more embedded in the Events
  singleton. Therefore a change to Events_db_repository
  won't mean recompile of all files in the server which include events.h
sql/mysqld.cc:
  db_repository is no more embedded in the Events
  singleton. Therefore a change to Events_db_repository
  won't mean recompile of all files in the server which include events.h
2006-06-28 15:14:05 +02:00
unknown
acefb78bc3 WL#3337 (Events new architecture)
5th cut, moved DB related code to Event_db_repository and
updated accordingly the remanining code.
Moved change/restore_security_context() to class THD
Removed events_priv.h
Next step is to reorganize create/update_event() and parsing for them.
But probably some other refactoring could be done in the meanwhile.
The changes so far pass the test suite.


BitKeeper/deleted/.del-events_priv.h~2e8bce2cf35997df:
  Delete: sql/events_priv.h
sql/Makefile.am:
  events_priv.h is no more
sql/event_data_objects.cc:
  reorganize events code
sql/event_data_objects.h:
  reorganize events code
sql/event_db_repository.cc:
  reorganize events code
sql/event_db_repository.h:
  reorganize events code
sql/event_scheduler.cc:
  reorganize events code
sql/event_scheduler.h:
  reorganize events code
sql/events.cc:
  reorganize events code
sql/events.h:
  reorganize events code
sql/mysqld.cc:
  reorganize events code
sql/set_var.cc:
  reorganize events code
sql/sql_class.cc:
  add ::change_security_context() and restore_security_context()
sql/sql_class.h:
  add ::change_security_context() and restore_security_context()
sql/sql_db.cc:
  reorganize Events code
sql/sql_parse.cc:
  reorganize Events code
sql/sql_show.cc:
  reorganize Events code
2006-06-28 01:28:03 +02:00
unknown
ef9a97e685 WL#3337 (Event scheduler new architecture)
Third cut to simplify parsing phase. Now DROP EVENT works.

Overloaded few functions to be able to use either sp_name or pass two LEX_STRINGs
instead of a Event_timed pointer. This is transitional and eventually the old
functions will be removed. For now DROP EVENT also works, does not need anymore
a parsing object (Event_timed) and definer initialization because everyone who
has EVENT_ACL can drop events, and this is checked on execution time in sql_parse.cc
from the security context, as it should be.


sql/event_data_objects.cc:
  overload few functions
sql/event_scheduler.cc:
  Event_scheduler::drop_event() actually does not need Event_timed object
  but just an identifier, hence pass only sp_name.
  
  Overloaded Event_scheduler::find_event() to work with sp_name object. Eventually
  the old version will be removed. This is being done as transitional step to
  be able to test frequently code.
sql/event_scheduler.h:
  Event_scheduler::drop_event() actually does not need Event_timed object
  but just an identifier, hence pass only sp_name.
  
  Overloaded Event_scheduler::find_event() to work with sp_name object. Eventually
  the old version will be removed. This is being done as transitional step to
  be able to test frequently code.
sql/events.cc:
  Change db_drop_event() not to use Event_timed, either coming from parsing
  or from Event_timed::drop, but use LEX_STRINGs. sp_name is not convinient
  because in Event_timed::drop a temporary object has to be created. Hence, 
  dereference the sp_name in Events::drop_event() and pass the LEX_STRINGs.
sql/events.h:
  Change db_drop_event() not to use Event_timed, either coming from parsing
  or from Event_timed::drop, but use LEX_STRINGs. sp_name is not convinient
  because in Event_timed::drop a temporary object has to be created. Hence, 
  dereference the sp_name in Events::drop_event() and pass the LEX_STRINGs.
sql/events_priv.h:
  Change db_drop_event() not to use Event_timed, either coming from parsing
  or from Event_timed::drop, but use LEX_STRINGs. sp_name is not convinient
  because in Event_timed::drop a temporary object has to be created. Hence, 
  dereference the sp_name in Events::drop_event() and pass the LEX_STRINGs.
sql/sql_parse.cc:
  SQLCOM_DROP_EVENT does not need lex->event_parse_data object and 
  is more like SQLCOM_SHOW_CREATE_EVENT. Therefore, move it to the block that
  handles the latter.
sql/sql_yacc.yy:
  DROP EVENT does not need a parsing object, just a name.
  Store it as lex->spname. Pretty similar handling to the one of
  SHOW CREATE EVENT.
2006-06-27 11:51:11 +02:00
unknown
d2db48c69b WL#3337 (Events new infrasctructure)
Second cut of separating parsing phase from execution phase
Separate Event_timed from parsing phase and introducing Event_parse_data.


sql/event_data_objects.cc:
  second cut,
  copy Event_timed::init_body() to Event_parse_data::init_body()
  Init the body during parsing, everything else keep as a pointer to
  Item or some other pointer to use for later initialization.
sql/event_data_objects.h:
  get the identifier as sp_name*, later will initialize our structures
sql/events.cc:
  for easy transition add temporarily parse_data, later Event_timed *et will be removed.
  Do slow transition because Event_timed is so tightly integrated that a front-attack
  by removing things from this class was unsuccessful. Do things step by step by eliminating
  dependencies. Hence, the code could be checked with the current test suite too
  (early testing)
sql/events.h:
  for easy transition add temporarily parse_data, later Event_timed *et will be removed.
  Do slow transition because Event_timed is so tightly integrated that a front-attack
  by removing things from this class was unsuccessful. Do things step by step by eliminating
  dependencies. Hence, the code could be checked with the current test suite too
  (early testing)
BitKeeper/etc/ignore:
  Added libmysql/viosocket.o.6WmSJk libmysqld/event_data_objects.cc libmysqld/event_db_repository.cc libmysqld/event_queue.cc server-tools/instance-manager/net_serv.cc to the ignore list
sql/share/errmsg.txt:
  remove this message, not used and needed for now
sql/sql_lex.h:
  for easy transition add temporarily parse_data, later Event_timed *et will be removed.
  Do slow transition because Event_timed is so tightly integrated that a front-attack
  by removing things from this class was unsuccessful. Do things step by step by eliminating
  dependencies. Hence, the code could be checked with the current test suite too
  (early testing)
sql/sql_parse.cc:
  for easy transition add temporarily parse_data, later Event_timed *et will be removed.
  Do slow transition because Event_timed is so tightly integrated that a front-attack
  by removing things from this class was unsuccessful. Do things step by step by eliminating
  dependencies. Hence, the code could be checked with the current test suite too
  (early testing)
sql/sql_yacc.yy:
  for easy transition add temporarily parse_data, later Event_timed *et will be removed.
  Do slow transition because Event_timed is so tightly integrated that a front-attack
  by removing things from this class was unsuccessful. Do things step by step by eliminating
  dependencies. Hence, the code could be checked with the current test suite too
  (early testing)
2006-06-27 10:53:26 +02:00
unknown
e5f8163b88 first cut of WL#3337 (New event scheduler locking infrastructure).
Infrastructure built. Added the  foreseen files and change Makefile.am/CMakeLists.txt
accordingly.


libmysqld/Makefile.am:
  add new files. this is first cut of WL3337u
sql/CMakeLists.txt:
  add more files to build
sql/Makefile.am:
  add new files. this is first cut of WL3337
sql/event_scheduler.cc:
  event_timed.h -> event_data_objects.h (WL#3337)
sql/events.cc:
  event_timed.h -> event_data_objects.h (WL#3337)
sql/share/errmsg.txt:
  new error message
sql/event_data_objects.cc:
  event_timed.h -> event_data_objects.h (WL#3337)
sql/event_data_objects.h:
  event_timed.h -> event_data_objects.h (WL#3337)
sql/sql_parse.cc:
  event_timed.h -> event_data_objects.h (WL#3337)
sql/sql_show.cc:
  event_timed.h -> event_data_objects.h (WL#3337)
sql/sql_yacc.yy:
  event_timed.h -> event_data_objects.h (WL#3337)
2006-06-27 08:48:50 +02:00
Renamed from sql/event_timed.cc (Browse further)