mirror of
https://github.com/Gator96100/ProxSpace.git
synced 2025-03-12 04:36:22 -07:00
133 lines
4.0 KiB
Bash
133 lines
4.0 KiB
Bash
# 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
|
|
;;
|
|
--init-rng | --debug | --validate)
|
|
COMPREPLY=($(compgen -W 'on off' -- "$cur"))
|
|
return
|
|
;;
|
|
--test)
|
|
COMPREPLY=($(compgen -W 'fileio cpu memory threads mutex oltp' \
|
|
-- "$cur"))
|
|
return
|
|
;;
|
|
--cpu-max-prime)
|
|
return
|
|
;;
|
|
--file-test-mode)
|
|
COMPREPLY=($(compgen -W 'seqwr seqrewr seqrd rndrd rndwr rndrw' \
|
|
-- "$cur"))
|
|
return
|
|
;;
|
|
--file-io-mode)
|
|
COMPREPLY=($(compgen -W 'sync async fastmmap slowmmap' -- "$cur"))
|
|
return
|
|
;;
|
|
--file-extra-flags)
|
|
COMPREPLY=($(compgen -W 'sync dsync direct' -- "$cur"))
|
|
return
|
|
;;
|
|
--file-fsync-all | --file-fsync-end)
|
|
COMPREPLY=($(compgen -W 'on off' -- "$cur"))
|
|
return
|
|
;;
|
|
--file-fsync-mode)
|
|
COMPREPLY=($(compgen -W 'fsync fdatasync' -- "$cur"))
|
|
return
|
|
;;
|
|
--memory-scope)
|
|
COMPREPLY=($(compgen -W 'global local' -- "$cur"))
|
|
return
|
|
;;
|
|
--memory-hugetlb)
|
|
COMPREPLY=($(compgen -W 'on off' -- "$cur"))
|
|
return
|
|
;;
|
|
--memory-oper)
|
|
COMPREPLY=($(compgen -W 'read write none' -- "$cur"))
|
|
return
|
|
;;
|
|
--memory-access-mode)
|
|
COMPREPLY=($(compgen -W 'seq rnd' -- "$cur"))
|
|
return
|
|
;;
|
|
--oltp-test-mode)
|
|
COMPREPLY=($(compgen -W 'simple complex nontrx sp' -- "$cur"))
|
|
return
|
|
;;
|
|
--oltp-read-only | --oltp-skip-trx | --oltp-quto-inc | --mysql-ssl)
|
|
COMPREPLY=($(compgen -W 'on off' -- "$cur"))
|
|
return
|
|
;;
|
|
--oltp-nontrx-mode)
|
|
COMPREPLY=($(compgen -W 'select update_key update_nokey insert
|
|
delete' -- "$cur"))
|
|
return
|
|
;;
|
|
--oltp-dist-type)
|
|
COMPREPLY=($(compgen -W 'uniform gaussian special' -- "$cur"))
|
|
return
|
|
;;
|
|
--db-driver)
|
|
COMPREPLY=($(compgen -W "$($1 --test=oltp help 2>/dev/null |
|
|
command sed -e '/^.*database drivers:/,/^$/!d' \
|
|
-ne 's/^ *\([^ ]*\) .*/\1/p')" -- "$cur"))
|
|
return
|
|
;;
|
|
--db-ps-mode)
|
|
COMPREPLY=($(compgen -W 'auto disable' -- "$cur"))
|
|
return
|
|
;;
|
|
--mysql-socket)
|
|
_filedir sock
|
|
return
|
|
;;
|
|
--mysql-table-engine)
|
|
COMPREPLY=($(compgen -W 'myisam innodb bdb heap ndbcluster
|
|
federated' -- "$cur"))
|
|
return
|
|
;;
|
|
--mysql-engine-trx)
|
|
COMPREPLY=($(compgen -W 'yes no auto' -- "$cur"))
|
|
return
|
|
;;
|
|
--*)
|
|
$split && return
|
|
;;
|
|
esac
|
|
|
|
# find out which test we're running
|
|
local i 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]#*=}
|
|
break
|
|
fi
|
|
done
|
|
|
|
local opts=$(_parse_help "$1")
|
|
if [[ -v test ]]; then
|
|
local help=($(_parse_help "$1" "--test=$test help"))
|
|
opts="${opts/--test=/} ${help[*]} prepare run cleanup help version"
|
|
fi
|
|
|
|
if [[ $cur == -* || ! -v 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: filetype=sh
|