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) | msvensson | 4 Apr |