List:Commits« Previous MessageNext Message »
From:msvensson Date:April 4 2007 1:17pm
Subject:bk commit into 5.0 tree (msvensson:1.2435)
View as plain text  
Below is the list of changes that have just been committed into a local
5.0 repository of msvensson. When msvensson 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@stripped, 2007-04-04 15:17:00+02:00, msvensson@stripped +3 -0
  Merge pilot.blaudden:/home/msvensson/mysql/mysql-4.1-maint
  into  pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint
  MERGE: 1.1616.2877.78

  client/mysqltest.c@stripped, 2007-04-04 15:16:16+02:00, msvensson@stripped +0 -0
    Auto merged
    MERGE: 1.92.21.55

  mysql-test/r/mysqltest.result@stripped, 2007-04-04 15:16:57+02:00, msvensson@stripped +0 -0
    SCCS merged
    MERGE: 1.3.1.20

  mysql-test/t/mysqltest.test@stripped, 2007-04-04 15:16:16+02:00, msvensson@stripped +0 -0
    Auto merged
    MERGE: 1.3.1.26

# 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:	msvensson
# Host:	pilot.blaudden
# Root:	/home/msvensson/mysql/mysql-5.0-maint/RESYNC

--- 1.43/mysql-test/r/mysqltest.result	2007-03-01 17:59:52 +01:00
+++ 1.44/mysql-test/r/mysqltest.result	2007-04-04 15:16:57 +02:00
@@ -277,6 +277,9 @@ let $A = changed value of A;
 # Content of $B is: initial value of B
 let $B = changed value of B;
 # Content of $A is: changed value of A
+var2: content of variable 1
+var3: content of variable 1 content of variable 1
+length of var3 is longer than 0
 mysqltest: At line 1: Missing required argument 'filename' to command 'source'
 mysqltest: At line 1: Could not open file ./non_existingFile
 mysqltest: In included file "MYSQLTEST_VARDIR/tmp/recursive.sql": At line 1: Source directives are nesting too deep

--- 1.53/mysql-test/t/mysqltest.test	2007-03-01 17:59:52 +01:00
+++ 1.54/mysql-test/t/mysqltest.test	2007-04-04 15:16:16 +02:00
@@ -719,6 +719,21 @@ let $B = changed value of B;
 --echo # Content of \$A is: $A
 
 # ----------------------------------------------------------------------------
+# Test let from query with $variable
+# let $<var_name>=`<query with $variable>`;
+# ----------------------------------------------------------------------------
+
+let $var1=content of variable 1;
+let $var2= `select "$var1"`;
+let $var3= `select concat("$var1", " ", "$var2")`;
+echo var2: $var2;
+echo var3: $var3;
+if (`select length("$var3") > 0`)
+{
+  echo length of var3 is longer than 0;
+}
+
+# ----------------------------------------------------------------------------
 # Test to assign let from query
 # let $<var_name>=`<query>`;
 # ----------------------------------------------------------------------------

--- 1.283/client/mysqltest.c	2007-03-27 19:25:59 +02:00
+++ 1.284/client/mysqltest.c	2007-04-04 15:16:16 +02:00
@@ -276,7 +276,7 @@ enum enum_commands {
   Q_IF,
   Q_DISABLE_PARSING, Q_ENABLE_PARSING,
   Q_REPLACE_REGEX, Q_REMOVE_FILE, Q_FILE_EXIST,
-  Q_WRITE_FILE, Q_COPY_FILE, Q_PERL, Q_DIE, Q_EXIT,
+  Q_WRITE_FILE, Q_COPY_FILE, Q_PERL, Q_DIE, Q_EXIT, Q_SKIP,
   Q_CHMOD_FILE, Q_APPEND_FILE, Q_CAT_FILE, Q_DIFF_FILES,
 
   Q_UNKNOWN,			       /* Unknown command.   */
@@ -359,6 +359,7 @@ const char *command_names[]=
                
   /* Don't execute any more commands, compare result */
   "exit",
+  "skip",
   "chmod",
   "append_file",
   "cat_file",
@@ -1346,6 +1347,7 @@ void var_query_set(VAR *var, const char 
   MYSQL_RES *res;
   MYSQL_ROW row;
   MYSQL* mysql = &cur_con->mysql;
+  DYNAMIC_STRING ds_query;
   DBUG_ENTER("var_query_set");
   LINT_INIT(res);
 
@@ -1355,13 +1357,17 @@ void var_query_set(VAR *var, const char 
     die("Syntax error in query, missing '`'");
   ++query;
 
-  if (mysql_real_query(mysql, query, (int)(end - query)) ||
+  /* Eval the query, thus replacing all environment variables */
+  init_dynamic_string(&ds_query, 0, (end - query) + 32, 256);
+  do_eval(&ds_query, query, end, FALSE);
+
+  if (mysql_real_query(mysql, ds_query.str, ds_query.length) ||
       !(res = mysql_store_result(mysql)))
   {
-    *end = 0;
-    die("Error running query '%s': %d %s", query,
+    die("Error running query '%s': %d %s", ds_query.str,
 	mysql_errno(mysql), mysql_error(mysql));
   }
+  dynstr_free(&ds_query);
 
   if ((row = mysql_fetch_row(res)) && row[0])
   {
@@ -6276,6 +6282,9 @@ int main(int argc, char **argv)
       case Q_EXIT:
         /* Stop processing any more commands */
         abort_flag= 1;
+        break;
+      case Q_SKIP:
+        abort_not_supported_test("%s", command->first_argument);
         break;
 
       case Q_RESULT:
Thread
bk commit into 5.0 tree (msvensson:1.2435)msvensson4 Apr