Commit 3b1fc84a authored by msvensson@pilot.blaudden's avatar msvensson@pilot.blaudden

Merge pilot.blaudden:/home/msvensson/mysql/mysql-4.1-maint

into  pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint
parents bc675fb5 fc992b06
...@@ -276,7 +276,7 @@ enum enum_commands { ...@@ -276,7 +276,7 @@ enum enum_commands {
Q_IF, Q_IF,
Q_DISABLE_PARSING, Q_ENABLE_PARSING, Q_DISABLE_PARSING, Q_ENABLE_PARSING,
Q_REPLACE_REGEX, Q_REMOVE_FILE, Q_FILE_EXIST, 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_CHMOD_FILE, Q_APPEND_FILE, Q_CAT_FILE, Q_DIFF_FILES,
Q_UNKNOWN, /* Unknown command. */ Q_UNKNOWN, /* Unknown command. */
...@@ -359,6 +359,7 @@ const char *command_names[]= ...@@ -359,6 +359,7 @@ const char *command_names[]=
/* Don't execute any more commands, compare result */ /* Don't execute any more commands, compare result */
"exit", "exit",
"skip",
"chmod", "chmod",
"append_file", "append_file",
"cat_file", "cat_file",
...@@ -1346,6 +1347,7 @@ void var_query_set(VAR *var, const char *query, const char** query_end) ...@@ -1346,6 +1347,7 @@ void var_query_set(VAR *var, const char *query, const char** query_end)
MYSQL_RES *res; MYSQL_RES *res;
MYSQL_ROW row; MYSQL_ROW row;
MYSQL* mysql = &cur_con->mysql; MYSQL* mysql = &cur_con->mysql;
DYNAMIC_STRING ds_query;
DBUG_ENTER("var_query_set"); DBUG_ENTER("var_query_set");
LINT_INIT(res); LINT_INIT(res);
...@@ -1355,13 +1357,17 @@ void var_query_set(VAR *var, const char *query, const char** query_end) ...@@ -1355,13 +1357,17 @@ void var_query_set(VAR *var, const char *query, const char** query_end)
die("Syntax error in query, missing '`'"); die("Syntax error in query, missing '`'");
++query; ++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))) !(res = mysql_store_result(mysql)))
{ {
*end = 0; die("Error running query '%s': %d %s", ds_query.str,
die("Error running query '%s': %d %s", query,
mysql_errno(mysql), mysql_error(mysql)); mysql_errno(mysql), mysql_error(mysql));
} }
dynstr_free(&ds_query);
if ((row = mysql_fetch_row(res)) && row[0]) if ((row = mysql_fetch_row(res)) && row[0])
{ {
...@@ -6277,6 +6283,9 @@ int main(int argc, char **argv) ...@@ -6277,6 +6283,9 @@ int main(int argc, char **argv)
/* Stop processing any more commands */ /* Stop processing any more commands */
abort_flag= 1; abort_flag= 1;
break; break;
case Q_SKIP:
abort_not_supported_test("%s", command->first_argument);
break;
case Q_RESULT: case Q_RESULT:
die("result, deprecated command"); die("result, deprecated command");
......
...@@ -277,6 +277,9 @@ let $A = changed value of A; ...@@ -277,6 +277,9 @@ let $A = changed value of A;
# Content of $B is: initial value of B # Content of $B is: initial value of B
let $B = changed value of B; let $B = changed value of B;
# Content of $A is: changed value of A # 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: Missing required argument 'filename' to command 'source'
mysqltest: At line 1: Could not open file ./non_existingFile 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 mysqltest: In included file "MYSQLTEST_VARDIR/tmp/recursive.sql": At line 1: Source directives are nesting too deep
......
...@@ -718,6 +718,21 @@ let $A = changed value of A; ...@@ -718,6 +718,21 @@ let $A = changed value of A;
let $B = changed value of B; let $B = changed value of B;
--echo # Content of \$A is: $A --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 # Test to assign let from query
# let $<var_name>=`<query>`; # let $<var_name>=`<query>`;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment