Below is the list of changes that have just been committed into a local
5.1 repository of andrey. When andrey does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet
1.2211 06/06/27 08:48:50 andrey@lmy004. +15 -0
first cut of WL#3337 (New event scheduler locking infrastructure).
Infrastructure built. Added the foreseen files and change Makefile.am/CMakeLists.txt
accordingly.
sql/event_queue.h
1.1 06/06/27 08:48:39 andrey@lmy004. +20 -0
sql/event_queue.cc
1.1 06/06/27 08:48:39 andrey@lmy004. +19 -0
sql/event_db_repository.h
1.1 06/06/27 08:48:39 andrey@lmy004. +20 -0
sql/event_queue.h
1.0 06/06/27 08:48:39 andrey@lmy004. +0 -0
BitKeeper file /work/mysql-5.1-runtime-wl3337/sql/event_queue.h
sql/event_queue.cc
1.0 06/06/27 08:48:39 andrey@lmy004. +0 -0
BitKeeper file /work/mysql-5.1-runtime-wl3337/sql/event_queue.cc
sql/event_db_repository.h
1.0 06/06/27 08:48:39 andrey@lmy004. +0 -0
BitKeeper file /work/mysql-5.1-runtime-wl3337/sql/event_db_repository.h
sql/event_db_repository.cc
1.1 06/06/27 08:48:38 andrey@lmy004. +19 -0
sql/sql_yacc.yy
1.484 06/06/27 08:48:38 andrey@lmy004. +1 -1
event_timed.h -> event_data_objects.h (WL#3337)
sql/sql_show.cc
1.355 06/06/27 08:48:38 andrey@lmy004. +1 -1
event_timed.h -> event_data_objects.h (WL#3337)
sql/sql_parse.cc
1.565 06/06/27 08:48:38 andrey@lmy004. +1 -1
event_timed.h -> event_data_objects.h (WL#3337)
sql/event_db_repository.cc
1.0 06/06/27 08:48:38 andrey@lmy004. +0 -0
BitKeeper file /work/mysql-5.1-runtime-wl3337/sql/event_db_repository.cc
sql/event_data_objects.h
1.3 06/06/27 08:48:38 andrey@lmy004. +89 -4
event_timed.h -> event_data_objects.h (WL#3337)
sql/event_data_objects.cc
1.58 06/06/27 08:48:38 andrey@lmy004. +1 -1
event_timed.h -> event_data_objects.h (WL#3337)
sql/share/errmsg.txt
1.111 06/06/27 08:48:37 andrey@lmy004. +3 -0
new error message
sql/events.cc
1.45 06/06/27 08:48:37 andrey@lmy004. +1 -1
event_timed.h -> event_data_objects.h (WL#3337)
sql/event_scheduler.cc
1.8 06/06/27 08:48:37 andrey@lmy004. +1 -1
event_timed.h -> event_data_objects.h (WL#3337)
sql/Makefile.am
1.146 06/06/27 08:48:37 andrey@lmy004. +4 -2
add new files. this is first cut of WL3337
sql/CMakeLists.txt
1.23 06/06/27 08:48:37 andrey@lmy004. +2 -1
add more files to build
libmysqld/Makefile.am
1.95 06/06/27 08:48:37 andrey@lmy004. +2 -1
add new files. this is first cut of WL3337u
sql/event_data_objects.cc
1.57 06/06/26 16:01:40 andrey@lmy004. +0 -0
Rename: sql/event_timed.cc -> sql/event_data_objects.cc
sql/event_data_objects.h
1.2 06/06/26 16:01:27 andrey@lmy004. +0 -0
Rename: sql/event_timed.h -> sql/event_data_objects.h
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: andrey
# Host: lmy004.
# Root: /work/mysql-5.1-runtime-wl3337
--- 1.145/sql/Makefile.am 2006-06-21 08:58:46 +02:00
+++ 1.146/sql/Makefile.am 2006-06-27 08:48:37 +02:00
@@ -65,7 +65,8 @@ noinst_HEADERS = item.h item_func.h item
sp_head.h sp_pcontext.h sp_rcontext.h sp.h sp_cache.h \
parse_file.h sql_view.h sql_trigger.h \
sql_array.h sql_cursor.h events.h events_priv.h \
- sql_plugin.h authors.h sql_partition.h event_timed.h \
+ sql_plugin.h authors.h sql_partition.h event_data_objects.h \
+ event_queue.h event_db_repository.h \
partition_info.h partition_element.h event_scheduler.h \
contributors.h
mysqld_SOURCES = sql_lex.cc sql_handler.cc sql_partition.cc \
@@ -104,7 +105,8 @@ mysqld_SOURCES = sql_lex.cc sql_handler.
tztime.cc my_time.c my_user.c my_decimal.cc\
sp_head.cc sp_pcontext.cc sp_rcontext.cc sp.cc \
sp_cache.cc parse_file.cc sql_trigger.cc \
- event_scheduler.cc events.cc event_timed.cc \
+ event_scheduler.cc events.cc event_data_objects.cc \
+ event_queue.cc event_db_repository.cc \
sql_plugin.cc sql_binlog.cc \
sql_builtin.cc sql_tablespace.cc partition_info.cc
--- 1.564/sql/sql_parse.cc 2006-06-26 08:55:43 +02:00
+++ 1.565/sql/sql_parse.cc 2006-06-27 08:48:38 +02:00
@@ -27,7 +27,7 @@
#include "sp.h"
#include "sp_cache.h"
#include "events.h"
-#include "event_timed.h"
+#include "event_data_objects.h"
#ifdef HAVE_OPENSSL
/*
--- 1.354/sql/sql_show.cc 2006-06-26 12:22:08 +02:00
+++ 1.355/sql/sql_show.cc 2006-06-27 08:48:38 +02:00
@@ -27,7 +27,7 @@
#include "authors.h"
#include "contributors.h"
#include "events.h"
-#include "event_timed.h"
+#include "event_data_objects.h"
#include <my_dir.h>
#ifdef WITH_PARTITION_STORAGE_ENGINE
--- 1.483/sql/sql_yacc.yy 2006-06-20 17:09:42 +02:00
+++ 1.484/sql/sql_yacc.yy 2006-06-27 08:48:38 +02:00
@@ -38,7 +38,7 @@
#include "sp_pcontext.h"
#include "sp_rcontext.h"
#include "sp.h"
-#include "event_timed.h"
+#include "event_data_objects.h"
#include <myisam.h>
#include <myisammrg.h>
--- 1.44/sql/events.cc 2006-06-20 17:09:39 +02:00
+++ 1.45/sql/events.cc 2006-06-27 08:48:37 +02:00
@@ -17,7 +17,7 @@
#include "mysql_priv.h"
#include "events_priv.h"
#include "events.h"
-#include "event_timed.h"
+#include "event_data_objects.h"
#include "event_scheduler.h"
#include "sp.h"
#include "sp_head.h"
--- New file ---
+++ sql/event_db_repository.cc 06/06/27 08:48:38
/* Copyright (C) 2004-2006 MySQL AB
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#include "mysql_priv.h"
#include "event_db_repository.h"
#include "event_data_objects.h"
--- New file ---
+++ sql/event_db_repository.h 06/06/27 08:48:39
#ifndef _EVENT_DB_REPOSITORY_H_
#define _EVENT_DB_REPOSITORY_H_
/* Copyright (C) 2004-2006 MySQL AB
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#endif /* _EVENT_DB_REPOSITORY_H_ */
--- New file ---
+++ sql/event_queue.cc 06/06/27 08:48:39
/* Copyright (C) 2004-2006 MySQL AB
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#include "mysql_priv.h"
#include "event_queue.h"
#include "event_data_objects.h"
--- New file ---
+++ sql/event_queue.h 06/06/27 08:48:39
#ifndef _EVENT_QUEUE_H_
#define _EVENT_QUEUE_H_
/* Copyright (C) 2004-2006 MySQL AB
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#endif /* _EVENT_QUEUE_H_ */
--- 1.7/sql/event_scheduler.cc 2006-06-20 17:14:28 +02:00
+++ 1.8/sql/event_scheduler.cc 2006-06-27 08:48:37 +02:00
@@ -17,7 +17,7 @@
#include "mysql_priv.h"
#include "events_priv.h"
#include "events.h"
-#include "event_timed.h"
+#include "event_data_objects.h"
#include "event_scheduler.h"
#include "sp_head.h"
--- 1.56/sql/event_timed.cc 2006-06-08 23:06:36 +02:00
+++ 1.58/sql/event_data_objects.cc 2006-06-27 08:48:38 +02:00
@@ -18,7 +18,7 @@
#include "mysql_priv.h"
#include "events_priv.h"
#include "events.h"
-#include "event_timed.h"
+#include "event_data_objects.h"
#include "sp_head.h"
--- 1.1/sql/event_timed.h 2006-06-20 17:05:33 +02:00
+++ 1.3/sql/event_data_objects.h 2006-06-27 08:48:38 +02:00
@@ -1,5 +1,5 @@
-#ifndef _EVENT_TIMED_H_
-#define _EVENT_TIMED_H_
+#ifndef _EVENT_DATA_OBJECTS_H_
+#define _EVENT_DATA_OBJECTS_H_
/* Copyright (C) 2004-2006 MySQL AB
This program is free software; you can redistribute it and/or modify
@@ -41,6 +41,7 @@
class sp_head;
+class Sql_alloc;
class Event_timed
{
@@ -213,5 +214,89 @@ public:
void
set_thread_id(ulong tid) { thread_id= tid; }
};
-
-#endif /* _EVENT_H_ */
+
+
+class Event_parse_data : public Sql_alloc
+{
+ Event_parse_data(const Event_parse_data &); /* Prevent use of these */
+ void operator=(Event_parse_data &);
+
+public:
+ enum enum_status
+ {
+ ENABLED = 1,
+ DISABLED
+ };
+
+ enum enum_on_completion
+ {
+ ON_COMPLETION_DROP = 1,
+ ON_COMPLETION_PRESERVE
+ };
+
+ enum enum_on_completion on_completion;
+ enum enum_status status;
+
+ const uchar *body_begin;
+
+ LEX_STRING dbname;
+ LEX_STRING name;
+ LEX_STRING body;
+
+ LEX_STRING definer_user;
+ LEX_STRING definer_host;
+ LEX_STRING definer;// combination of user and host
+
+ LEX_STRING comment;
+ Item* item_starts;
+ Item* item_ends;
+ Item* item_execute_at;
+
+ TIME starts;
+ TIME ends;
+ TIME execute_at;
+ my_bool starts_null;
+ my_bool ends_null;
+ my_bool execute_at_null;
+
+ Item* item_expression;
+ Item* item_interval;
+ longlong expression;
+ interval_type interval;
+
+// ulonglong created;
+// ulonglong modified;
+
+ static Event_parse_data *
+ new_instance(THD *thd);
+
+ Event_parse_data() {}
+ ~Event_parse_data() {}
+
+ int
+ init_definer(THD *thd);
+
+ int
+ init_execute_at(THD *thd, Item *expr);
+
+ int
+ init_interval(THD *thd, Item *expr, interval_type new_interval);
+
+ void
+ init_name(THD *thd, sp_name *spn);
+
+ int
+ init_starts(THD *thd, Item *starts);
+
+ int
+ init_ends(THD *thd, Item *ends);
+
+ void
+ init_body(THD *thd);
+
+ void
+ init_comment(THD *thd, LEX_STRING *set_comment);
+
+};
+
+#endif /* _EVENT_DATA_OBJECTS_H_ */
--- 1.110/sql/share/errmsg.txt 2006-06-21 17:51:43 +02:00
+++ 1.111/sql/share/errmsg.txt 2006-06-27 08:48:37 +02:00
@@ -5839,3 +5839,6 @@ ER_CANT_ACTIVATE_LOG
eng "Cannot activate '%-.64s' log."
ER_RBR_NOT_AVAILABLE
eng "The server was not built with row-based replication"
+ER_EVENT_RECURSIVITY_FORBIDDEN
+ eng "Recursivity of EVENT DDL statements is forbidden when body is present"
+
--- 1.94/libmysqld/Makefile.am 2006-06-20 17:09:39 +02:00
+++ 1.95/libmysqld/Makefile.am 2006-06-27 08:48:37 +02:00
@@ -68,7 +68,8 @@ sqlsources = derror.cc field.cc field_co
spatial.cc gstream.cc sql_help.cc tztime.cc sql_cursor.cc \
sp_head.cc sp_pcontext.cc sp.cc sp_cache.cc sp_rcontext.cc \
parse_file.cc sql_view.cc sql_trigger.cc my_decimal.cc \
- event_scheduler.cc events.cc event_timed.cc \
+ event_scheduler.cc events.cc event_data_objects.cc \
+ event_queue.cc event_db_repository.cc \
rpl_filter.cc sql_partition.cc sql_builtin.cc sql_plugin.cc \
sql_tablespace.cc \
rpl_injector.cc my_user.c partition_info.cc
--- 1.22/sql/CMakeLists.txt 2006-06-08 23:06:35 +02:00
+++ 1.23/sql/CMakeLists.txt 2006-06-27 08:48:37 +02:00
@@ -51,7 +51,8 @@ ADD_EXECUTABLE(mysqld ../sql-common/clie
sql_table.cc sql_test.cc sql_trigger.cc sql_udf.cc sql_union.cc
sql_update.cc sql_view.cc strfunc.cc table.cc thr_malloc.cc
time.cc tztime.cc uniques.cc unireg.cc item_xmlfunc.cc
- rpl_tblmap.cc sql_binlog.cc event_scheduler.cc event_timed.cc
+ rpl_tblmap.cc sql_binlog.cc event_scheduler.cc event_data_objects.cc
+ event_queue.cc event_db_repository.cc
sql_tablespace.cc events.cc ../sql-common/my_user.c
partition_info.cc
${PROJECT_SOURCE_DIR}/sql/sql_yacc.cc
| Thread |
|---|
| • bk commit into 5.1 tree (andrey:1.2211) | ahristov | 27 Jun |