List:Commits« Previous MessageNext Message »
From:ahristov Date:March 16 2006 9:26am
Subject:bk commit into 5.1 tree (andrey:1.2189)
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.2189 06/03/16 09:26:09 andrey@lmy004. +3 -0
  Merge ahristov@stripped:/home/bk/mysql-5.1-new
  into lmy004.:/work/mysql-5.1-bug16408

  sql/sql_yacc.yy
    1.481 06/03/16 09:26:04 andrey@lmy004. +0 -0
    Auto merged

  sql/sql_parse.cc
    1.529 06/03/16 09:26:03 andrey@lmy004. +0 -0
    Auto merged

  sql/event_timed.cc
    1.48 06/03/16 09:26:03 andrey@lmy004. +0 -0
    Auto merged

# 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-bug16408/RESYNC

--- 1.528/sql/sql_parse.cc	2006-03-13 15:34:16 +01:00
+++ 1.529/sql/sql_parse.cc	2006-03-16 09:26:03 +01:00
@@ -3803,10 +3803,14 @@ end_with_restore_list:
         send_ok(thd, rows_affected);
 
       /* lex->unit.cleanup() is called outside, no need to call it here */
-    } while (0);  
-    lex->et->free_sphead_on_delete= true;
-    delete lex->et;
-    lex->et= 0;
+    } while (0);
+    if (!thd->spcont)
+    {
+      lex->et->free_sphead_on_delete= true;
+      lex->et->free_sp();
+      lex->et->deinit_mutexes();
+    }
+    
     break;
   }
   case SQLCOM_SHOW_CREATE_EVENT:
@@ -5845,7 +5849,9 @@ void mysql_parse(THD *thd, char *inBuf, 
           if (thd->lex->et)
           {
             thd->lex->et->free_sphead_on_delete= true;
-            delete thd->lex->et;
+            /* alloced on thd->mem_root so no real memory free but dtor call */
+            thd->lex->et->free_sp();
+            thd->lex->et->deinit_mutexes();
             thd->lex->et= NULL;
           }
 	}
@@ -5886,7 +5892,8 @@ void mysql_parse(THD *thd, char *inBuf, 
       if (thd->lex->et)
       {
         thd->lex->et->free_sphead_on_delete= true;
-        delete thd->lex->et;
+        lex->et->free_sp();
+        lex->et->deinit_mutexes();
         thd->lex->et= NULL;
       }
     }

--- 1.480/sql/sql_yacc.yy	2006-03-14 11:40:55 +01:00
+++ 1.481/sql/sql_yacc.yy	2006-03-16 09:26:04 +01:00
@@ -1274,7 +1274,7 @@ create:
 
             lex->create_info.options= $3;
 
-            if (!(lex->et= new Event_timed())) // implicitly calls Event_timed::init()
+            if (!(lex->et= new(YYTHD->mem_root) Event_timed())) // implicitly calls
Event_timed::init()
               YYABORT;
 
             /*
@@ -4811,7 +4811,7 @@ alter:
             }
             lex->spname= 0;//defensive programming
 
-            if (!(et= new Event_timed()))// implicitly calls Event_timed::init()
+            if (!(et= new (YYTHD->mem_root) Event_timed()))// implicitly calls
Event_timed::init()
               YYABORT;
             lex->et = et;
 
@@ -7715,7 +7715,7 @@ drop:
               YYABORT;
             }
 
-            if (!(lex->et= new Event_timed()))
+            if (!(lex->et= new (YYTHD->mem_root) Event_timed()))
               YYABORT;
 	  
             if (!lex->et_compile_phase)
@@ -8439,7 +8439,7 @@ show_param:
           {
             Lex->sql_command = SQLCOM_SHOW_CREATE_EVENT;
             Lex->spname= $3;
-            Lex->et= new Event_timed();
+            Lex->et= new (YYTHD->mem_root) Event_timed();
             if (!Lex->et)
               YYABORT;
             Lex->et->init_definer(YYTHD);

--- 1.47/sql/event_timed.cc	2006-03-10 04:23:15 +01:00
+++ 1.48/sql/event_timed.cc	2006-03-16 09:26:03 +01:00
@@ -1228,12 +1228,12 @@ Event_timed::change_security_context(THD
                              definer_host.str, dbname.str))
   {
     my_error(ER_NO_SUCH_USER, MYF(0), definer_user.str, definer_host.str);
-    DBUG_RETURN(TRUE);
+    DBUG_RETURN(true);
   }
   *backup= thd->security_ctx;
   thd->security_ctx= s_ctx;
 #endif
-  DBUG_RETURN(FALSE);
+  DBUG_RETURN(false);
 }
 
 
@@ -1368,7 +1368,8 @@ Event_timed::compile(THD *thd, MEM_ROOT 
   ret= 0;
 done:
   lex.et->free_sphead_on_delete= false;
-  delete lex.et;
+  lex.et->deinit_mutexes();
+
   lex_end(&lex);
   DBUG_PRINT("note", ("return old data on its place. set back NAMES"));
 
Thread
bk commit into 5.1 tree (andrey:1.2189)ahristov16 Mar