List:Commits« Previous MessageNext Message »
From:Chad MILLER Date:May 2 2006 11:04pm
Subject:bk commit into 5.1 tree (cmiller:1.2386)
View as plain text  
Below is the list of changes that have just been committed into a local
5.1 repository of cmiller. When cmiller 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.2386 06/05/02 19:04:42 cmiller@zippy.(none) +13 -0
  Merge bk-internal.mysql.com:/home/bk/mysql-5.0
  into  zippy.(none):/home/cmiller/work/mysql/mysql-5.1-new__treefire

  tests/mysql_client_test.c
    1.188 06/05/02 19:04:33 cmiller@zippy.(none) +0 -0
    Auto merged

  tests/Makefile.am
    1.26 06/05/02 19:04:33 cmiller@zippy.(none) +0 -0
    Auto merged

  sql/tztime.h
    1.16 06/05/02 19:04:33 cmiller@zippy.(none) +0 -0
    Auto merged

  sql/tztime.cc
    1.34 06/05/02 19:04:33 cmiller@zippy.(none) +0 -0
    Auto merged

  sql/sql_prepare.cc
    1.168 06/05/02 19:04:33 cmiller@zippy.(none) +0 -0
    Auto merged

  mysql-test/t/ps_1general.test
    1.28 06/05/02 19:04:33 cmiller@zippy.(none) +0 -0
    Auto merged

  mysql-test/t/ps.test
    1.63 06/05/02 19:04:33 cmiller@zippy.(none) +0 -0
    Auto merged

  mysql-test/r/timezone2.result
    1.14 06/05/02 19:04:33 cmiller@zippy.(none) +0 -0
    Auto merged

  mysql-test/r/ps_1general.result
    1.57 06/05/02 19:04:33 cmiller@zippy.(none) +0 -0
    Auto merged

  mysql-test/r/ps.result
    1.65 06/05/02 19:04:32 cmiller@zippy.(none) +0 -0
    Auto merged

  VC++Files/mysys/mysys.vcproj
    1.6 06/05/02 19:04:32 cmiller@zippy.(none) +0 -0
    Auto merged

  VC++Files/mysql.sln
    1.19 06/05/02 19:04:32 cmiller@zippy.(none) +0 -0
    Auto merged

  BitKeeper/etc/config
    1.26 06/05/02 19:04:32 cmiller@zippy.(none) +0 -1
    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:	cmiller
# Host:	zippy.(none)
# Root:	/home/cmiller/work/mysql/mysql-5.1-new__treefire/RESYNC

--- 1.25/tests/Makefile.am	2006-05-02 13:51:36 -04:00
+++ 1.26/tests/Makefile.am	2006-05-02 19:04:33 -04:00
@@ -43,7 +43,7 @@
 LIBS =			@CLIENT_LIBS@
 LDADD =			@CLIENT_EXTRA_LDFLAGS@ \
                         $(top_builddir)/libmysql/libmysqlclient.la
-mysql_client_test_LDADD= $(LDADD) $(CXXLDFLAGS) -lmysys -L../mysys
+mysql_client_test_LDADD= $(LDADD) $(CXXLDFLAGS) -L../mysys -lmysys
 mysql_client_test_SOURCES= mysql_client_test.c $(yassl_dummy_link_fix)
 insert_test_SOURCES=       insert_test.c $(yassl_dummy_link_fix)
 select_test_SOURCES=       select_test.c $(yassl_dummy_link_fix)

--- 1.13/mysql-test/r/timezone2.result	2005-12-02 06:01:37 -05:00
+++ 1.14/mysql-test/r/timezone2.result	2006-05-02 19:04:33 -04:00
@@ -1,4 +1,5 @@
 drop table if exists t1, t2;
+drop function if exists f1;
 create table t1 (ts timestamp);
 set time_zone='+00:00';
 select unix_timestamp(utc_timestamp())-unix_timestamp(current_timestamp());
@@ -268,3 +269,17 @@
 convert_tz(NULL, NULL, NULL)
 NULL
 drop table t1;
+create table t1 (ldt datetime, udt datetime);
+create function f1(i datetime) returns datetime
+return convert_tz(i, 'UTC', 'Europe/Moscow');
+create trigger t1_bi before insert on t1 for each row
+set new.udt:= convert_tz(new.ldt, 'Europe/Moscow', 'UTC');
+insert into t1 (ldt) values ('2006-04-19 16:30:00');
+select * from t1;
+ldt	udt
+2006-04-19 16:30:00	2006-04-19 12:30:00
+select ldt, f1(udt) as ldt2 from t1;
+ldt	ldt2
+2006-04-19 16:30:00	2006-04-19 16:30:00
+drop table t1;
+drop function f1;

--- 1.33/sql/tztime.cc	2006-03-29 06:27:32 -05:00
+++ 1.34/sql/tztime.cc	2006-05-02 19:04:33 -04:00
@@ -1382,11 +1382,30 @@
 static bool time_zone_tables_exist= 1;
 
 
-typedef struct st_tz_names_entry: public Sql_alloc
+/*
+  Names of tables (with their lengths) that are needed
+  for dynamical loading of time zone descriptions.
+*/
+
+static const LEX_STRING tz_tables_names[MY_TZ_TABLES_COUNT]=
+{
+  {(char *) STRING_WITH_LEN("time_zone_name")},
+  {(char *) STRING_WITH_LEN("time_zone")},
+  {(char *) STRING_WITH_LEN("time_zone_transition_type")},
+  {(char *) STRING_WITH_LEN("time_zone_transition")}
+};
+
+/* Name of database to which those tables belong. */
+
+static const LEX_STRING tz_tables_db_name= {(char *) STRING_WITH_LEN("mysql")};
+
+
+class Tz_names_entry: public Sql_alloc
 {
+public:
   String name;
   Time_zone *tz;
-} TZ_NAMES_ENTRY;
+};
 
 
 /*
@@ -1394,7 +1413,7 @@
   they should obey C calling conventions.
 */
 
-extern "C" byte* my_tz_names_get_key(TZ_NAMES_ENTRY *entry, uint *length,
+extern "C" byte* my_tz_names_get_key(Tz_names_entry *entry, uint *length,
                               my_bool not_used __attribute__((unused)))
 {
   *length= entry->name.length();
@@ -1415,7 +1434,8 @@
 
   SYNOPSIS
     tz_init_table_list()
-      tz_tabs         - pointer to preallocated array of 4 TABLE_LIST objects
+      tz_tabs         - pointer to preallocated array of MY_TZ_TABLES_COUNT
+                        TABLE_LIST objects
       global_next_ptr - pointer to variable which points to global_next member
                         of last element of global table list (or list root
                         then list is empty) (in/out).
@@ -1430,27 +1450,27 @@
 static void
 tz_init_table_list(TABLE_LIST *tz_tabs, TABLE_LIST ***global_next_ptr)
 {
-  bzero(tz_tabs, sizeof(TABLE_LIST) * 4);
-  tz_tabs[0].alias= tz_tabs[0].table_name= (char*)"time_zone_name";
-  tz_tabs[1].alias= tz_tabs[1].table_name= (char*)"time_zone";
-  tz_tabs[2].alias= tz_tabs[2].table_name= (char*)"time_zone_transition_type";
-  tz_tabs[3].alias= tz_tabs[3].table_name= (char*)"time_zone_transition";
-  tz_tabs[0].next_global= tz_tabs[0].next_local= tz_tabs+1;
-  tz_tabs[1].next_global= tz_tabs[1].next_local= tz_tabs+2;
-  tz_tabs[2].next_global= tz_tabs[2].next_local= tz_tabs+3;
-  tz_tabs[0].lock_type= tz_tabs[1].lock_type= tz_tabs[2].lock_type=
-    tz_tabs[3].lock_type= TL_READ;
-  tz_tabs[0].db= tz_tabs[1].db= tz_tabs[2].db= tz_tabs[3].db= (char *)"mysql";
+  bzero(tz_tabs, sizeof(TABLE_LIST) * MY_TZ_TABLES_COUNT);
+
+  for (int i= 0; i < MY_TZ_TABLES_COUNT; i++)
+  {
+    tz_tabs[i].alias= tz_tabs[i].table_name= tz_tables_names[i].str;
+    tz_tabs[i].table_name_length= tz_tables_names[i].length;
+    tz_tabs[i].db= tz_tables_db_name.str;
+    tz_tabs[i].db_length= tz_tables_db_name.length;
+    tz_tabs[i].lock_type= TL_READ;
+
+    if (i != MY_TZ_TABLES_COUNT - 1)
+      tz_tabs[i].next_global= tz_tabs[i].next_local= &tz_tabs[i+1];
+    if (i != 0)
+      tz_tabs[i].prev_global= &tz_tabs[i-1].next_global;
+  }
 
   /* Link into global list */
   tz_tabs[0].prev_global= *global_next_ptr;
-  tz_tabs[1].prev_global= &tz_tabs[0].next_global;
-  tz_tabs[2].prev_global= &tz_tabs[1].next_global;
-  tz_tabs[3].prev_global= &tz_tabs[2].next_global;
-
   **global_next_ptr= tz_tabs;
   /* Update last-global-pointer to point to pointer in last table */
-  *global_next_ptr= &tz_tabs[3].next_global;
+  *global_next_ptr= &tz_tabs[MY_TZ_TABLES_COUNT-1].next_global;
 }
 
 
@@ -1479,7 +1499,8 @@
 
   NOTE
     my_tz_check_n_skip_implicit_tables() function depends on fact that
-    elements of list created are allocated as TABLE_LIST[4] array.
+    elements of list created are allocated as TABLE_LIST[MY_TZ_TABLES_COUNT]
+    array.
 
   RETURN VALUES
     Returns pointer to first TABLE_LIST object, (could be 0 if time zone
@@ -1495,7 +1516,8 @@
   if (!time_zone_tables_exist)
     DBUG_RETURN(0);
 
-  if (!(tz_tabs= (TABLE_LIST *)thd->alloc(sizeof(TABLE_LIST) * 4)))
+  if (!(tz_tabs= (TABLE_LIST *)thd->alloc(sizeof(TABLE_LIST) *
+                                          MY_TZ_TABLES_COUNT)))
     DBUG_RETURN(&fake_time_zone_tables_list);
 
   tz_init_table_list(tz_tabs, global_next_ptr);
@@ -1534,9 +1556,9 @@
 {
   THD *thd;
   TABLE_LIST *tables= 0;
-  TABLE_LIST tables_buff[5], **last_global_next_ptr;
+  TABLE_LIST tables_buff[1+MY_TZ_TABLES_COUNT], **last_global_next_ptr;
   TABLE *table;
-  TZ_NAMES_ENTRY *tmp_tzname;
+  Tz_names_entry *tmp_tzname;
   my_bool return_val= 1;
   int res;
   DBUG_ENTER("my_tz_init");
@@ -1568,7 +1590,7 @@
   tz_inited= 1;
 
   /* Add 'SYSTEM' time zone to tz_names hash */
-  if (!(tmp_tzname= new (&tz_storage) TZ_NAMES_ENTRY()))
+  if (!(tmp_tzname= new (&tz_storage) Tz_names_entry()))
   {
     sql_print_error("Fatal error: OOM while initializing time zones");
     goto end_with_cleanup;
@@ -1764,7 +1786,7 @@
 {
   TABLE *table= 0;
   TIME_ZONE_INFO *tz_info;
-  TZ_NAMES_ENTRY *tmp_tzname;
+  Tz_names_entry *tmp_tzname;
   Time_zone *return_val= 0;
   int res;
   uint tzid, ttid;
@@ -2039,7 +2061,7 @@
   }
 
 
-  if (!(tmp_tzname= new (&tz_storage) TZ_NAMES_ENTRY()) ||
+  if (!(tmp_tzname= new (&tz_storage) Tz_names_entry()) ||
       !(tmp_tzname->tz= new (&tz_storage) Time_zone_db(tz_info,
                                             &(tmp_tzname->name))) ||
       (tmp_tzname->name.set(tz_name_buff, tz_name->length(),
@@ -2186,7 +2208,7 @@
 Time_zone *
 my_tz_find(const String * name, TABLE_LIST *tz_tables)
 {
-  TZ_NAMES_ENTRY *tmp_tzname;
+  Tz_names_entry *tmp_tzname;
   Time_zone *result_tz= 0;
   long offset;
   DBUG_ENTER("my_tz_find");
@@ -2221,7 +2243,7 @@
   else
   {
     result_tz= 0;
-    if ((tmp_tzname= (TZ_NAMES_ENTRY *)hash_search(&tz_names,
+    if ((tmp_tzname= (Tz_names_entry *)hash_search(&tz_names,
                                                    (const byte *)name->ptr(),
                                                    name->length())))
       result_tz= tmp_tzname->tz;
@@ -2273,7 +2295,7 @@
       our time zone tables. Note that if we don't have tz tables on this
       slave, we don't even try.
     */
-    TABLE_LIST tables[4];
+    TABLE_LIST tables[MY_TZ_TABLES_COUNT];
     TABLE_LIST *dummy;
     TABLE_LIST **dummyp= &dummy;
     tz_init_table_list(tables, &dummyp);

--- 1.15/sql/tztime.h	2006-02-25 13:35:09 -05:00
+++ 1.16/sql/tztime.h	2006-05-02 19:04:33 -04:00
@@ -70,6 +70,15 @@
 extern TABLE_LIST fake_time_zone_tables_list;
 
 /*
+  Number of elements in table list produced by my_tz_get_table_list()
+  (this table list contains tables which are needed for dynamical loading
+  of time zone descriptions). Actually it is imlementation detail that
+  should not be used anywhere outside of tztime.h and tztime.cc.
+*/
+
+static const int MY_TZ_TABLES_COUNT= 4;
+
+/*
   Check if we have pointer to the begining of list of implicitly used time
   zone tables, set SELECT_ACL for them and fast-forward to its end.
 
@@ -91,9 +100,9 @@
 {
   if (*table == tz_tables)
   {
-    for (int i= 0; i < 4; i++)
+    for (int i= 0; i < MY_TZ_TABLES_COUNT; i++)
       (*table)[i].grant.privilege= SELECT_ACL;
-    (*table)+= 3;
+    (*table)+= MY_TZ_TABLES_COUNT - 1;
     return TRUE;
   }
   return FALSE;

--- 1.56/mysql-test/r/ps_1general.result	2006-03-01 07:31:13 -05:00
+++ 1.57/mysql-test/r/ps_1general.result	2006-05-02 19:04:33 -04:00
@@ -410,13 +410,10 @@
 prepare stmt1 from ' select * into outfile ''data.txt'' from t1 ';
 execute stmt1 ;
 prepare stmt1 from ' optimize table t1 ' ;
-ERROR HY000: This command is not supported in the prepared statement protocol yet
 prepare stmt1 from ' analyze table t1 ' ;
-ERROR HY000: This command is not supported in the prepared statement protocol yet
 prepare stmt1 from ' checksum table t1 ' ;
 ERROR HY000: This command is not supported in the prepared statement protocol yet
 prepare stmt1 from ' repair table t1 ' ;
-ERROR HY000: This command is not supported in the prepared statement protocol yet
 prepare stmt1 from ' restore table t1 from ''data.txt'' ' ;
 ERROR HY000: This command is not supported in the prepared statement protocol yet
 prepare stmt1 from ' handler t1 open ';

--- 1.27/mysql-test/t/ps_1general.test	2006-02-07 11:18:11 -05:00
+++ 1.28/mysql-test/t/ps_1general.test	2006-05-02 19:04:33 -04:00
@@ -456,13 +456,10 @@
 prepare stmt1 from ' select * into outfile ''data.txt'' from t1 ';
 execute stmt1 ;
 ## 
---error 1295
 prepare stmt1 from ' optimize table t1 ' ;
---error 1295
 prepare stmt1 from ' analyze table t1 ' ;
 --error 1295
 prepare stmt1 from ' checksum table t1 ' ;
---error 1295
 prepare stmt1 from ' repair table t1 ' ;
 --error 1295
 prepare stmt1 from ' restore table t1 from ''data.txt'' ' ;

--- 1.18/VC++Files/mysql.sln	2006-04-30 16:13:53 -04:00
+++ 1.19/VC++Files/mysql.sln	2006-05-02 19:04:32 -04:00
@@ -257,6 +257,7 @@
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mysql_client_test", "tests\mysql_client_test.vcproj", "{DA224DAB-5006-42BE-BB77-16E8BE5326D5}"
 	ProjectSection(ProjectDependencies) = postProject
 		{26383276-4843-494B-8BE0-8936ED3EBAAB} = {26383276-4843-494B-8BE0-8936ED3EBAAB}
+		{44D9C7DC-6636-4B82-BD01-6876C64017DF} = {44D9C7DC-6636-4B82-BD01-6876C64017DF}
 	EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mysqlmanager", "server-tools\instance-manager\mysqlmanager.vcproj", "{6D524B3E-210A-4FCD-8D41-FEC0D21E83AC}"

--- 1.5/VC++Files/mysys/mysys.vcproj	2006-04-04 17:23:56 -04:00
+++ 1.6/VC++Files/mysys/mysys.vcproj	2006-05-02 19:04:32 -04:00
@@ -3233,6 +3233,49 @@
 			</FileConfiguration>
 		</File>
 		<File
+			RelativePath="my_memmem.c">
+			<FileConfiguration
+				Name="Debug|Win32">
+				<Tool
+					Name="VCCLCompilerTool"
+					Optimization="0"
+					AdditionalIncludeDirectories=""
+					PreprocessorDefinitions=""/>
+			</FileConfiguration>
+			<FileConfiguration
+				Name="Max|Win32">
+				<Tool
+					Name="VCCLCompilerTool"
+					Optimization="2"
+					AdditionalIncludeDirectories=""
+					PreprocessorDefinitions=""/>
+			</FileConfiguration>
+			<FileConfiguration
+				Name="Release|Win32">
+				<Tool
+					Name="VCCLCompilerTool"
+					Optimization="2"
+					AdditionalIncludeDirectories=""
+					PreprocessorDefinitions=""/>
+			</FileConfiguration>
+			<FileConfiguration
+				Name="TLS_DEBUG|Win32">
+				<Tool
+					Name="VCCLCompilerTool"
+					Optimization="0"
+					AdditionalIncludeDirectories=""
+					PreprocessorDefinitions=""/>
+			</FileConfiguration>
+			<FileConfiguration
+				Name="TLS|Win32">
+				<Tool
+					Name="VCCLCompilerTool"
+					Optimization="2"
+					AdditionalIncludeDirectories=""
+					PreprocessorDefinitions=""/>
+			</FileConfiguration>
+		</File>
+		<File
 			RelativePath="my_messnc.c">
 			<FileConfiguration
 				Name="Debug|Win32">

--- 1.64/mysql-test/r/ps.result	2006-04-19 12:50:41 -04:00
+++ 1.65/mysql-test/r/ps.result	2006-05-02 19:04:32 -04:00
@@ -1056,3 +1056,104 @@
 1	9
 3	7
 drop table t1;
+create table t1 (a int);
+create table t2 like t1;
+create table t3 like t2;
+prepare stmt from "repair table t1";
+execute stmt;
+Table	Op	Msg_type	Msg_text
+test.t1	repair	status	OK
+execute stmt;
+Table	Op	Msg_type	Msg_text
+test.t1	repair	status	OK
+prepare stmt from "optimize table t1";
+execute stmt;
+Table	Op	Msg_type	Msg_text
+test.t1	optimize	status	OK
+execute stmt;
+Table	Op	Msg_type	Msg_text
+test.t1	optimize	status	Table is already up to date
+prepare stmt from "analyze table t1";
+execute stmt;
+Table	Op	Msg_type	Msg_text
+test.t1	analyze	status	Table is already up to date
+execute stmt;
+Table	Op	Msg_type	Msg_text
+test.t1	analyze	status	Table is already up to date
+prepare stmt from "repair table t1, t2, t3";
+execute stmt;
+Table	Op	Msg_type	Msg_text
+test.t1	repair	status	OK
+test.t2	repair	status	OK
+test.t3	repair	status	OK
+execute stmt;
+Table	Op	Msg_type	Msg_text
+test.t1	repair	status	OK
+test.t2	repair	status	OK
+test.t3	repair	status	OK
+prepare stmt from "optimize table t1, t2, t3";
+execute stmt;
+Table	Op	Msg_type	Msg_text
+test.t1	optimize	status	OK
+test.t2	optimize	status	OK
+test.t3	optimize	status	OK
+execute stmt;
+Table	Op	Msg_type	Msg_text
+test.t1	optimize	status	Table is already up to date
+test.t2	optimize	status	Table is already up to date
+test.t3	optimize	status	Table is already up to date
+prepare stmt from "analyze table t1, t2, t3";
+execute stmt;
+Table	Op	Msg_type	Msg_text
+test.t1	analyze	status	Table is already up to date
+test.t2	analyze	status	Table is already up to date
+test.t3	analyze	status	Table is already up to date
+execute stmt;
+Table	Op	Msg_type	Msg_text
+test.t1	analyze	status	Table is already up to date
+test.t2	analyze	status	Table is already up to date
+test.t3	analyze	status	Table is already up to date
+prepare stmt from "repair table t1, t4, t3";
+execute stmt;
+Table	Op	Msg_type	Msg_text
+test.t1	repair	status	OK
+test.t4	repair	error	Table 'test.t4' doesn't exist
+test.t3	repair	status	OK
+Warnings:
+Error	1146	Table 'test.t4' doesn't exist
+execute stmt;
+Table	Op	Msg_type	Msg_text
+test.t1	repair	status	OK
+test.t4	repair	error	Table 'test.t4' doesn't exist
+test.t3	repair	status	OK
+Warnings:
+Error	1146	Table 'test.t4' doesn't exist
+prepare stmt from "optimize table t1, t3, t4";
+execute stmt;
+Table	Op	Msg_type	Msg_text
+test.t1	optimize	status	OK
+test.t3	optimize	status	OK
+test.t4	optimize	error	Table 'test.t4' doesn't exist
+Warnings:
+Error	1146	Table 'test.t4' doesn't exist
+execute stmt;
+Table	Op	Msg_type	Msg_text
+test.t1	optimize	status	Table is already up to date
+test.t3	optimize	status	Table is already up to date
+test.t4	optimize	error	Table 'test.t4' doesn't exist
+Warnings:
+Error	1146	Table 'test.t4' doesn't exist
+prepare stmt from "analyze table t4, t1";
+execute stmt;
+Table	Op	Msg_type	Msg_text
+test.t4	analyze	error	Table 'test.t4' doesn't exist
+test.t1	analyze	status	Table is already up to date
+Warnings:
+Error	1146	Table 'test.t4' doesn't exist
+execute stmt;
+Table	Op	Msg_type	Msg_text
+test.t4	analyze	error	Table 'test.t4' doesn't exist
+test.t1	analyze	status	Table is already up to date
+Warnings:
+Error	1146	Table 'test.t4' doesn't exist
+deallocate prepare stmt;

--- 1.62/mysql-test/t/ps.test	2006-04-19 12:50:41 -04:00
+++ 1.63/mysql-test/t/ps.test	2006-05-02 19:04:33 -04:00
@@ -1110,4 +1110,40 @@
 
 drop table t1;
 
+#
+# Bug#19308 "REPAIR/OPTIMIZE/ANALYZE supported in SP but not in PS".
+# Add test coverage for the added commands.
+#
+create table t1 (a int);
+create table t2 like t1;
+create table t3 like t2;
+prepare stmt from "repair table t1";
+execute stmt;
+execute stmt;
+prepare stmt from "optimize table t1";
+execute stmt;
+execute stmt;
+prepare stmt from "analyze table t1";
+execute stmt;
+execute stmt;
+prepare stmt from "repair table t1, t2, t3";
+execute stmt;
+execute stmt;
+prepare stmt from "optimize table t1, t2, t3";
+execute stmt;
+execute stmt;
+prepare stmt from "analyze table t1, t2, t3";
+execute stmt;
+execute stmt;
+prepare stmt from "repair table t1, t4, t3";
+execute stmt;
+execute stmt;
+prepare stmt from "optimize table t1, t3, t4";
+execute stmt;
+execute stmt;
+prepare stmt from "analyze table t4, t1";
+execute stmt;
+execute stmt;
+deallocate prepare stmt;
+
 # End of 5.0 tests

--- 1.167/sql/sql_prepare.cc	2006-04-19 12:50:43 -04:00
+++ 1.168/sql/sql_prepare.cc	2006-05-02 19:04:33 -04:00
@@ -1755,6 +1755,9 @@
   case SQLCOM_CALL:
   case SQLCOM_CREATE_VIEW:
   case SQLCOM_DROP_VIEW:
+  case SQLCOM_REPAIR:
+  case SQLCOM_ANALYZE:
+  case SQLCOM_OPTIMIZE:
     break;
 
   default:

--- 1.187/tests/mysql_client_test.c	2006-05-02 13:56:39 -04:00
+++ 1.188/tests/mysql_client_test.c	2006-05-02 19:04:33 -04:00
@@ -14846,7 +14846,6 @@
 static void test_bug17667()
 {
   int rc;
-  myheader("test_bug17667");
   struct buffer_and_length {
     const char *buffer;
     const uint length;
@@ -14862,6 +14861,8 @@
 
   struct buffer_and_length *statement_cursor;
   FILE *log_file;
+
+  myheader("test_bug17667");
 
   for (statement_cursor= statements; statement_cursor->buffer != NULL;
       statement_cursor++) {
Thread
bk commit into 5.1 tree (cmiller:1.2386)Chad MILLER3 May