1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
|
# bash completion for sysbench -*- shell-script -*-
_comp_cmd_sysbench()
{
local cur prev words cword was_split comp_args
_comp_initialize -s -- "$@" || return
case $prev in
--num-threads | --max-requests | --max-time | --thread-stack-size | \
--help | --version | help | version)
return
;;
--init-rng | --debug | --validate)
_comp_compgen -- -W 'on off'
return
;;
--test)
_comp_compgen -- -W 'fileio cpu memory threads mutex oltp'
return
;;
--cpu-max-prime)
return
;;
--file-test-mode)
_comp_compgen -- -W 'seqwr seqrewr seqrd rndrd rndwr rndrw'
return
;;
--file-io-mode)
_comp_compgen -- -W 'sync async fastmmap slowmmap'
return
;;
--file-extra-flags)
_comp_compgen -- -W 'sync dsync direct'
return
;;
--file-fsync-all | --file-fsync-end)
_comp_compgen -- -W 'on off'
return
;;
--file-fsync-mode)
_comp_compgen -- -W 'fsync fdatasync'
return
;;
--memory-scope)
_comp_compgen -- -W 'global local'
return
;;
--memory-hugetlb)
_comp_compgen -- -W 'on off'
return
;;
--memory-oper)
_comp_compgen -- -W 'read write none'
return
;;
--memory-access-mode)
_comp_compgen -- -W 'seq rnd'
return
;;
--oltp-test-mode)
_comp_compgen -- -W 'simple complex nontrx sp'
return
;;
--oltp-read-only | --oltp-skip-trx | --oltp-quto-inc | --mysql-ssl)
_comp_compgen -- -W 'on off'
return
;;
--oltp-nontrx-mode)
_comp_compgen -- -W 'select update_key update_nokey insert delete'
return
;;
--oltp-dist-type)
_comp_compgen -- -W 'uniform gaussian special'
return
;;
--db-driver)
_comp_compgen_split -- "$("$1" --test=oltp help 2>/dev/null |
command sed -e '/^.*database drivers:/,/^$/!d' \
-ne 's/^ *\([^ ]*\) .*/\1/p')"
return
;;
--db-ps-mode)
_comp_compgen -- -W 'auto disable'
return
;;
--mysql-socket)
_comp_compgen_filedir sock
return
;;
--mysql-table-engine)
_comp_compgen -- -W 'myisam innodb bdb heap ndbcluster federated'
return
;;
--mysql-engine-trx)
_comp_compgen -- -W 'yes no auto'
return
;;
--*)
[[ $was_split ]] && return
;;
esac
# find out which test we're running
local i test="" has_test=""
for ((i = 1; i < ${#words[@]} - 1; i++)); do
# TODO --test= is deprecated, bare test name preferred
if [[ ${words[i]} == --test=* ]]; then
test=${words[i]#*=}
has_test=set
break
fi
done
local opts
_comp_compgen -v opts help
if [[ $has_test ]]; then
opts=("${opts[@]/#--test=/}")
_comp_compgen -aRv opts help -- --test="$test" help
opts+=(prepare run cleanup help version)
fi
if [[ $cur == -* || ! $has_test ]]; then
_comp_compgen -- -W '"${opts[@]}"'
[[ ${COMPREPLY-} == *= ]] && compopt -o nospace
else
_comp_compgen -- -W "prepare run cleanup help version"
fi
} &&
complete -F _comp_cmd_sysbench sysbench
# ex: filetype=sh
|