diff options
author | unknown <vva@eagle.mysql.r18.ru> | 2004-03-10 23:35:40 +0400 |
---|---|---|
committer | unknown <vva@eagle.mysql.r18.ru> | 2004-03-10 23:35:40 +0400 |
commit | 12f5e3ebac9454bdc364f2ba12b293f002e89280 (patch) | |
tree | b2368313a0cf2eab4453e207187846b0d4dc7014 /client | |
parent | 65cc7890a464fb8f8ebbe201d56661ac112cede3 (diff) | |
parent | 2053f8f850f2b078dc947fa38d23339b8b24fed9 (diff) | |
download | mariadb-git-12f5e3ebac9454bdc364f2ba12b293f002e89280.tar.gz |
Merge eagle.mysql.r18.ru:/home/vva/work/mysql.orig/clear/mysql-4.0
into eagle.mysql.r18.ru:/home/vva/work/BUG_2874/mysql-4.0
mysql-test/mysql-test-run.sh:
Auto merged
Diffstat (limited to 'client')
-rw-r--r-- | client/mysqltest.c | 58 |
1 files changed, 34 insertions, 24 deletions
diff --git a/client/mysqltest.c b/client/mysqltest.c index f41f697ad26..32fc9d9ac17 100644 --- a/client/mysqltest.c +++ b/client/mysqltest.c @@ -867,36 +867,46 @@ int do_exec(struct st_query* q) if (!*cmd) die("Missing argument in exec\n"); - if (q->record_file[0]) + if (disable_result_log) { - init_dynamic_string(&ds_tmp, "", 16384, 65536); - ds= &ds_tmp; + if (!(res_file= popen(cmd, "r")) && q->abort_on_error) + die("popen() failed\n"); + while (fgets(buf, sizeof(buf), res_file)); + pclose(res_file); } else - ds= &ds_res; + { + if (q->record_file[0]) + { + init_dynamic_string(&ds_tmp, "", 16384, 65536); + ds= &ds_tmp; + } + else + ds= &ds_res; - if (!(res_file= popen(cmd, "r")) && q->abort_on_error) - die("popen() failed\n"); - while (fgets(buf, sizeof(buf), res_file)) - replace_dynstr_append_mem(ds, buf, strlen(buf)); - pclose(res_file); + if (!(res_file= popen(cmd, "r")) && q->abort_on_error) + die("popen() failed\n"); + while (fgets(buf, sizeof(buf), res_file)) + replace_dynstr_append_mem(ds, buf, strlen(buf)); + pclose(res_file); - if (glob_replace) - free_replace(); + if (glob_replace) + free_replace(); - if (record) - { - if (!q->record_file[0] && !result_file) - die("At line %u: Missing result file", start_lineno); - if (!result_file) - str_to_file(q->record_file, ds->str, ds->length); - } - else if (q->record_file[0]) - { - error= check_result(ds, q->record_file, q->require_file); + if (record) + { + if (!q->record_file[0] && !result_file) + die("At line %u: Missing result file", start_lineno); + if (!result_file) + str_to_file(q->record_file, ds->str, ds->length); + } + else if (q->record_file[0]) + { + error= check_result(ds, q->record_file, q->require_file); + } + if (ds == &ds_tmp) + dynstr_free(&ds_tmp); } - if (ds == &ds_tmp) - dynstr_free(&ds_tmp); return error; } @@ -2251,7 +2261,7 @@ int run_query(MYSQL* mysql, struct st_query* q, int flags) { if (i) dynstr_append_mem(ds, "\t", 1); - dynstr_append(ds, fields[i].name); + replace_dynstr_append_mem(ds, fields[i].name, strlen(fields[i].name)); } dynstr_append_mem(ds, "\n", 1); append_result(ds, res); |