List:Commits« Previous MessageNext Message »
From:ahristov Date:June 27 2006 6:49am
Subject:bk commit into 5.1 tree (andrey:1.2211)
View as plain text  
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)ahristov27 Jun