sql: Store credentials in tmpfile instead of giving it on the command line.

parallel: Allow --block > 2GB with --pipepart.
parallel: Fixed bug #50107: --tmux --fg should also write how to access it.
This commit is contained in:
Ole Tange 2017-01-21 18:09:01 +01:00
parent 7032e5dec2
commit 924a0f1aab
14 changed files with 111 additions and 86 deletions

44
NEWS
View file

@ -1,3 +1,47 @@
20170122
* sql now uses a temporary credentials file for MySQL to avoid
warning.
* --sqlmaster and --sqlworker have been reworked.
* --sqlworker only reads from the DBURL: any command and any arguments
are ignored.
* --sqlmaster +DBURL will append commands to the DBURL and not erase
the table.
* If --results contain a replacement string, no tree structure with
args will be generated.
* --fg --tmux or --fg --tmuxpane will connect to the tmux.
* GNU Parallel was cited in: Fast, Automated Indoor Light Detection,
Classification, and Measurement
https://www2.eecs.berkeley.edu/Pubs/TechRpts/2016/EECS-2016-212.pdf
* GNU Parallel was cited in: Unbiased RNA Shotgun Metagenomics in
Social and Solitary Wild Bees Detects Associations with Eukaryote
Parasites and New Viruses
http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0168456
* GNU Parallel was cited in: Almost Event-Rate Independent Monitoring
of Metric Temporal Logic
http://people.inf.ethz.ch/trayteld/papers/tacas17-aerial/aerial.pdf
* 使用GNU parallel命令并行预处理数据https://blog.razrlele.com/p/1843
* GNU Parallel as a queuing system:
http://puntoblogspot.blogspot.com/2017/01/gnu-parallel-as-queuing-system.html
* AWS re:Invent 2016: Deep Dive on Amazon Elastic File System (STG202)
slide 45
http://www.slideshare.net/AmazonWebServices/aws-reinvent-2016-deep-dive-on-amazon-elastic-file-system-stg202
and https://youtu.be/PlTuJx4VnGw?t=30m16s
* Bug fixes and man page updates.
20161222 20161222
* --results foo.csv will save output as a CSV-file. Can be directly * --results foo.csv will save output as a CSV-file. Can be directly

12
README
View file

@ -44,9 +44,9 @@ document.
Full installation of GNU Parallel is as simple as: Full installation of GNU Parallel is as simple as:
wget http://ftpmirror.gnu.org/parallel/parallel-20161222.tar.bz2 wget http://ftpmirror.gnu.org/parallel/parallel-20170121.tar.bz2
bzip2 -dc parallel-20161222.tar.bz2 | tar xvf - bzip2 -dc parallel-20170121.tar.bz2 | tar xvf -
cd parallel-20161222 cd parallel-20170121
./configure && make && sudo make install ./configure && make && sudo make install
@ -55,9 +55,9 @@ Full installation of GNU Parallel is as simple as:
If you are not root you can add ~/bin to your path and install in If you are not root you can add ~/bin to your path and install in
~/bin and ~/share: ~/bin and ~/share:
wget http://ftpmirror.gnu.org/parallel/parallel-20161222.tar.bz2 wget http://ftpmirror.gnu.org/parallel/parallel-20170121.tar.bz2
bzip2 -dc parallel-20161222.tar.bz2 | tar xvf - bzip2 -dc parallel-20170121.tar.bz2 | tar xvf -
cd parallel-20161222 cd parallel-20170121
./configure --prefix=$HOME && make && make install ./configure --prefix=$HOME && make && make install
Or if your system lacks 'make' you can simply copy src/parallel Or if your system lacks 'make' you can simply copy src/parallel

20
configure vendored
View file

@ -1,6 +1,6 @@
#! /bin/sh #! /bin/sh
# Guess values for system-dependent variables and create Makefiles. # Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for parallel 20161222. # Generated by GNU Autoconf 2.69 for parallel 20170121.
# #
# Report bugs to <bug-parallel@gnu.org>. # Report bugs to <bug-parallel@gnu.org>.
# #
@ -579,8 +579,8 @@ MAKEFLAGS=
# Identity of this package. # Identity of this package.
PACKAGE_NAME='parallel' PACKAGE_NAME='parallel'
PACKAGE_TARNAME='parallel' PACKAGE_TARNAME='parallel'
PACKAGE_VERSION='20161222' PACKAGE_VERSION='20170121'
PACKAGE_STRING='parallel 20161222' PACKAGE_STRING='parallel 20170121'
PACKAGE_BUGREPORT='bug-parallel@gnu.org' PACKAGE_BUGREPORT='bug-parallel@gnu.org'
PACKAGE_URL='' PACKAGE_URL=''
@ -1214,7 +1214,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing. # Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh. # This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF cat <<_ACEOF
\`configure' configures parallel 20161222 to adapt to many kinds of systems. \`configure' configures parallel 20170121 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]... Usage: $0 [OPTION]... [VAR=VALUE]...
@ -1281,7 +1281,7 @@ fi
if test -n "$ac_init_help"; then if test -n "$ac_init_help"; then
case $ac_init_help in case $ac_init_help in
short | recursive ) echo "Configuration of parallel 20161222:";; short | recursive ) echo "Configuration of parallel 20170121:";;
esac esac
cat <<\_ACEOF cat <<\_ACEOF
@ -1357,7 +1357,7 @@ fi
test -n "$ac_init_help" && exit $ac_status test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then if $ac_init_version; then
cat <<\_ACEOF cat <<\_ACEOF
parallel configure 20161222 parallel configure 20170121
generated by GNU Autoconf 2.69 generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc. Copyright (C) 2012 Free Software Foundation, Inc.
@ -1374,7 +1374,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake. running configure, to aid debugging if configure makes a mistake.
It was created by parallel $as_me 20161222, which was It was created by parallel $as_me 20170121, which was
generated by GNU Autoconf 2.69. Invocation command line was generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@ $ $0 $@
@ -2237,7 +2237,7 @@ fi
# Define the identity of the package. # Define the identity of the package.
PACKAGE='parallel' PACKAGE='parallel'
VERSION='20161222' VERSION='20170121'
cat >>confdefs.h <<_ACEOF cat >>confdefs.h <<_ACEOF
@ -2880,7 +2880,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their # report actual input values of CONFIG_FILES etc. instead of their
# values after options handling. # values after options handling.
ac_log=" ac_log="
This file was extended by parallel $as_me 20161222, which was This file was extended by parallel $as_me 20170121, which was
generated by GNU Autoconf 2.69. Invocation command line was generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES CONFIG_FILES = $CONFIG_FILES
@ -2942,7 +2942,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\ ac_cs_version="\\
parallel config.status 20161222 parallel config.status 20170121
configured by $0, generated by GNU Autoconf 2.69, configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\" with options \\"\$ac_cs_config\\"

View file

@ -1,4 +1,4 @@
AC_INIT([parallel], [20161222], [bug-parallel@gnu.org]) AC_INIT([parallel], [20170121], [bug-parallel@gnu.org])
AM_INIT_AUTOMAKE([-Wall -Werror foreign]) AM_INIT_AUTOMAKE([-Wall -Werror foreign])
AC_CONFIG_HEADERS([config.h]) AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([ AC_CONFIG_FILES([

View file

@ -226,17 +226,37 @@ GNU Parallel 20170122 ('George Michael') <<[stable]>> has been released. It is a
<<No new functionality was introduced so this is a good candidate for a stable release.>> <<No new functionality was introduced so this is a good candidate for a stable release.>>
Haiku of the month: Haiku of the month:
<<>>
Speed is good for you
Multi speed is better still
Use GNU Parallel
-- Ole Tange -- Ole Tange
New in this release: New in this release:
http://www.slideshare.net/AmazonWebServices/aws-reinvent-2016-deep-dive-on-amazon-elastic-file-system-stg202
https://www.youtube.com/watch?v=PlTuJx4VnGw slide 45 of the deck and 30:16 * sql now uses a temporary credentials file for MySQL to avoid warning.
https://www2.eecs.berkeley.edu/Pubs/TechRpts/2016/EECS-2016-212.pdf
http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0168456#references * --sqlmaster and --sqlworker have been reworked.
http://people.inf.ethz.ch/trayteld/papers/aerial/aerial.pdf
https://blog.razrlele.com/p/1843 * --sqlworker only reads from the DBURL: any command and any arguments are ignored.
https://www.javacodegeeks.com/2017/01/processing-image-documents-mapr-scale.html
* --sqlmaster +DBURL will append commands to the DBURL and not erase the table.
* If --results contain a replacement string, no tree structure with args will be generated.
* --fg --tmux or --fg --tmuxpane will connect to the tmux.
* GNU Parallel was cited in: Fast, Automated Indoor Light Detection, Classification, and Measurement https://www2.eecs.berkeley.edu/Pubs/TechRpts/2016/EECS-2016-212.pdf
* GNU Parallel was cited in: Unbiased RNA Shotgun Metagenomics in Social and Solitary Wild Bees Detects Associations with Eukaryote Parasites and New Viruses http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0168456
* GNU Parallel was cited in: Almost Event-Rate Independent Monitoring of Metric Temporal Logic http://people.inf.ethz.ch/trayteld/papers/tacas17-aerial/aerial.pdf
* 使用GNU parallel命令并行预处理数据https://blog.razrlele.com/p/1843
* GNU Parallel as a queuing system: http://puntoblogspot.blogspot.com/2017/01/gnu-parallel-as-queuing-system.html
* AWS re:Invent 2016: Deep Dive on Amazon Elastic File System (STG202) slide 45 http://www.slideshare.net/AmazonWebServices/aws-reinvent-2016-deep-dive-on-amazon-elastic-file-system-stg202 and https://youtu.be/PlTuJx4VnGw?t=30m16s
* <<Possibly http://link.springer.com/chapter/10.1007%2F978-3-319-22053-6_46>> * <<Possibly http://link.springer.com/chapter/10.1007%2F978-3-319-22053-6_46>>

View file

@ -24,7 +24,7 @@
use strict; use strict;
use Getopt::Long; use Getopt::Long;
$Global::progname="niceload"; $Global::progname="niceload";
$Global::version = 20161223; $Global::version = 20170121;
Getopt::Long::Configure("bundling","require_order"); Getopt::Long::Configure("bundling","require_order");
get_options_from_array(\@ARGV) || die_usage(); get_options_from_array(\@ARGV) || die_usage();
if($opt::version) { if($opt::version) {

View file

@ -161,7 +161,7 @@ if($opt::pipepart) {
$Global::max_jobs_running or $Global::max_jobs_running or
::die_bug("Global::max_jobs_running not set"); ::die_bug("Global::max_jobs_running not set");
# Run in total $job_slots*(- $blocksize) jobs # Run in total $job_slots*(- $blocksize) jobs
# Set --blocksize = size / no of proc / 10 # Set --blocksize = size / no of proc / (- $blocksize)
$Global::blocksize = 1 + $Global::blocksize = 1 +
int($size / $Global::max_jobs_running / -$opt::blocksize); int($size / $Global::max_jobs_running / -$opt::blocksize);
} }
@ -1061,7 +1061,7 @@ sub parse_options {
if(not defined $opt::recstart and if(not defined $opt::recstart and
not defined $opt::recend) { $opt::recend = "\n"; } not defined $opt::recend) { $opt::recend = "\n"; }
$Global::blocksize = multiply_binary_prefix($opt::blocksize || "1M"); $Global::blocksize = multiply_binary_prefix($opt::blocksize || "1M");
if($Global::blocksize > 2**31-1) { if($Global::blocksize > 2**31-1 and not $opt::pipepart) {
warning("--blocksize >= 2G causes problems. Using 2G-1."); warning("--blocksize >= 2G causes problems. Using 2G-1.");
$Global::blocksize = 2**31-1; $Global::blocksize = 2**31-1;
} }
@ -1269,7 +1269,7 @@ sub check_invalid_option_combinations {
sub init_globals { sub init_globals {
# Defaults: # Defaults:
$Global::version = 20170111; $Global::version = 20170121;
$Global::progname = 'parallel'; $Global::progname = 'parallel';
$Global::infinity = 2**31; $Global::infinity = 2**31;
$Global::debug = 0; $Global::debug = 0;
@ -8004,9 +8004,8 @@ sub print_dryrun_and_verbose {
`sleep 1;$ENV{'PARALLEL_TMUX'} -S $tmuxsocket attach`; `sleep 1;$ENV{'PARALLEL_TMUX'} -S $tmuxsocket attach`;
exit; exit;
} }
} else {
::status("See output with: $ENV{'PARALLEL_TMUX'} -S $tmuxsocket attach");
} }
::status("See output with: $ENV{'PARALLEL_TMUX'} -S $tmuxsocket attach");
} }
$tmux = "sh -c '". $tmux = "sh -c '".
$ENV{'PARALLEL_TMUX'}." -S $tmuxsocket new-session -s p$$ -d \"sleep .2\" >/dev/null 2>&1';" . $ENV{'PARALLEL_TMUX'}." -S $tmuxsocket new-session -s p$$ -d \"sleep .2\" >/dev/null 2>&1';" .

View file

@ -576,7 +576,7 @@ $Global::Initfile && unlink $Global::Initfile;
exit ($err); exit ($err);
sub parse_options { sub parse_options {
$Global::version = 20161223; $Global::version = 20170121;
$Global::progname = 'sql'; $Global::progname = 'sql';
# This must be done first as this may exec myself # This must be done first as this may exec myself
@ -674,11 +674,11 @@ sub mysql_commands {
$host && "host=$opt{'host'}\n"); $host && "host=$opt{'host'}\n");
close $credential_fh; close $credential_fh;
# Prepend with a remover of the tempfile # Prepend with a remover of the credential tempfile
# -C: Compression if both ends support it # -C: Compression if both ends support it
$batch_command = $batch_command =
"(sleep 1; rm $tmp) &". "((sleep 1; rm $tmp) & ".
"mysql --defaults-extra-file=$tmp -C $pass_through_options $no_headers $html $ssl $host $user $port $database"; "mysql --defaults-extra-file=$tmp -C $pass_through_options $no_headers $html $ssl $host $user $port $database)";
$interactive_command = $batch_command; $interactive_command = $batch_command;
return($batch_command,$interactive_command); return($batch_command,$interactive_command);
} }

View file

@ -16,6 +16,9 @@ mem: ../src/parallel tests-to-run/*mem* wanted-results/*mem* prereqlocal
touch ~/.parallel/will-cite touch ~/.parallel/will-cite
make stopvm make stopvm
polarhome: polar
true
polar: ../src/parallel tests-to-run/*polar* wanted-results/*polar* prereqlocal polar: ../src/parallel tests-to-run/*polar* wanted-results/*polar* prereqlocal
make stopvm make stopvm
time bash Start.sh polar NONE || true time bash Start.sh polar NONE || true

View file

@ -712,6 +712,14 @@ par_result_replace() {
rm -rf /tmp/par_*_49983 rm -rf /tmp/par_*_49983
} }
par_pipepart_block_bigger_2G() {
echo '### Test that --pipepart can have blocks > 2GB'
tmp=$(mktemp)
echo foo >$tmp
parallel --pipepart -a $tmp --block 3G wc
rm $tmp
}
export -f $(compgen -A function | grep par_) export -f $(compgen -A function | grep par_)
compgen -A function | grep par_ | sort | compgen -A function | grep par_ | sort |
parallel -j6 --tag -k --joblog +/tmp/jl-`basename $0` '{} 2>&1' parallel -j6 --tag -k --joblog +/tmp/jl-`basename $0` '{} 2>&1'

View file

@ -1751,6 +1751,8 @@ par_file_ending_in_newline ### Hans found a bug giving unitialized variable
par_file_ending_in_newline gzip /tmp/parallel_f1 par_file_ending_in_newline gzip /tmp/parallel_f1
par_file_ending_in_newline gzip /tmp/parallel_f2' par_file_ending_in_newline gzip /tmp/parallel_f2'
par_file_ending_in_newline ' par_file_ending_in_newline '
par_pipepart_block_bigger_2G ### Test that --pipepart can have blocks > 2GB
par_pipepart_block_bigger_2G 1 1 4
par_python_children ### bug #49970: Python child process dies if --env is used par_python_children ### bug #49970: Python child process dies if --env is used
par_result_replace ### bug #49983: --results with {1} par_result_replace ### bug #49983: --results with {1}
par_result_replace foo par_result_replace foo

View file

@ -52,7 +52,6 @@ par_append_different_cmd $MYSQL : sleep .3;echo B-15 15 B B-15\n
par_append_different_cmd $MYSQL : sleep .3;echo C-15 15 C C-15\n par_append_different_cmd $MYSQL : sleep .3;echo C-15 15 C C-15\n
par_append_different_cmd $MYSQL : sleep .3;echo D-15 15 D D-15\n par_append_different_cmd $MYSQL : sleep .3;echo D-15 15 D D-15\n
par_append_different_cmd $MYSQL : sleep .3;echo E-15 15 E E-15\n par_append_different_cmd $MYSQL : sleep .3;echo E-15 15 E E-15\n
par_append_different_cmd $MYSQL mysql: [Warning] Using a password on the command line interface can be insecure.
p_wrapper par_append_different_cmd \$PG p_wrapper par_append_different_cmd \$PG
par_append_different_cmd $PG Exit=0 par_append_different_cmd $PG Exit=0
par_append_different_cmd $PG Exit=0 par_append_different_cmd $PG Exit=0
@ -276,7 +275,6 @@ par_no_table $MYSQL : true dummy dummy dummy dummy
par_no_table $MYSQL parallel: Error: The DBURL (mysql://tange:tange@lo/tange) must contain a table. par_no_table $MYSQL parallel: Error: The DBURL (mysql://tange:tange@lo/tange) must contain a table.
par_no_table $MYSQL parallel: Error: The DBURL (mysql://tange:tange@lo/tange) must contain a table. par_no_table $MYSQL parallel: Error: The DBURL (mysql://tange:tange@lo/tange) must contain a table.
par_no_table $MYSQL parallel: Error: The DBURL (mysql://tange:tange@lo/tange) must contain a table. par_no_table $MYSQL parallel: Error: The DBURL (mysql://tange:tange@lo/tange) must contain a table.
par_no_table $MYSQL mysql: [Warning] Using a password on the command line interface can be insecure.
p_wrapper par_no_table \$PG p_wrapper par_no_table \$PG
par_no_table $PG bug #50018: --dburl without table dies par_no_table $PG bug #50018: --dburl without table dies
par_no_table $PG 255 par_no_table $PG 255
@ -359,9 +357,6 @@ par_shuf $MYSQL : sleep .3;echo 5 b 5 b /tmp/parallel-bug49791-c20/1/5/2/b/stdou
par_shuf $MYSQL : sleep .3;echo 5 c 5 c /tmp/parallel-bug49791-c20/1/5/2/c/stdout /tmp/parallel-bug49791-c20/1/5/2/c/stderr par_shuf $MYSQL : sleep .3;echo 5 c 5 c /tmp/parallel-bug49791-c20/1/5/2/c/stdout /tmp/parallel-bug49791-c20/1/5/2/c/stderr
par_shuf $MYSQL : sleep .3;echo 5 d 5 d /tmp/parallel-bug49791-c20/1/5/2/d/stdout /tmp/parallel-bug49791-c20/1/5/2/d/stderr par_shuf $MYSQL : sleep .3;echo 5 d 5 d /tmp/parallel-bug49791-c20/1/5/2/d/stdout /tmp/parallel-bug49791-c20/1/5/2/d/stderr
par_shuf $MYSQL : sleep .3;echo 5 e 5 e /tmp/parallel-bug49791-c20/1/5/2/e/stdout /tmp/parallel-bug49791-c20/1/5/2/e/stderr par_shuf $MYSQL : sleep .3;echo 5 e 5 e /tmp/parallel-bug49791-c20/1/5/2/e/stdout /tmp/parallel-bug49791-c20/1/5/2/e/stderr
par_shuf $MYSQL mysql: [Warning] Using a password on the command line interface can be insecure.
par_shuf $MYSQL mysql: [Warning] Using a password on the command line interface can be insecure.
par_shuf $MYSQL mysql: [Warning] Using a password on the command line interface can be insecure.
p_wrapper par_shuf \$PG p_wrapper par_shuf \$PG
par_shuf $PG 1 a par_shuf $PG 1 a
par_shuf $PG 1 b par_shuf $PG 1 b
@ -609,7 +604,6 @@ par_sql_joblog $MYSQL : sleep .3;echo 5 b 5 b 5 b\n
par_sql_joblog $MYSQL : sleep .3;echo 5 c 5 c 5 c\n par_sql_joblog $MYSQL : sleep .3;echo 5 c 5 c 5 c\n
par_sql_joblog $MYSQL : sleep .3;echo 5 d 5 d 5 d\n par_sql_joblog $MYSQL : sleep .3;echo 5 d 5 d 5 d\n
par_sql_joblog $MYSQL : sleep .3;echo 5 e 5 e 5 e\n par_sql_joblog $MYSQL : sleep .3;echo 5 e 5 e 5 e\n
par_sql_joblog $MYSQL mysql: [Warning] Using a password on the command line interface can be insecure.
p_wrapper par_sql_joblog \$PG p_wrapper par_sql_joblog \$PG
par_sql_joblog $PG ### should only give a single --joblog heading par_sql_joblog $PG ### should only give a single --joblog heading
par_sql_joblog $PG ### --sqlmaster/--sqlworker par_sql_joblog $PG ### --sqlmaster/--sqlworker
@ -960,7 +954,6 @@ par_sqlandworker $MYSQL : sleep .3;echo 5 b 5 b 5 b\n
par_sqlandworker $MYSQL : sleep .3;echo 5 c 5 c 5 c\n par_sqlandworker $MYSQL : sleep .3;echo 5 c 5 c 5 c\n
par_sqlandworker $MYSQL : sleep .3;echo 5 d 5 d 5 d\n par_sqlandworker $MYSQL : sleep .3;echo 5 d 5 d 5 d\n
par_sqlandworker $MYSQL : sleep .3;echo 5 e 5 e 5 e\n par_sqlandworker $MYSQL : sleep .3;echo 5 e 5 e 5 e\n
par_sqlandworker $MYSQL mysql: [Warning] Using a password on the command line interface can be insecure.
p_wrapper par_sqlandworker \$PG p_wrapper par_sqlandworker \$PG
par_sqlandworker $PG Exit=0 par_sqlandworker $PG Exit=0
par_sqlandworker $PG Exit=0 par_sqlandworker $PG Exit=0
@ -1101,7 +1094,6 @@ par_sqlandworker_compress_linebuffer_tag $MYSQL : sleep .3;echo 5 b 5 b 5 b\t5 b
par_sqlandworker_compress_linebuffer_tag $MYSQL : sleep .3;echo 5 c 5 c 5 c\t5 c\n par_sqlandworker_compress_linebuffer_tag $MYSQL : sleep .3;echo 5 c 5 c 5 c\t5 c\n
par_sqlandworker_compress_linebuffer_tag $MYSQL : sleep .3;echo 5 d 5 d 5 d\t5 d\n par_sqlandworker_compress_linebuffer_tag $MYSQL : sleep .3;echo 5 d 5 d 5 d\t5 d\n
par_sqlandworker_compress_linebuffer_tag $MYSQL : sleep .3;echo 5 e 5 e 5 e\t5 e\n par_sqlandworker_compress_linebuffer_tag $MYSQL : sleep .3;echo 5 e 5 e 5 e\t5 e\n
par_sqlandworker_compress_linebuffer_tag $MYSQL mysql: [Warning] Using a password on the command line interface can be insecure.
p_wrapper par_sqlandworker_compress_linebuffer_tag \$PG p_wrapper par_sqlandworker_compress_linebuffer_tag \$PG
par_sqlandworker_compress_linebuffer_tag $PG Exit=0 par_sqlandworker_compress_linebuffer_tag $PG Exit=0
par_sqlandworker_compress_linebuffer_tag $PG Exit=0 par_sqlandworker_compress_linebuffer_tag $PG Exit=0
@ -1242,7 +1234,6 @@ par_sqlandworker_linebuffer $MYSQL : sleep .3;echo 5 b 5 b 5 b\n
par_sqlandworker_linebuffer $MYSQL : sleep .3;echo 5 c 5 c 5 c\n par_sqlandworker_linebuffer $MYSQL : sleep .3;echo 5 c 5 c 5 c\n
par_sqlandworker_linebuffer $MYSQL : sleep .3;echo 5 d 5 d 5 d\n par_sqlandworker_linebuffer $MYSQL : sleep .3;echo 5 d 5 d 5 d\n
par_sqlandworker_linebuffer $MYSQL : sleep .3;echo 5 e 5 e 5 e\n par_sqlandworker_linebuffer $MYSQL : sleep .3;echo 5 e 5 e 5 e\n
par_sqlandworker_linebuffer $MYSQL mysql: [Warning] Using a password on the command line interface can be insecure.
p_wrapper par_sqlandworker_linebuffer \$PG p_wrapper par_sqlandworker_linebuffer \$PG
par_sqlandworker_linebuffer $PG Exit=0 par_sqlandworker_linebuffer $PG Exit=0
par_sqlandworker_linebuffer $PG Exit=0 par_sqlandworker_linebuffer $PG Exit=0
@ -1383,7 +1374,6 @@ par_sqlandworker_linebuffer_tag $MYSQL : sleep .3;echo 5 b 5 b 5 b\t5 b\n
par_sqlandworker_linebuffer_tag $MYSQL : sleep .3;echo 5 c 5 c 5 c\t5 c\n par_sqlandworker_linebuffer_tag $MYSQL : sleep .3;echo 5 c 5 c 5 c\t5 c\n
par_sqlandworker_linebuffer_tag $MYSQL : sleep .3;echo 5 d 5 d 5 d\t5 d\n par_sqlandworker_linebuffer_tag $MYSQL : sleep .3;echo 5 d 5 d 5 d\t5 d\n
par_sqlandworker_linebuffer_tag $MYSQL : sleep .3;echo 5 e 5 e 5 e\t5 e\n par_sqlandworker_linebuffer_tag $MYSQL : sleep .3;echo 5 e 5 e 5 e\t5 e\n
par_sqlandworker_linebuffer_tag $MYSQL mysql: [Warning] Using a password on the command line interface can be insecure.
p_wrapper par_sqlandworker_linebuffer_tag \$PG p_wrapper par_sqlandworker_linebuffer_tag \$PG
par_sqlandworker_linebuffer_tag $PG Exit=0 par_sqlandworker_linebuffer_tag $PG Exit=0
par_sqlandworker_linebuffer_tag $PG Exit=0 par_sqlandworker_linebuffer_tag $PG Exit=0
@ -1524,7 +1514,6 @@ par_sqlandworker_lo $MYSQL lo sleep .3;echo 5 b 5 b 5 b\n
par_sqlandworker_lo $MYSQL lo sleep .3;echo 5 c 5 c 5 c\n par_sqlandworker_lo $MYSQL lo sleep .3;echo 5 c 5 c 5 c\n
par_sqlandworker_lo $MYSQL lo sleep .3;echo 5 d 5 d 5 d\n par_sqlandworker_lo $MYSQL lo sleep .3;echo 5 d 5 d 5 d\n
par_sqlandworker_lo $MYSQL lo sleep .3;echo 5 e 5 e 5 e\n par_sqlandworker_lo $MYSQL lo sleep .3;echo 5 e 5 e 5 e\n
par_sqlandworker_lo $MYSQL mysql: [Warning] Using a password on the command line interface can be insecure.
p_wrapper par_sqlandworker_lo \$PG p_wrapper par_sqlandworker_lo \$PG
par_sqlandworker_lo $PG Exit=0 par_sqlandworker_lo $PG Exit=0
par_sqlandworker_lo $PG Exit=0 par_sqlandworker_lo $PG Exit=0
@ -1665,7 +1654,6 @@ par_sqlandworker_results $MYSQL : sleep .3;echo 5 b 5 b /tmp/out--sql/1/5/2/b/st
par_sqlandworker_results $MYSQL : sleep .3;echo 5 c 5 c /tmp/out--sql/1/5/2/c/stdout /tmp/out--sql/1/5/2/c/stderr par_sqlandworker_results $MYSQL : sleep .3;echo 5 c 5 c /tmp/out--sql/1/5/2/c/stdout /tmp/out--sql/1/5/2/c/stderr
par_sqlandworker_results $MYSQL : sleep .3;echo 5 d 5 d /tmp/out--sql/1/5/2/d/stdout /tmp/out--sql/1/5/2/d/stderr par_sqlandworker_results $MYSQL : sleep .3;echo 5 d 5 d /tmp/out--sql/1/5/2/d/stdout /tmp/out--sql/1/5/2/d/stderr
par_sqlandworker_results $MYSQL : sleep .3;echo 5 e 5 e /tmp/out--sql/1/5/2/e/stdout /tmp/out--sql/1/5/2/e/stderr par_sqlandworker_results $MYSQL : sleep .3;echo 5 e 5 e /tmp/out--sql/1/5/2/e/stdout /tmp/out--sql/1/5/2/e/stderr
par_sqlandworker_results $MYSQL mysql: [Warning] Using a password on the command line interface can be insecure.
p_wrapper par_sqlandworker_results \$PG p_wrapper par_sqlandworker_results \$PG
par_sqlandworker_results $PG Exit=0 par_sqlandworker_results $PG Exit=0
par_sqlandworker_results $PG Exit=0 par_sqlandworker_results $PG Exit=0
@ -1756,7 +1744,6 @@ par_sqlandworker_tag $MYSQL : sleep .3;echo 5 b 5 b 5 b\t5 b\n
par_sqlandworker_tag $MYSQL : sleep .3;echo 5 c 5 c 5 c\t5 c\n par_sqlandworker_tag $MYSQL : sleep .3;echo 5 c 5 c 5 c\t5 c\n
par_sqlandworker_tag $MYSQL : sleep .3;echo 5 d 5 d 5 d\t5 d\n par_sqlandworker_tag $MYSQL : sleep .3;echo 5 d 5 d 5 d\t5 d\n
par_sqlandworker_tag $MYSQL : sleep .3;echo 5 e 5 e 5 e\t5 e\n par_sqlandworker_tag $MYSQL : sleep .3;echo 5 e 5 e 5 e\t5 e\n
par_sqlandworker_tag $MYSQL mysql: [Warning] Using a password on the command line interface can be insecure.
p_wrapper par_sqlandworker_tag \$PG p_wrapper par_sqlandworker_tag \$PG
par_sqlandworker_tag $PG Exit=0 par_sqlandworker_tag $PG Exit=0
par_sqlandworker_tag $PG Exit=0 par_sqlandworker_tag $PG Exit=0
@ -1897,7 +1884,6 @@ par_sqlandworker_total_jobs $MYSQL : echo 22 of 25; sleep .3;echo 5 b 22 of 25\n
par_sqlandworker_total_jobs $MYSQL : echo 23 of 25; sleep .3;echo 5 c 23 of 25\n\n par_sqlandworker_total_jobs $MYSQL : echo 23 of 25; sleep .3;echo 5 c 23 of 25\n\n
par_sqlandworker_total_jobs $MYSQL : echo 24 of 25; sleep .3;echo 5 d 24 of 25\n\n par_sqlandworker_total_jobs $MYSQL : echo 24 of 25; sleep .3;echo 5 d 24 of 25\n\n
par_sqlandworker_total_jobs $MYSQL : echo 25 of 25; sleep .3;echo 5 e 25 of 25\n\n par_sqlandworker_total_jobs $MYSQL : echo 25 of 25; sleep .3;echo 5 e 25 of 25\n\n
par_sqlandworker_total_jobs $MYSQL mysql: [Warning] Using a password on the command line interface can be insecure.
p_wrapper par_sqlandworker_total_jobs \$PG p_wrapper par_sqlandworker_total_jobs \$PG
par_sqlandworker_total_jobs $PG Exit=0 par_sqlandworker_total_jobs $PG Exit=0
par_sqlandworker_total_jobs $PG Exit=0 par_sqlandworker_total_jobs $PG Exit=0
@ -2088,7 +2074,6 @@ par_sqlandworker_unbuffer $MYSQL : sleep .3;echo 5 b 5 b
par_sqlandworker_unbuffer $MYSQL : sleep .3;echo 5 c 5 c par_sqlandworker_unbuffer $MYSQL : sleep .3;echo 5 c 5 c
par_sqlandworker_unbuffer $MYSQL : sleep .3;echo 5 d 5 d par_sqlandworker_unbuffer $MYSQL : sleep .3;echo 5 d 5 d
par_sqlandworker_unbuffer $MYSQL : sleep .3;echo 5 e 5 e par_sqlandworker_unbuffer $MYSQL : sleep .3;echo 5 e 5 e
par_sqlandworker_unbuffer $MYSQL mysql: [Warning] Using a password on the command line interface can be insecure.
p_wrapper par_sqlandworker_unbuffer \$PG p_wrapper par_sqlandworker_unbuffer \$PG
par_sqlandworker_unbuffer $PG Exit=0 par_sqlandworker_unbuffer $PG Exit=0
par_sqlandworker_unbuffer $PG Exit=0 par_sqlandworker_unbuffer $PG Exit=0

View file

@ -1,78 +1,52 @@
mysql: [Warning] Using a password on the command line interface can be insecure.
mysql: [Warning] Using a password on the command line interface can be insecure.
mysql: [Warning] Using a password on the command line interface can be insecure.
mysql: [Warning] Using a password on the command line interface can be insecure.
mysql: [Warning] Using a password on the command line interface can be insecure.
### Test of #! -Y with file as input ### Test of #! -Y with file as input
mysql: [Warning] Using a password on the command line interface can be insecure.
Testing if -Y works Testing if -Y works
Yes it does Yes it does
### Test of #! --shebang with file as input ### Test of #! --shebang with file as input
mysql: [Warning] Using a password on the command line interface can be insecure.
Testing if --shebang works Testing if --shebang works
Yes it does Yes it does
### Test reading sql on command line ### Test reading sql on command line
mysql: [Warning] Using a password on the command line interface can be insecure.
Test reading SQL from command line Test reading SQL from command line
Yes it does Yes it does
### Test reading sql from file ### Test reading sql from file
mysql: [Warning] Using a password on the command line interface can be insecure.
Test reading SQL from file works Test reading SQL from file works
Yes it does Yes it does
### Test dburl with username password host port ### Test dburl with username password host port
mysql: [Warning] Using a password on the command line interface can be insecure.
Test reading SQL from file works Test reading SQL from file works
Yes it does Yes it does
### Test .sql/aliases ### Test .sql/aliases
mysql: [Warning] Using a password on the command line interface can be insecure.
Test if .sql/aliases works Test if .sql/aliases works
Yes it does Yes it does
### Test sql:sql::alias ### Test sql:sql::alias
mysql: [Warning] Using a password on the command line interface can be insecure.
Test sql:sql::alias Test sql:sql::alias
Yes it works Yes it works
### Test --noheaders --no-headers -n ### Test --noheaders --no-headers -n
mysql: [Warning] Using a password on the command line interface can be insecure.
abc 1 abc 1
def 3 def 3
mysql: [Warning] Using a password on the command line interface can be insecure.
abc 1 abc 1
def 3 def 3
mysql: [Warning] Using a password on the command line interface can be insecure.
abc 1 abc 1
def 3 def 3
### Test --sep -s ### Test --sep -s
2 1 2 1
2 1 2 1
### Test --passthrough -p ### Test --passthrough -p
mysql: [Warning] Using a password on the command line interface can be insecure.
<TABLE BORDER=1><TR><TH>id</TH><TH>data</TH></TR><TR><TD>1</TD><TD>abc</TD></TR><TR><TD>3</TD><TD>def</TD></TR></TABLE> <TABLE BORDER=1><TR><TH>id</TH><TH>data</TH></TR><TR><TD>1</TD><TD>abc</TD></TR><TR><TD>3</TD><TD>def</TD></TR></TABLE>
mysql: [Warning] Using a password on the command line interface can be insecure.
<TABLE BORDER=1><TR><TH>id</TH><TH>data</TH></TR><TR><TD>1</TD><TD>abc</TD></TR><TR><TD>3</TD><TD>def</TD></TR></TABLE> <TABLE BORDER=1><TR><TH>id</TH><TH>data</TH></TR><TR><TD>1</TD><TD>abc</TD></TR><TR><TD>3</TD><TD>def</TD></TR></TABLE>
### Test --html ### Test --html
mysql: [Warning] Using a password on the command line interface can be insecure.
<TABLE BORDER=1><TR><TH>id</TH><TH>data</TH></TR><TR><TD>1</TD><TD>abc</TD></TR><TR><TD>3</TD><TD>def</TD></TR></TABLE> <TABLE BORDER=1><TR><TH>id</TH><TH>data</TH></TR><TR><TD>1</TD><TD>abc</TD></TR><TR><TD>3</TD><TD>def</TD></TR></TABLE>
### Test --show-processlist|proclist|listproc ### Test --show-processlist|proclist|listproc
mysql: [Warning] Using a password on the command line interface can be insecure.
2 17 2 17
mysql: [Warning] Using a password on the command line interface can be insecure.
2 17 2 17
mysql: [Warning] Using a password on the command line interface can be insecure.
2 17 2 17
### Test --db-size --dbsize ### Test --db-size --dbsize
mysql: [Warning] Using a password on the command line interface can be insecure.
2 6 54 2 6 54
mysql: [Warning] Using a password on the command line interface can be insecure.
2 6 54 2 6 54
### Test --table-size --tablesize ### Test --table-size --tablesize
mysql: [Warning] Using a password on the command line interface can be insecure.
63 63
mysql: [Warning] Using a password on the command line interface can be insecure.
63 63
### Test --debug ### Test --debug
dburl mysql://sqlunittest:CB5A1FFFA5A@localhost:3306/sqlunittest dburl mysql://sqlunittest:CB5A1FFFA5A@localhost:3306/sqlunittest
databasedriver mysql user sqlunittest password CB5A1FFFA5A host localhost port 3306 database sqlunittest query databasedriver mysql user sqlunittest password CB5A1FFFA5A host localhost port 3306 database sqlunittest query
mysql: [Warning] Using a password on the command line interface can be insecure.
Test if --debug works Test if --debug works
Yes it does Yes it does
### Test --version -V ### Test --version -V

View file

@ -1,18 +1,10 @@
mysql: [Warning] Using a password on the command line interface can be insecure.
mysql: [Warning] Using a password on the command line interface can be insecure.
mysql: [Warning] Using a password on the command line interface can be insecure.
mysql: [Warning] Using a password on the command line interface can be insecure.
mysql: [Warning] Using a password on the command line interface can be insecure.
### Test reading sql from url command line ### Test reading sql from url command line
mysql: [Warning] Using a password on the command line interface can be insecure.
Test reading SQL from command line Test reading SQL from command line
Yes it works Yes it works
### Test reading sql from url command line %-quoting ### Test reading sql from url command line %-quoting
mysql: [Warning] Using a password on the command line interface can be insecure.
Test %-quoting SQL from command line Test %-quoting SQL from command line
Yes it works Yes it works
### Test .sql/aliases with url on commandline ### Test .sql/aliases with url on commandline
mysql: [Warning] Using a password on the command line interface can be insecure.
Test if .sql/aliases with %-quoting works Test if .sql/aliases with %-quoting works
Yes it works Yes it works
### Test cyclic alias .sql/aliases ### Test cyclic alias .sql/aliases
@ -22,7 +14,6 @@ Test statement in alias
It works It works
Test statement in alias Test statement in alias
It works It works
mysql: [Warning] Using a password on the command line interface can be insecure.
Test statement in alias Test statement in alias
It works It works
### Test alias followed by SQL as arg ### Test alias followed by SQL as arg
@ -42,7 +33,6 @@ It works
Query added to alias Query added to alias
'Query from stdin' 'Query from stdin'
Query from stdin Query from stdin
mysql: [Warning] Using a password on the command line interface can be insecure.
Test statement in alias Test statement in alias
It works It works
Query added to alias Query added to alias