List:Commits« Previous MessageNext Message »
From:tomas Date:January 12 2006 1:38pm
Subject:bk commit into 5.1 tree (tomas:1.2036)
View as plain text  
Below is the list of changes that have just been committed into a local
5.1 repository of tomas. When tomas 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.2036 06/01/12 14:38:22 tomas@stripped +5 -0
  Merge tulin@stripped:/home/bk/mysql-5.1-wl2325-v6
  into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.1-wl2325-v6

  mysql-test/t/rpl_row_basic_11bugs.test
    1.3 06/01/12 14:38:18 tomas@stripped +0 -2
    manual merge

  mysql-test/r/rpl_row_basic_11bugs.result
    1.3 06/01/12 14:38:18 tomas@stripped +0 -1
    manual merge

  sql/handler.h
    1.181 06/01/12 14:36:25 tomas@stripped +0 -0
    Auto merged

  mysql-test/t/disabled.def
    1.38 06/01/12 14:36:25 tomas@stripped +0 -0
    Auto merged

  client/mysqltest.c
    1.174 06/01/12 14:36:24 tomas@stripped +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:	tomas
# Host:	poseidon.ndb.mysql.com
# Root:	/home/tomas/mysql-5.1-wl2325-v6/RESYNC

--- 1.180/sql/handler.h	2006-01-11 12:45:10 +01:00
+++ 1.181/sql/handler.h	2006-01-12 14:36:25 +01:00
@@ -205,6 +205,14 @@
 		ROW_TYPE_DYNAMIC, ROW_TYPE_COMPRESSED,
 		ROW_TYPE_REDUNDANT, ROW_TYPE_COMPACT };
 
+enum enum_binlog_func {
+  BFN_RESET_LOGS=        1,
+  BFN_RESET_SLAVE=       2,
+  BFN_BINLOG_WAIT=       3,
+  BFN_BINLOG_END=        4,
+  BFN_BINLOG_PURGE_FILE= 5
+};
+
 enum enum_binlog_command {
   LOGCOM_CREATE_TABLE,
   LOGCOM_ALTER_TABLE,
@@ -430,7 +438,8 @@
     handlerton structure version
    */
   const int interface_version;
-#define MYSQL_HANDLERTON_INTERFACE_VERSION 0x0000
+/* last version change: 0x0001 in 5.1.6 */
+#define MYSQL_HANDLERTON_INTERFACE_VERSION 0x0001
 
 
   /*
@@ -527,14 +536,10 @@
       engines static initialization.  They are initialized at handler init.
       Thus, leave them last in the struct.
    */
-   int (*reset_logs)(THD *thd);
-   int (*binlog_index_purge_file)(THD *thd, const char *file);
-   void (*reset_slave)(THD *thd);
+   int (*binlog_func)(THD *thd, enum_binlog_func fn, void *arg);
    void (*binlog_log_query)(THD *thd, enum_binlog_command binlog_command,
                             const char *query, uint query_length,
                             const char *db, const char *table_name);
-   void (*binlog_wait)(THD *thd);
-   int (*binlog_end)(THD *thd);
 } handlerton;
 
 extern const handlerton default_hton;

--- 1.37/mysql-test/t/disabled.def	2006-01-11 16:26:47 +01:00
+++ 1.38/mysql-test/t/disabled.def	2006-01-12 14:36:25 +01:00
@@ -23,6 +23,7 @@
 ps_7ndb         : dbug assert in RBR mode when executing test suite
 rpl_ddl         : Bug#15963 SBR does not show "Definer" correctly
 mysqlslap       : Bug#16167
+events          : Affects flush test case. A table lock not released somewhere
 ndb_autodiscover : TBF with CR
 ndb_autodiscover2 : TBF with CR
 ndb_binlog_basic   : Results are not deterministic, Tomas will fix

--- 1.2/mysql-test/r/rpl_row_basic_11bugs.result	2006-01-11 09:16:19 +01:00
+++ 1.3/mysql-test/r/rpl_row_basic_11bugs.result	2006-01-12 14:38:18 +01:00
@@ -9,6 +9,7 @@
 SHOW DATABASES;
 Database
 information_schema
+cluster_replication
 mysql
 test
 test_ignore
@@ -33,6 +34,7 @@
 SHOW DATABASES;
 Database
 information_schema
+cluster_replication
 mysql
 test
 USE test;

--- 1.173/client/mysqltest.c	2006-01-11 17:28:45 +01:00
+++ 1.174/client/mysqltest.c	2006-01-12 14:36:24 +01:00
@@ -165,7 +165,6 @@
 static my_bool view_protocol= 0, view_protocol_enabled= 0;
 static my_bool cursor_protocol= 0, cursor_protocol_enabled= 0;
 static int parsing_disabled= 0;
-static uint start_lineno, *lineno;
 const char *manager_user="root",*manager_host=0;
 char *manager_pass=0;
 int manager_port=MYSQL_MANAGER_PORT;
@@ -180,13 +179,14 @@
 {
   FILE* file;
   const char *file_name;
+  uint lineno; /* Current line in file */
 } test_file;
 
 static test_file file_stack[MAX_INCLUDE_DEPTH];
 static test_file* cur_file;
 static test_file* file_stack_end;
+uint start_lineno; /* Start line of query */
 
-static uint lineno_stack[MAX_INCLUDE_DEPTH];
 static char TMPDIR[FN_REFLEN];
 static char delimiter[MAX_DELIMITER]= DEFAULT_DELIMITER;
 static uint delimiter_length= 1;
@@ -662,7 +662,7 @@
   va_start(args, fmt);
 
   fprintf(stderr, "mysqltest: ");
-  if (start_lineno > 0)
+  if (start_lineno != 0)
     fprintf(stderr, "At line %u: ", start_lineno);
   vfprintf(stderr, fmt, args);
   fprintf(stderr, "\n");
@@ -921,7 +921,7 @@
     die("Could not open file %s", buff);
   }
   cur_file->file_name= my_strdup(buff, MYF(MY_FAE));
-  *++lineno=1;
+  cur_file->lineno=1;
   DBUG_RETURN(0);
 }
 
@@ -1226,6 +1226,7 @@
     {
       if (row[0])
       {
+#ifdef NOT_YET
 	/* Add to <var_name>_<col_name> */
 	uint j;
 	char var_col_name[MAX_VAR_NAME];
@@ -1239,7 +1240,7 @@
         }
 	var_set(var_col_name,  var_col_name + length,
 		row[i], row[i] + lengths[i]);
-
+#endif
         /* Add column to tab separated string */
 	dynstr_append_mem(&result, row[i], lengths[i]);
       }
@@ -2605,7 +2606,7 @@
   DBUG_ENTER("read_line");
   LINT_INIT(quote);
 
-  start_lineno= *lineno;
+  start_lineno= cur_file->lineno;
   for (; p < buf_end ;)
   {
     no_save= 0;
@@ -2620,28 +2621,25 @@
       }
       my_free((gptr)cur_file->file_name, MYF(MY_ALLOW_ZERO_PTR));
       cur_file->file_name= 0;
-      lineno--;
-      start_lineno= *lineno;
       if (cur_file == file_stack)
       {
         /* We're back at the first file, check if
            all { have matching }
          */
         if (cur_block != block_stack)
-        {
-          start_lineno= *(lineno+1);
           die("Missing end of block");
-        }
+
         DBUG_PRINT("info", ("end of file"));
 	DBUG_RETURN(1);
       }
       cur_file--;
+      start_lineno= cur_file->lineno;
       continue;
     }
 
     /* Line counting is independent of state */
     if (c == '\n')
-      (*lineno)++;
+      cur_file->lineno++;
 
     switch(state) {
     case R_NORMAL:
@@ -2670,14 +2668,15 @@
       break;
     case R_LINE_START:
       /* Only accept start of comment if this is the first line in query */
-      if ((*lineno == start_lineno) && (c == '#' || c == '-' || parsing_disabled))
+      if ((cur_file->lineno == start_lineno) &&
+	  (c == '#' || c == '-' || parsing_disabled))
       {
 	state = R_COMMENT;
       }
       else if (my_isspace(charset_info, c))
       {
 	if (c == '\n')
-	  start_lineno= *lineno;		/* Query hasn't started yet */
+	  start_lineno= cur_file->lineno; /* Query hasn't started yet */
 	no_save= 1;
       }
       else if (c == '}')
@@ -2779,7 +2778,6 @@
     The advantage with this approach is to be able to execute commands
     terminated by new line '\n' regardless how many "delimiter" it contain.
 
-    If query starts with @<file_name> this will specify a file to ....
 */
 
 static char read_query_buf[MAX_QUERY];
@@ -3003,6 +3001,7 @@
             my_fopen(buff, O_RDONLY | FILE_BINARY, MYF(0))))
 	die("Could not open %s: errno = %d", buff, errno);
       cur_file->file_name= my_strdup(buff, MYF(MY_FAE));
+      cur_file->lineno= 1;
       break;
     }
   case 'm':
@@ -4392,25 +4391,30 @@
 
   save_file[0]=0;
   TMPDIR[0]=0;
+
+  /* Init cons */
   memset(cons, 0, sizeof(cons));
   cons_end = cons + MAX_CONS;
   next_con = cons + 1;
   cur_con = cons;
 
+  /* Init file stack */
   memset(file_stack, 0, sizeof(file_stack));
-  memset(&master_pos, 0, sizeof(master_pos));
   file_stack_end= file_stack + MAX_INCLUDE_DEPTH - 1;
   cur_file= file_stack;
-  lineno   = lineno_stack;
-  my_init_dynamic_array(&q_lines, sizeof(struct st_query*), INIT_Q_LINES,
-		     INIT_Q_LINES);
 
+  /* Init block stack */
   memset(block_stack, 0, sizeof(block_stack));
   block_stack_end= block_stack + BLOCK_STACK_DEPTH - 1;
   cur_block= block_stack;
   cur_block->ok= TRUE; /* Outer block should always be executed */
   cur_block->cmd= cmd_none;
 
+  my_init_dynamic_array(&q_lines, sizeof(struct st_query*), INIT_Q_LINES,
+		     INIT_Q_LINES);
+
+  memset(&master_pos, 0, sizeof(master_pos));
+
   init_dynamic_string(&ds_res, "", 0, 65536);
   parse_args(argc, argv);
 
@@ -4423,8 +4427,8 @@
   {
     cur_file->file= stdin;
     cur_file->file_name= my_strdup("<stdin>", MYF(MY_WME));
+    cur_file->lineno= 1;
   }
-  *lineno=1;
 #ifndef EMBEDDED_LIBRARY
   if (manager_host)
     init_manager();
@@ -4718,6 +4722,8 @@
 
     parser.current_line += current_line_inc;
   }
+
+  start_lineno= 0;
 
   /*
     The whole test has been executed _sucessfully_
Thread
bk commit into 5.1 tree (tomas:1.2036)tomas12 Jan