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 132 133
|
# bash completion for sysbench -*- shell-script -*-
_sysbench()
{
local cur prev words cword split
_init_completion -s || return
case $prev in
--num-threads|--max-requests|--max-time|--thread-stack-size| \
--help|--version|help|version)
return 0
;;
--init-rng|--debug|--validate)
COMPREPLY=( $( compgen -W 'on off' -- "$cur" ) )
return 0
;;
--test)
COMPREPLY=( $( compgen -W 'fileio cpu memory threads mutex oltp' \
-- "$cur" ) )
return 0
;;
--cpu-max-prime)
return 0
;;
--file-test-mode)
COMPREPLY=( $( compgen -W 'seqwr seqrewr seqrd rndrd rndwr rndrw' \
-- "$cur" ) )
return 0
;;
--file-io-mode)
COMPREPLY=( $( compgen -W 'sync async fastmmap slowmmap' \
-- "$cur" ) )
return 0
;;
--file-extra-flags)
COMPREPLY=( $( compgen -W 'sync dsync direct' -- "$cur" ) )
return 0
;;
--file-fsync-all|--file-fsync-end)
COMPREPLY=( $( compgen -W 'on off' -- "$cur" ) )
return 0
;;
--file-fsync-mode)
COMPREPLY=( $( compgen -W 'fsync fdatasync' -- "$cur" ) )
return 0
;;
--memory-scope)
COMPREPLY=( $( compgen -W 'global local' -- "$cur" ) )
return 0
;;
--memory-hugetlb)
COMPREPLY=( $( compgen -W 'on off' -- "$cur" ) )
return 0
;;
--memory-oper)
COMPREPLY=( $( compgen -W 'read write none' -- "$cur" ) )
return 0
;;
--memory-access-mode)
COMPREPLY=( $( compgen -W 'seq rnd' -- "$cur" ) )
return 0
;;
--oltp-test-mode)
COMPREPLY=( $( compgen -W 'simple complex nontrx sp' -- "$cur" ) )
return 0
;;
--oltp-read-only|--oltp-skip-trx|--oltp-quto-inc|--mysql-ssl)
COMPREPLY=( $( compgen -W 'on off' -- "$cur" ) )
return 0
;;
--oltp-nontrx-mode)
COMPREPLY=( $( compgen -W 'select update_key update_nokey insert
delete' -- "$cur" ) )
return 0
;;
--oltp-dist-type)
COMPREPLY=( $( compgen -W 'uniform gaussian special' -- "$cur" ) )
return 0
;;
--db-driver)
COMPREPLY=( $( compgen -W "$( $1 --test=oltp help 2>/dev/null |
sed -e '/^.*database drivers:/,/^$/!d' \
-ne 's/^ *\([^ ]*\) .*/\1/p' )" -- "$cur" ) )
return 0
;;
--db-ps-mode)
COMPREPLY=( $( compgen -W 'auto disable' -- "$cur" ) )
return 0
;;
--mysql-socket)
_filedir sock
return 0
;;
--mysql-table-engine)
COMPREPLY=( $( compgen -W 'myisam innodb bdb heap ndbcluster
federated' -- "$cur" ) )
return 0
;;
--mysql-engine-trx)
COMPREPLY=( $( compgen -W 'yes no auto' -- "$cur" ) )
return 0
;;
--*)
$split && return 0
;;
esac
# find out which test we're running
local i test
for (( i=1 ; $i < ${#words[@]}-1 ; i++ )); do
if [[ ${words[i]} == --test* ]]; then
test=${words[i]#*=}
break
fi
done
local opts=$( _parse_help "$1" )
if [[ $test ]]; then
local help=( $( _parse_help "$1" "--test=$test help" ) )
opts="${opts[@]/--test=/} ${help[@]} prepare run cleanup help version"
fi
if [[ "$cur" == -* || ! $test ]]; then
COMPREPLY=( $( compgen -W "$opts" -- "$cur" ) )
[[ $COMPREPLY == *= ]] && compopt -o nospace
else
COMPREPLY=( $( compgen -W "prepare run cleanup help version" \
-- "$cur" ) )
fi
} &&
complete -F _sysbench sysbench
# ex: ts=4 sw=4 et filetype=sh
|