sql: Read input from STDIN, even if there is a ?query in the url.

This commit is contained in:
Ole Tange 2017-01-14 22:57:23 +01:00
parent 01088177aa
commit 61be3ff4a2
15 changed files with 376 additions and 393 deletions

View file

@ -346,9 +346,19 @@ sub cat_partial {
my($start, $i);
# Convert start_end to start_len
my @start_len = map { if(++$i % 2) { $start = $_; } else { $_-$start } } @start_end;
my $script = spacefree(0,
q{
while(@ARGV) {
sysseek(STDIN,shift,0) || die;
$left = shift;
while($read = sysread(STDIN,$buf, $left > 131072 ? 131072 : $left)){
$left -= $read;
syswrite(STDOUT,$buf);
}
}
});
return "<". shell_quote_scalar($file) .
q{ perl -e 'while(@ARGV) { sysseek(STDIN,shift,0) || die; $left = shift; while($read = sysread(STDIN,$buf, ($left > 131072 ? 131072 : $left))){ $left -= $read; syswrite(STDOUT,$buf); } }' } .
" @start_len";
" perl -e '$script' @start_len";
}
sub spreadstdin {

20
src/sql
View file

@ -534,13 +534,12 @@ if($dburl{'query'}) {
($fh,$queryfile) = tempfile(SUFFIX => ".sql");
print $fh $dburl{'query'},"\n";
close $fh;
$batch_command = "cat $queryfile - | $batch_command";
$batch_command = "(cat $queryfile;rm $queryfile; cat) | $batch_command";
}
do {
if(@ARGV or $dburl{'query'}) {
$::opt_debug and print "$batch_command\n";
$::opt_verbose and print "$batch_command\n";
if (is_stdin_terminal()) {
if(@ARGV) {
open(M,"| $batch_command") || die("mysql/psql/sqlplus not in path");
for(@ARGV) {
s/\\n/\n/g;
@ -548,15 +547,26 @@ do {
print M "$_\n";
}
close M;
} elsif (is_stdin_terminal()) {
} else {
$::opt_debug and print "$interactive_command\n";
$::opt_verbose and print "$interactive_command\n";
system("$interactive_command");
}
} else {
if(@ARGV) {
open(M,"| $batch_command") || die("mysql/psql/sqlplus not in path");
for(@ARGV) {
s/\\n/\n/g;
s/\\x0a/\n/gi;
print M "$_\n";
}
close M;
} else {
$::opt_debug and print "$batch_command\n";
$::opt_verbose and print "$batch_command\n";
system("$batch_command");
}
}
$err = $?>>8;
} while (--$retries and $err);

View file

@ -46,9 +46,9 @@ par_k() {
par_sigterm() {
echo '### Test SIGTERM'
parallel -k -j5 sleep 3';' echo ::: {1..99} >/tmp/parallel$$ 2>&1 &
parallel -k -j5 sleep 10';' echo ::: {1..99} >/tmp/parallel$$ 2>&1 &
A=$!
sleep 5; kill -TERM $A
sleep 19; kill -TERM $A
wait
sort /tmp/parallel$$
rm /tmp/parallel$$

View file

@ -0,0 +1,35 @@
#!/bin/bash
par_load_more_10s() {
echo '### Test --load locally - should take >10s'
echo '# This will run 10 processes in parallel for 10s';
seq 10 | parallel --nice 19 --timeout 13 -j0 -N0 "gzip < /dev/zero > /dev/null" &
sleep 2; stdout /usr/bin/time -f %e parallel --load 10 sleep ::: 1 | perl -ne '$_ > 10 and print "OK\n"'
}
par_load_file_less_10s() {
echo '### Test --load read from a file - less than 10s'
echo '# This will run 10 processes in parallel for 10s'
seq 10 | parallel --nice 19 --timeout 10 -j0 -N0 "gzip < /dev/zero > /dev/null" &
( echo 8 > /tmp/parallel_load_file2; sleep 10; echo 1000 > /tmp/parallel_load_file2 ) &
sleep 1
stdout /usr/bin/time -f %e parallel --load /tmp/parallel_load_file2 sleep ::: 1 |
perl -ne '$_ > 0.1 and $_ < 20 and print "OK\n"'
rm /tmp/parallel_load_file2
}
par_load_file_more_10s() {
echo '### Test --load read from a file - more than 10s'
echo '# This will run 10 processes in parallel for 10s'
seq 10 | parallel --nice 19 --timeout 10 -j0 -N0 "gzip < /dev/zero > /dev/null" &
( echo 8 > /tmp/parallel_load_file; sleep 10; echo 1000 > /tmp/parallel_load_file ) &
sleep 1
stdout /usr/bin/time -f %e parallel --load /tmp/parallel_load_file sleep ::: 1 |
perl -ne '$_ > 9 and print "OK\n"'
rm /tmp/parallel_load_file
}
export -f $(compgen -A function | grep par_)
#compgen -A function | grep par_ | sort | parallel --delay $D -j$P --tag -k '{} 2>&1'
compgen -A function | grep par_ | sort |
parallel --joblog /tmp/jl-`basename $0` -j200% --tag -k '{} 2>&1'

View file

@ -71,10 +71,10 @@ par_sqlandworker_total_jobs() {
p_template echo {#} of '{=1 $_=total_jobs(); =};'
}
par_append() {
par_append_different_cmd() {
parallel --sqlmaster $DBURL sleep .3\;echo ::: {1..5} ::: {a..e} >$T2;
parallel --sqlmaster +$DBURL sleep .3\;echo ::: {11..15} ::: {A..E} >>$T2;
parallel --sqlworker $DBURL sleep .3\;echo >$T1
parallel --sqlmaster +$DBURL sleep .3\;echo {2}-{1} ::: {11..15} ::: {A..E} >>$T2;
parallel --sqlworker $DBURL >$T1
}
par_shuf() {
@ -84,10 +84,10 @@ par_shuf() {
export PARALLEL="--shuf --result $T"
parallel --sqlandworker $DBURL sleep .3\;echo \
::: {1..5} ::: {a..e} >$T2;
parallel --sqlworker $DBURL sleep .3\;echo >$T2 &
parallel --sqlworker $DBURL sleep .3\;echo >$T2 &
parallel --sqlworker $DBURL sleep .3\;echo >$T2 &
parallel --sqlworker $DBURL sleep .3\;echo >$T2 &
parallel --sqlworker $DBURL >$T2 &
parallel --sqlworker $DBURL >$T2 &
parallel --sqlworker $DBURL >$T2 &
parallel --sqlworker $DBURL >$T2 &
unset PARALLEL
wait;
# Did it compute correctly?
@ -97,10 +97,10 @@ par_shuf() {
export PARALLEL="--result $T"
parallel --sqlandworker $DBURL sleep .3\;echo \
::: {1..5} ::: {a..e} >$T2;
parallel --sqlworker $DBURL sleep .3\;echo >$T2 &
parallel --sqlworker $DBURL sleep .3\;echo >$T2 &
parallel --sqlworker $DBURL sleep .3\;echo >$T2 &
parallel --sqlworker $DBURL sleep .3\;echo >$T2 &
parallel --sqlworker $DBURL >$T2 &
parallel --sqlworker $DBURL >$T2 &
parallel --sqlworker $DBURL >$T2 &
parallel --sqlworker $DBURL >$T2 &
unset PARALLEL
wait;
NOSHUF=$(sql $SERVERURL "select Host,Command,V1,V2,Stdout,Stderr from $TABLE order by seq;")
@ -122,7 +122,7 @@ par_sql_joblog() {
parallel -k --joblog - --sqlmaster $DBURL --wait sleep .3\;echo ::: {1..5} ::: {a..e} |
perl -pe 's/\d+\.\d+/999.999/g' | sort -n &
sleep 0.5
parallel -k --joblog - --sqlworker $DBURL sleep .3\;echo
parallel -k --joblog - --sqlworker $DBURL
wait
echo '### --sqlandworker'
parallel -k --joblog - --sqlandworker $DBURL sleep .3\;echo ::: {1..5} ::: {a..e} |
@ -133,6 +133,7 @@ par_sql_joblog() {
export -f $(compgen -A function | egrep 'p_|par_')
# Tested that -j0 in parallel is fastest (up to 15 jobs)
# more than 3 jobs: sqlite locks
compgen -A function | grep par_ | sort |
stdout parallel -vj3 -k --tag --joblog /tmp/jl-`basename $0` p_wrapper \
:::: - ::: \$MYSQL \$PG \$SQLITE

View file

@ -8,27 +8,4 @@ cat <<'EOF' | sed -e s/\$SERVER1/$SERVER1/\;s/\$SERVER2/$SERVER2/ | parallel -vj
echo '### bug #32191: Deep recursion on subroutine main::get_job_with_sshlogin'
seq 1 150 | stdout nice parallel -j9 --retries 2 -S localhost,: "/bin/non-existant 2>/dev/null"
echo '### Test --load locally - should take >10s'
echo '# This will run 10 processes in parallel for 10s';
seq 10 | parallel --nice 19 --timeout 13 -j0 -N0 "gzip < /dev/zero > /dev/null" &
sleep 2; stdout /usr/bin/time -f %e parallel --load 10 sleep ::: 1 | perl -ne '$_ > 10 and print "OK\n"'
echo '### Test --load read from a file - more than 3s'
echo '# This will run 10 processes in parallel for 10s';
seq 10 | parallel --nice 19 --timeout 10 -j0 -N0 "gzip < /dev/zero > /dev/null" &
( echo 8 > /tmp/parallel_load_file; sleep 10; echo 1000 > /tmp/parallel_load_file ) &
sleep 1;
stdout /usr/bin/time -f %e parallel --load /tmp/parallel_load_file sleep ::: 1 |
perl -ne '$_ > 9 and print "OK\n"';
rm /tmp/parallel_load_file
echo '### Test --load read from a file - less than 10s';
echo '# This will run 10 processes in parallel for 10s';
seq 10 | parallel --nice 19 --timeout 10 -j0 -N0 "gzip < /dev/zero > /dev/null" &
( echo 8 > /tmp/parallel_load_file2; sleep 10; echo 1000 > /tmp/parallel_load_file2 ) &
sleep 1;
stdout /usr/bin/time -f %e parallel --load /tmp/parallel_load_file2 sleep ::: 1 |
perl -ne '$_ < 20 and print "OK\n"';
rm /tmp/parallel_load_file2
EOF

View file

@ -956,11 +956,11 @@ par_sigterm 8
par_sigterm 9
par_sigterm parallel: SIGTERM received. No new jobs will be started.
par_sigterm parallel: Waiting for these 5 jobs to finish. Send SIGTERM again to stop now.
par_sigterm parallel: sleep 3; echo 10
par_sigterm parallel: sleep 3; echo 6
par_sigterm parallel: sleep 3; echo 7
par_sigterm parallel: sleep 3; echo 8
par_sigterm parallel: sleep 3; echo 9
par_sigterm parallel: sleep 10; echo 10
par_sigterm parallel: sleep 10; echo 6
par_sigterm parallel: sleep 10; echo 7
par_sigterm parallel: sleep 10; echo 8
par_sigterm parallel: sleep 10; echo 9
par_testhalt ### testhalt --halt now,fail=0
par_testhalt parallel: This job failed:
par_testhalt sleep 1.3; exit 1

View file

@ -1,4 +1,4 @@
par_linebuffer_matters_compress ### (--linebuffer) --compress --tag should give different output
par_linebuffer_matters_compress ### (--linebuffer) --compress should give different output
par_linebuffer_matters_compress OK: --linebuffer makes a difference
par_linebuffer_matters_compress_tag ### (--linebuffer) --compress --tag should give different output
par_linebuffer_matters_compress_tag OK: --linebuffer makes a difference

View file

@ -0,0 +1,9 @@
par_load_file_less_10s ### Test --load read from a file - less than 10s
par_load_file_less_10s # This will run 10 processes in parallel for 10s
par_load_file_less_10s OK
par_load_file_more_10s ### Test --load read from a file - more than 10s
par_load_file_more_10s # This will run 10 processes in parallel for 10s
par_load_file_more_10s OK
par_load_more_10s ### Test --load locally - should take >10s
par_load_more_10s # This will run 10 processes in parallel for 10s
par_load_more_10s OK

View file

@ -1,269 +1,269 @@
p_wrapper par_append \$MYSQL
par_append $MYSQL Exit=0
par_append $MYSQL Exit=0
par_append $MYSQL Host Command V1 V2 Stdout Stderr
par_append $MYSQL : sleep .3;echo 1 a 1 a 1 a\n
par_append $MYSQL : sleep .3;echo 1 b 1 b 1 b\n
par_append $MYSQL : sleep .3;echo 1 c 1 c 1 c\n
par_append $MYSQL : sleep .3;echo 1 d 1 d 1 d\n
par_append $MYSQL : sleep .3;echo 1 e 1 e 1 e\n
par_append $MYSQL : sleep .3;echo 2 a 2 a 2 a\n
par_append $MYSQL : sleep .3;echo 2 b 2 b 2 b\n
par_append $MYSQL : sleep .3;echo 2 c 2 c 2 c\n
par_append $MYSQL : sleep .3;echo 2 d 2 d 2 d\n
par_append $MYSQL : sleep .3;echo 2 e 2 e 2 e\n
par_append $MYSQL : sleep .3;echo 3 a 3 a 3 a\n
par_append $MYSQL : sleep .3;echo 3 b 3 b 3 b\n
par_append $MYSQL : sleep .3;echo 3 c 3 c 3 c\n
par_append $MYSQL : sleep .3;echo 3 d 3 d 3 d\n
par_append $MYSQL : sleep .3;echo 3 e 3 e 3 e\n
par_append $MYSQL : sleep .3;echo 4 a 4 a 4 a\n
par_append $MYSQL : sleep .3;echo 4 b 4 b 4 b\n
par_append $MYSQL : sleep .3;echo 4 c 4 c 4 c\n
par_append $MYSQL : sleep .3;echo 4 d 4 d 4 d\n
par_append $MYSQL : sleep .3;echo 4 e 4 e 4 e\n
par_append $MYSQL : sleep .3;echo 5 a 5 a 5 a\n
par_append $MYSQL : sleep .3;echo 5 b 5 b 5 b\n
par_append $MYSQL : sleep .3;echo 5 c 5 c 5 c\n
par_append $MYSQL : sleep .3;echo 5 d 5 d 5 d\n
par_append $MYSQL : sleep .3;echo 5 e 5 e 5 e\n
par_append $MYSQL : sleep .3;echo 11 A 11 A 11 A\n
par_append $MYSQL : sleep .3;echo 11 B 11 B 11 B\n
par_append $MYSQL : sleep .3;echo 11 C 11 C 11 C\n
par_append $MYSQL : sleep .3;echo 11 D 11 D 11 D\n
par_append $MYSQL : sleep .3;echo 11 E 11 E 11 E\n
par_append $MYSQL : sleep .3;echo 12 A 12 A 12 A\n
par_append $MYSQL : sleep .3;echo 12 B 12 B 12 B\n
par_append $MYSQL : sleep .3;echo 12 C 12 C 12 C\n
par_append $MYSQL : sleep .3;echo 12 D 12 D 12 D\n
par_append $MYSQL : sleep .3;echo 12 E 12 E 12 E\n
par_append $MYSQL : sleep .3;echo 13 A 13 A 13 A\n
par_append $MYSQL : sleep .3;echo 13 B 13 B 13 B\n
par_append $MYSQL : sleep .3;echo 13 C 13 C 13 C\n
par_append $MYSQL : sleep .3;echo 13 D 13 D 13 D\n
par_append $MYSQL : sleep .3;echo 13 E 13 E 13 E\n
par_append $MYSQL : sleep .3;echo 14 A 14 A 14 A\n
par_append $MYSQL : sleep .3;echo 14 B 14 B 14 B\n
par_append $MYSQL : sleep .3;echo 14 C 14 C 14 C\n
par_append $MYSQL : sleep .3;echo 14 D 14 D 14 D\n
par_append $MYSQL : sleep .3;echo 14 E 14 E 14 E\n
par_append $MYSQL : sleep .3;echo 15 A 15 A 15 A\n
par_append $MYSQL : sleep .3;echo 15 B 15 B 15 B\n
par_append $MYSQL : sleep .3;echo 15 C 15 C 15 C\n
par_append $MYSQL : sleep .3;echo 15 D 15 D 15 D\n
par_append $MYSQL : sleep .3;echo 15 E 15 E 15 E\n
par_append $MYSQL mysql: [Warning] Using a password on the command line interface can be insecure.
p_wrapper par_append \$PG
par_append $PG Exit=0
par_append $PG Exit=0
par_append $PG host | command | v1 | v2 | stdout | stderr
par_append $PG ------+--------------------+----+----+--------+--------
par_append $PG : | sleep .3;echo 1 a | 1 | a | 1 a +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 1 b | 1 | b | 1 b +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 1 c | 1 | c | 1 c +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 1 d | 1 | d | 1 d +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 1 e | 1 | e | 1 e +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 2 a | 2 | a | 2 a +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 2 b | 2 | b | 2 b +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 2 c | 2 | c | 2 c +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 2 d | 2 | d | 2 d +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 2 e | 2 | e | 2 e +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 3 a | 3 | a | 3 a +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 3 b | 3 | b | 3 b +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 3 c | 3 | c | 3 c +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 3 d | 3 | d | 3 d +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 3 e | 3 | e | 3 e +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 4 a | 4 | a | 4 a +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 4 b | 4 | b | 4 b +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 4 c | 4 | c | 4 c +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 4 d | 4 | d | 4 d +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 4 e | 4 | e | 4 e +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 5 a | 5 | a | 5 a +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 5 b | 5 | b | 5 b +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 5 c | 5 | c | 5 c +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 5 d | 5 | d | 5 d +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 5 e | 5 | e | 5 e +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 11 A | 11 | A | 11 A +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 11 B | 11 | B | 11 B +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 11 C | 11 | C | 11 C +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 11 D | 11 | D | 11 D +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 11 E | 11 | E | 11 E +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 12 A | 12 | A | 12 A +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 12 B | 12 | B | 12 B +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 12 C | 12 | C | 12 C +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 12 D | 12 | D | 12 D +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 12 E | 12 | E | 12 E +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 13 A | 13 | A | 13 A +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 13 B | 13 | B | 13 B +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 13 C | 13 | C | 13 C +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 13 D | 13 | D | 13 D +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 13 E | 13 | E | 13 E +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 14 A | 14 | A | 14 A +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 14 B | 14 | B | 14 B +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 14 C | 14 | C | 14 C +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 14 D | 14 | D | 14 D +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 14 E | 14 | E | 14 E +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 15 A | 15 | A | 15 A +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 15 B | 15 | B | 15 B +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 15 C | 15 | C | 15 C +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 15 D | 15 | D | 15 D +|
par_append $PG | | | | |
par_append $PG : | sleep .3;echo 15 E | 15 | E | 15 E +|
par_append $PG | | | | |
par_append $PG (50 rows)
par_append $PG
p_wrapper par_append \$SQLITE
par_append $SQLITE Exit=0
par_append $SQLITE Exit=0
par_append $SQLITE Host|Command|V1|V2|Stdout|Stderr
par_append $SQLITE :|sleep .3;echo 1 a|1|a|1 a
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 1 b|1|b|1 b
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 1 c|1|c|1 c
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 1 d|1|d|1 d
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 1 e|1|e|1 e
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 2 a|2|a|2 a
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 2 b|2|b|2 b
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 2 c|2|c|2 c
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 2 d|2|d|2 d
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 2 e|2|e|2 e
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 3 a|3|a|3 a
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 3 b|3|b|3 b
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 3 c|3|c|3 c
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 3 d|3|d|3 d
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 3 e|3|e|3 e
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 4 a|4|a|4 a
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 4 b|4|b|4 b
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 4 c|4|c|4 c
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 4 d|4|d|4 d
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 4 e|4|e|4 e
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 5 a|5|a|5 a
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 5 b|5|b|5 b
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 5 c|5|c|5 c
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 5 d|5|d|5 d
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 5 e|5|e|5 e
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 11 A|11|A|11 A
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 11 B|11|B|11 B
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 11 C|11|C|11 C
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 11 D|11|D|11 D
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 11 E|11|E|11 E
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 12 A|12|A|12 A
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 12 B|12|B|12 B
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 12 C|12|C|12 C
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 12 D|12|D|12 D
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 12 E|12|E|12 E
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 13 A|13|A|13 A
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 13 B|13|B|13 B
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 13 C|13|C|13 C
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 13 D|13|D|13 D
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 13 E|13|E|13 E
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 14 A|14|A|14 A
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 14 B|14|B|14 B
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 14 C|14|C|14 C
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 14 D|14|D|14 D
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 14 E|14|E|14 E
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 15 A|15|A|15 A
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 15 B|15|B|15 B
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 15 C|15|C|15 C
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 15 D|15|D|15 D
par_append $SQLITE |
par_append $SQLITE :|sleep .3;echo 15 E|15|E|15 E
par_append $SQLITE |
p_wrapper par_append_different_cmd \$MYSQL
par_append_different_cmd $MYSQL Exit=0
par_append_different_cmd $MYSQL Exit=0
par_append_different_cmd $MYSQL Host Command V1 V2 Stdout Stderr
par_append_different_cmd $MYSQL : sleep .3;echo 1 a 1 a 1 a\n
par_append_different_cmd $MYSQL : sleep .3;echo 1 b 1 b 1 b\n
par_append_different_cmd $MYSQL : sleep .3;echo 1 c 1 c 1 c\n
par_append_different_cmd $MYSQL : sleep .3;echo 1 d 1 d 1 d\n
par_append_different_cmd $MYSQL : sleep .3;echo 1 e 1 e 1 e\n
par_append_different_cmd $MYSQL : sleep .3;echo 2 a 2 a 2 a\n
par_append_different_cmd $MYSQL : sleep .3;echo 2 b 2 b 2 b\n
par_append_different_cmd $MYSQL : sleep .3;echo 2 c 2 c 2 c\n
par_append_different_cmd $MYSQL : sleep .3;echo 2 d 2 d 2 d\n
par_append_different_cmd $MYSQL : sleep .3;echo 2 e 2 e 2 e\n
par_append_different_cmd $MYSQL : sleep .3;echo 3 a 3 a 3 a\n
par_append_different_cmd $MYSQL : sleep .3;echo 3 b 3 b 3 b\n
par_append_different_cmd $MYSQL : sleep .3;echo 3 c 3 c 3 c\n
par_append_different_cmd $MYSQL : sleep .3;echo 3 d 3 d 3 d\n
par_append_different_cmd $MYSQL : sleep .3;echo 3 e 3 e 3 e\n
par_append_different_cmd $MYSQL : sleep .3;echo 4 a 4 a 4 a\n
par_append_different_cmd $MYSQL : sleep .3;echo 4 b 4 b 4 b\n
par_append_different_cmd $MYSQL : sleep .3;echo 4 c 4 c 4 c\n
par_append_different_cmd $MYSQL : sleep .3;echo 4 d 4 d 4 d\n
par_append_different_cmd $MYSQL : sleep .3;echo 4 e 4 e 4 e\n
par_append_different_cmd $MYSQL : sleep .3;echo 5 a 5 a 5 a\n
par_append_different_cmd $MYSQL : sleep .3;echo 5 b 5 b 5 b\n
par_append_different_cmd $MYSQL : sleep .3;echo 5 c 5 c 5 c\n
par_append_different_cmd $MYSQL : sleep .3;echo 5 d 5 d 5 d\n
par_append_different_cmd $MYSQL : sleep .3;echo 5 e 5 e 5 e\n
par_append_different_cmd $MYSQL : sleep .3;echo A-11 11 A A-11\n
par_append_different_cmd $MYSQL : sleep .3;echo B-11 11 B B-11\n
par_append_different_cmd $MYSQL : sleep .3;echo C-11 11 C C-11\n
par_append_different_cmd $MYSQL : sleep .3;echo D-11 11 D D-11\n
par_append_different_cmd $MYSQL : sleep .3;echo E-11 11 E E-11\n
par_append_different_cmd $MYSQL : sleep .3;echo A-12 12 A A-12\n
par_append_different_cmd $MYSQL : sleep .3;echo B-12 12 B B-12\n
par_append_different_cmd $MYSQL : sleep .3;echo C-12 12 C C-12\n
par_append_different_cmd $MYSQL : sleep .3;echo D-12 12 D D-12\n
par_append_different_cmd $MYSQL : sleep .3;echo E-12 12 E E-12\n
par_append_different_cmd $MYSQL : sleep .3;echo A-13 13 A A-13\n
par_append_different_cmd $MYSQL : sleep .3;echo B-13 13 B B-13\n
par_append_different_cmd $MYSQL : sleep .3;echo C-13 13 C C-13\n
par_append_different_cmd $MYSQL : sleep .3;echo D-13 13 D D-13\n
par_append_different_cmd $MYSQL : sleep .3;echo E-13 13 E E-13\n
par_append_different_cmd $MYSQL : sleep .3;echo A-14 14 A A-14\n
par_append_different_cmd $MYSQL : sleep .3;echo B-14 14 B B-14\n
par_append_different_cmd $MYSQL : sleep .3;echo C-14 14 C C-14\n
par_append_different_cmd $MYSQL : sleep .3;echo D-14 14 D D-14\n
par_append_different_cmd $MYSQL : sleep .3;echo E-14 14 E E-14\n
par_append_different_cmd $MYSQL : sleep .3;echo A-15 15 A A-15\n
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 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 mysql: [Warning] Using a password on the command line interface can be insecure.
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 host | command | v1 | v2 | stdout | stderr
par_append_different_cmd $PG ------+--------------------+----+----+--------+--------
par_append_different_cmd $PG : | sleep .3;echo 1 a | 1 | a | 1 a +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo 1 b | 1 | b | 1 b +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo 1 c | 1 | c | 1 c +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo 1 d | 1 | d | 1 d +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo 1 e | 1 | e | 1 e +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo 2 a | 2 | a | 2 a +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo 2 b | 2 | b | 2 b +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo 2 c | 2 | c | 2 c +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo 2 d | 2 | d | 2 d +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo 2 e | 2 | e | 2 e +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo 3 a | 3 | a | 3 a +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo 3 b | 3 | b | 3 b +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo 3 c | 3 | c | 3 c +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo 3 d | 3 | d | 3 d +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo 3 e | 3 | e | 3 e +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo 4 a | 4 | a | 4 a +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo 4 b | 4 | b | 4 b +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo 4 c | 4 | c | 4 c +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo 4 d | 4 | d | 4 d +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo 4 e | 4 | e | 4 e +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo 5 a | 5 | a | 5 a +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo 5 b | 5 | b | 5 b +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo 5 c | 5 | c | 5 c +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo 5 d | 5 | d | 5 d +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo 5 e | 5 | e | 5 e +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo A-11 | 11 | A | A-11 +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo B-11 | 11 | B | B-11 +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo C-11 | 11 | C | C-11 +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo D-11 | 11 | D | D-11 +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo E-11 | 11 | E | E-11 +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo A-12 | 12 | A | A-12 +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo B-12 | 12 | B | B-12 +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo C-12 | 12 | C | C-12 +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo D-12 | 12 | D | D-12 +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo E-12 | 12 | E | E-12 +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo A-13 | 13 | A | A-13 +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo B-13 | 13 | B | B-13 +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo C-13 | 13 | C | C-13 +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo D-13 | 13 | D | D-13 +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo E-13 | 13 | E | E-13 +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo A-14 | 14 | A | A-14 +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo B-14 | 14 | B | B-14 +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo C-14 | 14 | C | C-14 +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo D-14 | 14 | D | D-14 +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo E-14 | 14 | E | E-14 +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo A-15 | 15 | A | A-15 +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo B-15 | 15 | B | B-15 +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo C-15 | 15 | C | C-15 +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo D-15 | 15 | D | D-15 +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG : | sleep .3;echo E-15 | 15 | E | E-15 +|
par_append_different_cmd $PG | | | | |
par_append_different_cmd $PG (50 rows)
par_append_different_cmd $PG
p_wrapper par_append_different_cmd \$SQLITE
par_append_different_cmd $SQLITE Exit=0
par_append_different_cmd $SQLITE Exit=0
par_append_different_cmd $SQLITE Host|Command|V1|V2|Stdout|Stderr
par_append_different_cmd $SQLITE :|sleep .3;echo 1 a|1|a|1 a
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo 1 b|1|b|1 b
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo 1 c|1|c|1 c
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo 1 d|1|d|1 d
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo 1 e|1|e|1 e
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo 2 a|2|a|2 a
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo 2 b|2|b|2 b
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo 2 c|2|c|2 c
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo 2 d|2|d|2 d
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo 2 e|2|e|2 e
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo 3 a|3|a|3 a
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo 3 b|3|b|3 b
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo 3 c|3|c|3 c
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo 3 d|3|d|3 d
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo 3 e|3|e|3 e
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo 4 a|4|a|4 a
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo 4 b|4|b|4 b
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo 4 c|4|c|4 c
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo 4 d|4|d|4 d
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo 4 e|4|e|4 e
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo 5 a|5|a|5 a
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo 5 b|5|b|5 b
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo 5 c|5|c|5 c
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo 5 d|5|d|5 d
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo 5 e|5|e|5 e
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo A-11|11|A|A-11
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo B-11|11|B|B-11
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo C-11|11|C|C-11
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo D-11|11|D|D-11
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo E-11|11|E|E-11
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo A-12|12|A|A-12
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo B-12|12|B|B-12
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo C-12|12|C|C-12
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo D-12|12|D|D-12
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo E-12|12|E|E-12
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo A-13|13|A|A-13
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo B-13|13|B|B-13
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo C-13|13|C|C-13
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo D-13|13|D|D-13
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo E-13|13|E|E-13
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo A-14|14|A|A-14
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo B-14|14|B|B-14
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo C-14|14|C|C-14
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo D-14|14|D|D-14
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo E-14|14|E|E-14
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo A-15|15|A|A-15
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo B-15|15|B|B-15
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo C-15|15|C|C-15
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo D-15|15|D|D-15
par_append_different_cmd $SQLITE |
par_append_different_cmd $SQLITE :|sleep .3;echo E-15|15|E|E-15
par_append_different_cmd $SQLITE |
p_wrapper par_shuf \$MYSQL
par_shuf $MYSQL 1 a
par_shuf $MYSQL 1 b

View file

@ -75,11 +75,11 @@ parallel: Error: --pipepart is incompatible with --max-replace-args, --max-lines
echo '### bug #42893: --block should not cause decimals in cat_partial'
### bug #42893: --block should not cause decimals in cat_partial
seq 100000 >/tmp/parallel-decimal; parallel --dry-run -kvv --pipepart --block 0.12345M -a /tmp/parallel-decimal true; rm /tmp/parallel-decimal
</tmp/parallel-decimal perl -e 'while(@ARGV) { sysseek(STDIN,shift,0) || die; $left = shift; while($read = sysread(STDIN,$buf, ($left > 131072 ? 131072 : $left))){ $left -= $read; syswrite(STDOUT,$buf); } }' 0 0 0 129450 | (true)
</tmp/parallel-decimal perl -e 'while(@ARGV) { sysseek(STDIN,shift,0) || die; $left = shift; while($read = sysread(STDIN,$buf, ($left > 131072 ? 131072 : $left))){ $left -= $read; syswrite(STDOUT,$buf); } }' 0 0 129450 129450 | (true)
</tmp/parallel-decimal perl -e 'while(@ARGV) { sysseek(STDIN,shift,0) || die; $left = shift; while($read = sysread(STDIN,$buf, ($left > 131072 ? 131072 : $left))){ $left -= $read; syswrite(STDOUT,$buf); } }' 0 0 258900 129450 | (true)
</tmp/parallel-decimal perl -e 'while(@ARGV) { sysseek(STDIN,shift,0) || die; $left = shift; while($read = sysread(STDIN,$buf, ($left > 131072 ? 131072 : $left))){ $left -= $read; syswrite(STDOUT,$buf); } }' 0 0 388350 129450 | (true)
</tmp/parallel-decimal perl -e 'while(@ARGV) { sysseek(STDIN,shift,0) || die; $left = shift; while($read = sysread(STDIN,$buf, ($left > 131072 ? 131072 : $left))){ $left -= $read; syswrite(STDOUT,$buf); } }' 0 0 517800 71095 | (true)
</tmp/parallel-decimal perl -e 'while(@ARGV){sysseek(STDIN,shift,0)||die;$left=shift;while($read=sysread(STDIN,$buf,$left>131072?131072:$left)){$left-=$read;syswrite(STDOUT,$buf);}}' 0 0 0 129450 | (true)
</tmp/parallel-decimal perl -e 'while(@ARGV){sysseek(STDIN,shift,0)||die;$left=shift;while($read=sysread(STDIN,$buf,$left>131072?131072:$left)){$left-=$read;syswrite(STDOUT,$buf);}}' 0 0 129450 129450 | (true)
</tmp/parallel-decimal perl -e 'while(@ARGV){sysseek(STDIN,shift,0)||die;$left=shift;while($read=sysread(STDIN,$buf,$left>131072?131072:$left)){$left-=$read;syswrite(STDOUT,$buf);}}' 0 0 258900 129450 | (true)
</tmp/parallel-decimal perl -e 'while(@ARGV){sysseek(STDIN,shift,0)||die;$left=shift;while($read=sysread(STDIN,$buf,$left>131072?131072:$left)){$left-=$read;syswrite(STDOUT,$buf);}}' 0 0 388350 129450 | (true)
</tmp/parallel-decimal perl -e 'while(@ARGV){sysseek(STDIN,shift,0)||die;$left=shift;while($read=sysread(STDIN,$buf,$left>131072?131072:$left)){$left-=$read;syswrite(STDOUT,$buf);}}' 0 0 517800 71095 | (true)
echo '### bug #42902: profiles containing arguments with space'
### bug #42902: profiles containing arguments with space
echo "--rpl 'FULLPATH chomp(\$_=\"/bin/bash=\".\`readlink -f \$_\`);' " > ~/.parallel/FULLPATH; parallel -JFULLPATH echo FULLPATH ::: $0

View file

@ -906,7 +906,7 @@ _
/bin/bash: my_func2: command not found
parallel -vv --pipepart --block 1M wc :::: num30000
<num30000 perl -e 'while(@ARGV) { sysseek(STDIN,shift,0) || die; $left = shift; while($read = sysread(STDIN,$buf, ($left > 131072 ? 131072 : $left))){ $left -= $read; syswrite(STDOUT,$buf); } }' 0 0 0 168894 | (wc)
<num30000 perl -e 'while(@ARGV){sysseek(STDIN,shift,0)||die;$left=shift;while($read=sysread(STDIN,$buf,$left>131072?131072:$left)){$left-=$read;syswrite(STDOUT,$buf);}}' 0 0 0 168894 | (wc)
30000 30000 168894
my_func3() {
echo in my_func $1 > $1.out

View file

@ -72,7 +72,6 @@ mysql: [Warning] Using a password on the command line interface can be insecure.
### Test --debug
dburl mysql://sqlunittest:CB5A1FFFA5A@localhost:3306/sqlunittest
databasedriver mysql user sqlunittest password CB5A1FFFA5A host localhost port 3306 database sqlunittest query
mysql -C --host=localhost --user=sqlunittest --port=3306 --password=CB5A1FFFA5A sqlunittest
mysql: [Warning] Using a password on the command line interface can be insecure.
Test if --debug works
Yes it does
@ -82,34 +81,27 @@ Yes it does
### Test -r
dburl pg://nongood@127.0.0.3:2227/
databasedriver pg user nongood password host 127.0.0.3 port 2227 database nongood query
psql -h 127.0.0.3 -U nongood -p 2227 -d nongood
psql: could not connect to server: Connection refused
Is the server running on host "127.0.0.3" and accepting
TCP/IP connections on port 2227?
psql -h 127.0.0.3 -U nongood -p 2227 -d nongood
psql: could not connect to server: Connection refused
Is the server running on host "127.0.0.3" and accepting
TCP/IP connections on port 2227?
psql -h 127.0.0.3 -U nongood -p 2227 -d nongood
psql: could not connect to server: Connection refused
Is the server running on host "127.0.0.3" and accepting
TCP/IP connections on port 2227?
### Test --retries=s
dburl pg://nongood@127.0.0.3:2227/
databasedriver pg user nongood password host 127.0.0.3 port 2227 database nongood query
psql -h 127.0.0.3 -U nongood -p 2227 -d nongood
psql: could not connect to server: Connection refused
Is the server running on host "127.0.0.3" and accepting
TCP/IP connections on port 2227?
psql -h 127.0.0.3 -U nongood -p 2227 -d nongood
psql: could not connect to server: Connection refused
Is the server running on host "127.0.0.3" and accepting
TCP/IP connections on port 2227?
psql -h 127.0.0.3 -U nongood -p 2227 -d nongood
psql: could not connect to server: Connection refused
Is the server running on host "127.0.0.3" and accepting
TCP/IP connections on port 2227?
psql -h 127.0.0.3 -U nongood -p 2227 -d nongood
psql: could not connect to server: Connection refused
Is the server running on host "127.0.0.3" and accepting
TCP/IP connections on port 2227?

View file

@ -1,35 +0,0 @@
parallel: Warning: Only enough file handles to run 9 jobs in parallel.
parallel: Warning: Running 'parallel -j0 -N 9 --pipe parallel -j0' or
parallel: Warning: raising ulimit -n or /etc/security/limits.conf may help.
parallel: Warning: No more file handles.
parallel: Warning: Raising ulimit -n or /etc/security/limits.conf may help.
### Test SIGTERM
1
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
parallel: SIGTERM received. No new jobs will be started.
parallel: Waiting for these 8 jobs to finish. Send SIGTERM again to stop now.
parallel: Warning: Only enough file handles to run 8 jobs in parallel.
parallel: Warning: Running 'parallel -j0 -N 8 --pipe parallel -j0' or
parallel: Warning: raising ulimit -n or /etc/security/limits.conf may help.
parallel: sleep 3; echo 10
parallel: sleep 3; echo 11
parallel: sleep 3; echo 12
parallel: sleep 3; echo 13
parallel: sleep 3; echo 14
parallel: sleep 3; echo 15
parallel: sleep 3; echo 16
parallel: sleep 3; echo 9

View file

@ -1,19 +1,3 @@
echo '### bug #32191: Deep recursion on subroutine main::get_job_with_sshlogin'
### bug #32191: Deep recursion on subroutine main::get_job_with_sshlogin
seq 1 150 | stdout nice parallel -j9 --retries 2 -S localhost,: "/bin/non-existant 2>/dev/null"
echo '### Test --load locally - should take >10s'
### Test --load locally - should take >10s
echo '# This will run 10 processes in parallel for 10s'; seq 10 | parallel --nice 19 --timeout 13 -j0 -N0 "gzip < /dev/zero > /dev/null" &
# This will run 10 processes in parallel for 10s
sleep 2; stdout /usr/bin/time -f %e parallel --load 10 sleep ::: 1 | perl -ne '$_ > 10 and print "OK\n"'
OK
echo '### Test --load read from a file - more than 3s'
### Test --load read from a file - more than 3s
echo '# This will run 10 processes in parallel for 10s'; seq 10 | parallel --nice 19 --timeout 10 -j0 -N0 "gzip < /dev/zero > /dev/null" & ( echo 8 > /tmp/parallel_load_file; sleep 10; echo 1000 > /tmp/parallel_load_file ) & sleep 1; stdout /usr/bin/time -f %e parallel --load /tmp/parallel_load_file sleep ::: 1 | perl -ne '$_ > 9 and print "OK\n"'; rm /tmp/parallel_load_file
# This will run 10 processes in parallel for 10s
OK
echo '### Test --load read from a file - less than 10s'; echo '# This will run 10 processes in parallel for 10s'; seq 10 | parallel --nice 19 --timeout 10 -j0 -N0 "gzip < /dev/zero > /dev/null" &
### Test --load read from a file - less than 10s
# This will run 10 processes in parallel for 10s
( echo 8 > /tmp/parallel_load_file2; sleep 10; echo 1000 > /tmp/parallel_load_file2 ) & sleep 1; stdout /usr/bin/time -f %e parallel --load /tmp/parallel_load_file2 sleep ::: 1 | perl -ne '$_ < 20 and print "OK\n"'; rm /tmp/parallel_load_file2
OK