List:Internals« Previous MessageNext Message »
From:konstantin Date:June 17 2005 7:26pm
Subject:bk commit into 5.0 tree (konstantin:1.1962)
View as plain text  
Below is the list of changes that have just been committed into a local
5.0 repository of kostja. When kostja 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.1962 05/06/17 23:26:25 konstantin@stripped +11 -0
  Rename all prepared statements COM_ commands to prefix with COM_STMT_

  tests/mysql_client_test.c
    1.125 05/06/17 23:26:19 konstantin@stripped +1 -1
    Rename.

  sql/sql_yacc.yy
    1.398 05/06/17 23:26:19 konstantin@stripped +4 -4
    Rename.

  sql/sql_prepare.cc
    1.124 05/06/17 23:26:19 konstantin@stripped +11 -10
    Rename.

  sql/sql_parse.cc
    1.455 05/06/17 23:26:19 konstantin@stripped +9 -9
    Rename.

  sql/sql_lex.cc
    1.149 05/06/17 23:26:18 konstantin@stripped +1 -1
    Rename COM_PREPARE -> COM_STMT_PREPARE

  sql/sql_class.h
    1.241 05/06/17 23:26:18 konstantin@stripped +2 -6
    Remove THD::only_prepare.
    Rename.

  sql/mysql_priv.h
    1.316 05/06/17 23:26:18 konstantin@stripped +1 -3
    Remove an obsolete define. Rename mysql_stmt_free to mysql_stmt_close.

  sql/item_cmpfunc.cc
    1.157 05/06/17 23:26:18 konstantin@stripped +1 -1
    Use proper method to check for stmt prepare, only_prepare is removed.

  libmysqld/lib_sql.cc
    1.99 05/06/17 23:26:18 konstantin@stripped +1 -1
    Rename.

  libmysql/libmysql.c
    1.218 05/06/17 23:26:17 konstantin@stripped +14 -13
    Rename.

  include/mysql_com.h
    1.98 05/06/17 23:26:17 konstantin@stripped +2 -2
    Rename all prepared statements COM_ commands to prefix with COM_STMT_

# 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:	konstantin
# Host:	dragonfly.local
# Root:	/opt/local/work/mysql-5.0-10736

--- 1.97/include/mysql_com.h	2005-05-19 14:02:03 +04:00
+++ 1.98/include/mysql_com.h	2005-06-17 23:26:17 +04:00
@@ -48,8 +48,8 @@
   COM_PROCESS_INFO, COM_CONNECT, COM_PROCESS_KILL, COM_DEBUG, COM_PING,
   COM_TIME, COM_DELAYED_INSERT, COM_CHANGE_USER, COM_BINLOG_DUMP,
   COM_TABLE_DUMP, COM_CONNECT_OUT, COM_REGISTER_SLAVE,
-  COM_PREPARE, COM_EXECUTE, COM_LONG_DATA, COM_CLOSE_STMT,
-  COM_RESET_STMT, COM_SET_OPTION, COM_FETCH,
+  COM_STMT_PREPARE, COM_STMT_EXECUTE, COM_STMT_SEND_LONG_DATA, COM_STMT_CLOSE,
+  COM_STMT_RESET, COM_SET_OPTION, COM_STMT_FETCH,
   /* don't forget to update const char *command_name[] in sql_parse.cc */
 
   /* Must be last */

--- 1.217/libmysql/libmysql.c	2005-06-05 18:08:39 +04:00
+++ 1.218/libmysql/libmysql.c	2005-06-17 23:26:17 +04:00
@@ -1736,7 +1736,7 @@
 
 /******************* Declarations ***********************************/
 
-/* Default number of rows fetched per one COM_FETCH command. */
+/* Default number of rows fetched per one COM_STMT_FETCH command. */
 
 #define DEFAULT_PREFETCH_ROWS (ulong) 1
 
@@ -1887,7 +1887,7 @@
 }
 
 /*
-  Read and unpack server reply to COM_PREPARE command (sent from
+  Read and unpack server reply to COM_STMT_PREPARE command (sent from
   mysql_stmt_prepare).
 
   SYNOPSIS
@@ -2082,7 +2082,7 @@
       mysql_use_result it won't be freed in mysql_stmt_free_result and
       we should get 'Commands out of sync' here.
     */
-    if (simple_command(mysql, COM_CLOSE_STMT, buff, 4, 1))
+    if (simple_command(mysql, COM_STMT_CLOSE, buff, 4, 1))
     {
       set_stmt_errmsg(stmt, mysql->net.last_error, mysql->net.last_errno,
                       mysql->net.sqlstate);
@@ -2091,7 +2091,7 @@
     stmt->state= MYSQL_STMT_INIT_DONE;
   }
 
-  if (simple_command(mysql, COM_PREPARE, query, length, 1))
+  if (simple_command(mysql, COM_STMT_PREPARE, query, length, 1))
   {
     set_stmt_errmsg(stmt, mysql->net.last_error, mysql->net.last_errno,
                     mysql->net.sqlstate);
@@ -2175,7 +2175,7 @@
 
 /*
   Update result set columns metadata if it was sent again in
-  reply to COM_EXECUTE.
+  reply to COM_STMT_EXECUTE.
 */
 
 static void update_stmt_fields(MYSQL_STMT *stmt)
@@ -2490,7 +2490,7 @@
 
 
 /*
-  Auxilary function to send COM_EXECUTE packet to server and read reply.
+  Auxilary function to send COM_STMT_EXECUTE packet to server and read reply.
   Used from cli_stmt_execute, which is in turn used by mysql_stmt_execute.
 */
 
@@ -2507,7 +2507,7 @@
   int4store(buff, stmt->stmt_id);		/* Send stmt id to server */
   buff[4]= (char) stmt->flags;
   int4store(buff+5, 1);                         /* iteration count */
-  if (cli_advanced_command(mysql, COM_EXECUTE, buff, sizeof(buff),
+  if (cli_advanced_command(mysql, COM_STMT_EXECUTE, buff, sizeof(buff),
                            packet, length, 1) ||
       (*mysql->methods->read_query_result)(mysql))
   {
@@ -2720,7 +2720,7 @@
     /* Send row request to the server */
     int4store(buff, stmt->stmt_id);
     int4store(buff + 4, stmt->prefetch_rows); /* number of rows to fetch */
-    if (cli_advanced_command(mysql, COM_FETCH, buff, sizeof(buff),
+    if (cli_advanced_command(mysql, COM_STMT_FETCH, buff, sizeof(buff),
                              NullS, 0, 1))
     {
       set_stmt_errmsg(stmt, net->last_error, net->last_errno, net->sqlstate);
@@ -2910,7 +2910,7 @@
         - if data dictionary changed between prepare and execute, for
           example a table used in the query was altered.
         Note, that now (4.1.3) we always send metadata in reply to
-        COM_EXECUTE (even if it is not necessary), so either this or
+        COM_STMT_EXECUTE (even if it is not necessary), so either this or
         previous branch always works.
         TODO: send metadata only when it's really necessary and add a warning
         'Metadata changed' when it's sent twice.
@@ -3380,8 +3380,9 @@
       Note that we don't get any ok packet from the server in this case
       This is intentional to save bandwidth.
     */
-    if ((*mysql->methods->advanced_command)(mysql, COM_LONG_DATA, buff,
-					    sizeof(buff), data, length, 1))
+    if ((*mysql->methods->advanced_command)(mysql, COM_STMT_SEND_LONG_DATA,
+                                            buff, sizeof(buff), data,
+                                            length, 1))
     {
       set_stmt_errmsg(stmt, mysql->net.last_error,
 		      mysql->net.last_errno, mysql->net.sqlstate);
@@ -4930,7 +4931,7 @@
         */
         char buff[MYSQL_STMT_HEADER]; /* packet header: 4 bytes for stmt id */
         int4store(buff, stmt->stmt_id);
-        if ((*mysql->methods->advanced_command)(mysql, COM_RESET_STMT, buff,
+        if ((*mysql->methods->advanced_command)(mysql, COM_STMT_RESET, buff,
                                                 sizeof(buff), 0, 0, 0))
         {
           set_stmt_errmsg(stmt, mysql->net.last_error, mysql->net.last_errno,
@@ -5004,7 +5005,7 @@
         mysql->status= MYSQL_STATUS_READY;
       }
       int4store(buff, stmt->stmt_id);
-      if ((rc= simple_command(mysql, COM_CLOSE_STMT, buff, 4, 1)))
+      if ((rc= simple_command(mysql, COM_STMT_CLOSE, buff, 4, 1)))
       {
         set_stmt_errmsg(stmt, mysql->net.last_error, mysql->net.last_errno,
                         mysql->net.sqlstate);

--- 1.156/sql/item_cmpfunc.cc	2005-06-15 17:58:54 +04:00
+++ 1.157/sql/item_cmpfunc.cc	2005-06-17 23:26:18 +04:00
@@ -649,7 +649,7 @@
     If it is preparation PS only then we do not know values of parameters =>
     cant't get there values and do not need that values.
   */
-  if (!thd->only_prepare())
+  if (!thd->current_arena->is_stmt_prepare())
     cache->store(args[0]);
   if (cache->cols() == 1)
   {

--- 1.315/sql/mysql_priv.h	2005-06-17 01:58:25 +04:00
+++ 1.316/sql/mysql_priv.h	2005-06-17 23:26:18 +04:00
@@ -559,8 +559,6 @@
 #define query_cache_invalidate_by_MyISAM_filename_ref NULL
 #endif /*HAVE_QUERY_CACHE*/
 
-#define prepare_execute(A) ((A)->command == COM_EXECUTE)
-
 bool mysql_create_db(THD *thd, char *db, HA_CREATE_INFO *create, bool silent);
 bool mysql_alter_db(THD *thd, const char *db, HA_CREATE_INFO *create);
 bool mysql_rm_db(THD *thd,char *db,bool if_exists, bool silent);
@@ -842,7 +840,7 @@
 void mysql_stmt_execute(THD *thd, char *packet, uint packet_length);
 void mysql_sql_stmt_execute(THD *thd, LEX_STRING *stmt_name);
 void mysql_stmt_fetch(THD *thd, char *packet, uint packet_length);
-void mysql_stmt_free(THD *thd, char *packet);
+void mysql_stmt_close(THD *thd, char *packet);
 void mysql_stmt_reset(THD *thd, char *packet);
 void mysql_stmt_get_longdata(THD *thd, char *pos, ulong packet_length);
 void reinit_stmt_before_use(THD *thd, LEX *lex);

--- 1.240/sql/sql_class.h	2005-06-17 01:58:25 +04:00
+++ 1.241/sql/sql_class.h	2005-06-17 23:26:18 +04:00
@@ -1046,7 +1046,7 @@
 #endif
   struct st_my_thread_var *mysys_var;
   /*
-    Type of current query: COM_PREPARE, COM_QUERY, etc. Set from 
+    Type of current query: COM_STMT_PREPARE, COM_QUERY, etc. Set from
     first byte of the packet in do_command()
   */
   enum enum_server_command command;
@@ -1338,13 +1338,9 @@
     return 0;
 #endif
   }
-  inline bool only_prepare()
-  {
-    return command == COM_PREPARE;
-  }
   inline bool fill_derived_tables()
   {
-    return !only_prepare() && !lex->only_view_structure();
+    return !current_arena->is_stmt_prepare() && !lex->only_view_structure();
   }
   inline gptr trans_alloc(unsigned int size)
   {

--- 1.148/sql/sql_lex.cc	2005-06-08 00:34:45 +04:00
+++ 1.149/sql/sql_lex.cc	2005-06-17 23:26:18 +04:00
@@ -967,7 +967,7 @@
       {
         THD* thd= (THD*)yythd;
         if ((thd->client_capabilities & CLIENT_MULTI_STATEMENTS) && 
-            (thd->command != COM_PREPARE))
+            (thd->command != COM_STMT_PREPARE))
         {
 	  lex->safe_to_cache_query= 0;
           lex->found_semicolon=(char*) lex->ptr;

--- 1.454/sql/sql_parse.cc	2005-06-17 01:58:26 +04:00
+++ 1.455/sql/sql_parse.cc	2005-06-17 23:26:19 +04:00
@@ -1634,32 +1634,32 @@
     }
     break;
   }
-  case COM_EXECUTE:
+  case COM_STMT_EXECUTE:
   {
     mysql_stmt_execute(thd, packet, packet_length);
     break;
   }
-  case COM_FETCH:
+  case COM_STMT_FETCH:
   {
     mysql_stmt_fetch(thd, packet, packet_length);
     break;
   }
-  case COM_LONG_DATA:
+  case COM_STMT_SEND_LONG_DATA:
   {
     mysql_stmt_get_longdata(thd, packet, packet_length);
     break;
   }
-  case COM_PREPARE:
+  case COM_STMT_PREPARE:
   {
     mysql_stmt_prepare(thd, packet, packet_length, 0);
     break;
   }
-  case COM_CLOSE_STMT:
+  case COM_STMT_CLOSE:
   {
-    mysql_stmt_free(thd, packet);
+    mysql_stmt_close(thd, packet);
     break;
   }
-  case COM_RESET_STMT:
+  case COM_STMT_RESET:
   {
     mysql_stmt_reset(thd, packet);
     break;
@@ -2199,7 +2199,7 @@
 
 /*
   Read query from packet and store in thd->query
-  Used in COM_QUERY and COM_PREPARE
+  Used in COM_QUERY and COM_STMT_PREPARE
 
   DESCRIPTION
     Sets the following THD variables:
@@ -2501,7 +2501,7 @@
                           lex->prepared_stmt_name.str,
                           query_len, query_str));
     }
-    thd->command= COM_PREPARE;
+    thd->command= COM_STMT_PREPARE;
     if (!(res= mysql_stmt_prepare(thd, query_str, query_len + 1,
                                   &lex->prepared_stmt_name)))
       send_ok(thd, 0L, 0L, "Statement prepared");

--- 1.397/sql/sql_yacc.yy	2005-06-10 20:01:55 +04:00
+++ 1.398/sql/sql_yacc.yy	2005-06-17 23:26:19 +04:00
@@ -914,7 +914,7 @@
         {
           THD *thd=YYTHD;
           LEX *lex= thd->lex;
-          if (thd->command == COM_PREPARE)
+          if (thd->command == COM_STMT_PREPARE)
           {
             yyerror(ER(ER_SYNTAX_ERROR));
             YYABORT;
@@ -939,7 +939,7 @@
         {
           THD *thd=YYTHD;
           LEX *lex= thd->lex;
-          if (thd->command == COM_PREPARE)
+          if (thd->command == COM_STMT_PREPARE)
           {
             yyerror(ER(ER_SYNTAX_ERROR));
             YYABORT;
@@ -974,7 +974,7 @@
         {
           THD *thd=YYTHD;
           LEX *lex= thd->lex;
-          if (thd->command == COM_PREPARE)
+          if (thd->command == COM_STMT_PREPARE)
           {
             yyerror(ER(ER_SYNTAX_ERROR));
             YYABORT;
@@ -6902,7 +6902,7 @@
         {
           THD *thd=YYTHD;
 	  LEX *lex= thd->lex;
-          if (thd->command == COM_PREPARE)
+          if (thd->command == COM_STMT_PREPARE)
           {
             Item_param *item= new Item_param((uint) (lex->tok_start -
                                                      (uchar *) thd->query));

--- 1.98/libmysqld/lib_sql.cc	2005-04-13 14:22:15 +04:00
+++ 1.99/libmysqld/lib_sql.cc	2005-06-17 23:26:18 +04:00
@@ -220,7 +220,7 @@
   THD *thd= (THD*)stmt->mysql->thd;
   thd->client_param_count= stmt->param_count;
   thd->client_params= stmt->params;
-  if (emb_advanced_command(stmt->mysql, COM_EXECUTE,0,0,
+  if (emb_advanced_command(stmt->mysql, COM_STMT_EXECUTE,0,0,
                            header, sizeof(header), 1) ||
       emb_mysql_read_query_result(stmt->mysql))
   {

--- 1.123/sql/sql_prepare.cc	2005-06-17 01:58:26 +04:00
+++ 1.124/sql/sql_prepare.cc	2005-06-17 23:26:19 +04:00
@@ -19,9 +19,9 @@
 
 Prepare:
 
-  - Server gets the query from client with command 'COM_PREPARE';
+  - Server gets the query from client with command 'COM_STMT_PREPARE';
     in the following format:
-    [COM_PREPARE:1] [query]
+    [COM_STMT_PREPARE:1] [query]
   - Parse the query and recognize any parameter markers '?' and
     store its information list in lex->param_list
   - Allocate a new statement for this prepare; and keep this in
@@ -37,10 +37,10 @@
 
 Prepare-execute:
 
-  - Server gets the command 'COM_EXECUTE' to execute the
+  - Server gets the command 'COM_STMT_EXECUTE' to execute the
     previously prepared query. If there is any param markers; then client
     will send the data in the following format:
-    [COM_EXECUTE:1]
+    [COM_STMT_EXECUTE:1]
     [STMT_ID:4]
     [NULL_BITS:(param_count+7)/8)]
     [TYPES_SUPPLIED_BY_CLIENT(0/1):1]
@@ -55,9 +55,10 @@
 
 Long data handling:
 
-  - Server gets the long data in pieces with command type 'COM_LONG_DATA'.
+  - Server gets the long data in pieces with command type
+    'COM_STMT_SEND_LONG_DATA'.
   - The packet recieved will have the format as:
-    [COM_LONG_DATA:1][STMT_ID:4][parameter_number:2][data]
+    [COM_STMT_SEND_LONG_DATA:1][STMT_ID:4][parameter_number:2][data]
   - data from the packet is appended to long data value buffer for this
     placeholder.
   - It's up to the client to check for read data ended. The server doesn't
@@ -2117,7 +2118,7 @@
   {
     my_error(ER_WRONG_ARGUMENTS, MYF(0), "EXECUTE");
   }
-  thd->command= COM_EXECUTE; /* For nice messages in general log */
+  thd->command= COM_STMT_EXECUTE; /* For nice messages in general log */
   execute_stmt(thd, stmt, &expanded_query);
   DBUG_VOID_RETURN;
 }
@@ -2185,7 +2186,7 @@
 
 
 /*
-  COM_FETCH handler: fetches requested amount of rows from cursor
+  COM_STMT_FETCH handler: fetches requested amount of rows from cursor
 
   SYNOPSIS
     mysql_stmt_fetch()
@@ -2290,13 +2291,13 @@
   Note: we don't send any reply to that command.
 */
 
-void mysql_stmt_free(THD *thd, char *packet)
+void mysql_stmt_close(THD *thd, char *packet)
 {
   /* There is always space for 4 bytes in packet buffer */
   ulong stmt_id= uint4korr(packet);
   Prepared_statement *stmt;
 
-  DBUG_ENTER("mysql_stmt_free");
+  DBUG_ENTER("mysql_stmt_close");
 
   statistic_increment(thd->status_var.com_stmt_close, &LOCK_status);
   if (!(stmt= find_prepared_statement(thd, stmt_id, "mysql_stmt_close")))

--- 1.124/tests/mysql_client_test.c	2005-06-15 02:22:24 +04:00
+++ 1.125/tests/mysql_client_test.c	2005-06-17 23:26:19 +04:00
@@ -13040,7 +13040,7 @@
       int4store(buff, stmt->stmt_id);
       buff[4]= 0;                               /* Flag */
       int4store(buff+5, 1);                     /* Return 1 row */
-      rc= ((*mysql->methods->advanced_command)(mysql, COM_EXECUTE, buff,
+      rc= ((*mysql->methods->advanced_command)(mysql, COM_STMT_EXECUTE, buff,
                                                sizeof(buff), 0,0,1) ||
            (*mysql->methods->read_query_result)(mysql));
       DIE_UNLESS(rc);
Thread
bk commit into 5.0 tree (konstantin:1.1962)konstantin17 Jun