(command.AndOr ops: [Id.Op_DAmp] children: [ (command.ShFunction name: _sysbench body: (command.BraceGroup children: [ (C {<local>} {<cur>} {<prev>} {<words>} {<cword>} {<split>}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<_init_completion>} {<-s>}) (command.ControlFlow token:<Id.ControlFlow_Return return>) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$prev')} arms: [ (case_arm pat_list: [ {<--num-threads>} {<--max-requests>} {<--max-time>} {<--thread-stack-size>} {<--help>} {<--version>} {<help>} {<version>} ] action: [(command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<0>})] spids: [41 59 67 -1] ) (case_arm pat_list: [{<--init-rng>} {<--debug>} {<--validate>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'on off'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [78] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [70 75 107 -1] ) (case_arm pat_list: [{<--test>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'fileio cpu memory threads mutex oltp'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [114] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [110 111 145 -1] ) (case_arm pat_list: [{<--cpu-max-prime>}] action: [(command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<0>})] spids: [148 149 157 -1] ) (case_arm pat_list: [{<--file-test-mode>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'seqwr seqrewr seqrd rndrd rndwr rndrw'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [164] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [160 161 195 -1] ) (case_arm pat_list: [{<--file-io-mode>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'sync async fastmmap slowmmap'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [202] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [198 199 233 -1] ) (case_arm pat_list: [{<--file-extra-flags>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'sync dsync direct'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [240] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [236 237 269 -1] ) (case_arm pat_list: [{<--file-fsync-all>} {<--file-fsync-end>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'on off'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [278] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [272 275 307 -1] ) (case_arm pat_list: [{<--file-fsync-mode>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'fsync fdatasync'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [314] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [310 311 343 -1] ) (case_arm pat_list: [{<--memory-scope>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'global local'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [350] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [346 347 379 -1] ) (case_arm pat_list: [{<--memory-hugetlb>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'on off'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [386] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [382 383 415 -1] ) (case_arm pat_list: [{<--memory-oper>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'read write none'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [422] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [418 419 451 -1] ) (case_arm pat_list: [{<--memory-access-mode>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'seq rnd'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [458] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [454 455 487 -1] ) (case_arm pat_list: [{<--oltp-test-mode>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'simple complex nontrx sp'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [494] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [490 491 523 -1] ) (case_arm pat_list: [{<--oltp-read-only>} {<--oltp-skip-trx>} {<--oltp-quto-inc>} {<--mysql-ssl>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'on off'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [536] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [526 533 565 -1] ) (case_arm pat_list: [{<--oltp-nontrx-mode>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} { (SQ <'select update_key update_nokey insert\n'> <' delete'> ) } {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [572] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [568 569 602 -1] ) (case_arm pat_list: [{<--oltp-dist-type>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'uniform gaussian special'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [609] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [605 606 638 -1] ) (case_arm pat_list: [{<--db-driver>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (command.Simple words: [ {($ Id.VSub_Number '$1')} {<--test> <Id.Lit_Equals '='> <oltp>} {<help>} ] redirects: [ (redir.Redir op: <Id.Redir_Great '2>'> fd: 2 arg_word: {</dev/null>} ) ] ) (C {<sed>} {<-e>} { (SQ < '/^.*database drivers:/,/^$/!d' > ) } {<-ne>} {(SQ <'s/^ *\\([^ ]*\\) .*/\\1/p'>)} ) ] negated: F ) ] ) ) ) } {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [645] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [641 642 706 -1] ) (case_arm pat_list: [{<--db-ps-mode>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'auto disable'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [713] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [709 710 742 -1] ) (case_arm pat_list: [{<--mysql-socket>}] action: [ (C {<_filedir>} {<sock>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [745 746 759 -1] ) (case_arm pat_list: [{<--mysql-table-engine>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} { (SQ <'myisam innodb bdb heap ndbcluster\n'> <' federated'> ) } {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [766] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [762 763 796 -1] ) (case_arm pat_list: [{<--mysql-engine-trx>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'yes no auto'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [803] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [799 800 832 -1] ) (case_arm pat_list: [{<--> <Id.Lit_Star '*'>}] action: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {($ Id.VSub_DollarName '$split')}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] ) ] spids: [835 837 849 -1] ) ] ) (C {<local>} {<i>} {<test>}) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) right: (arith_expr.Binary op_id: Id.Arith_Minus left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name words> prefix_op: (Id.VSub_Pound) bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (braced_var_sub token: <Id.VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.VarRef token: <Id.Lit_ArithVarLike i> ) ) ) } right: {<--test> <Id.Lit_Other '*'>} ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) ) suffix_op: (suffix_op.Unary op_id: Id.VOp1_Pound arg_word: {<'*='>} ) ) } spids: [925] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [903 922] ) ] ) ] ) ) (C {<local>} {<Id.Lit_VarLike 'opts='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<_parse_help>} {(DQ ($ Id.VSub_Number '$1'))})] ) ) } ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.WordTest w:{($ Id.VSub_DollarName '$test')}) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<local>} {<Id.Lit_VarLike 'help='> (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<_parse_help>} {(DQ ($ Id.VSub_Number '$1'))} {(DQ <'--test='> ($ Id.VSub_DollarName '$test') <' help'>)} ) ] ) ) } ] ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opts) op: assign_op.Equal rhs: { (DQ (braced_var_sub token: <Id.VSub_Name opts> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) suffix_op: (suffix_op.PatSub pat: {<'--test='>} replace: (word.Empty) replace_mode: Id.Undefined_Tok ) ) <' '> (braced_var_sub token:<Id.VSub_Name help> bracket_op:(bracket_op.WholeArray op_id:Id.Lit_At)) <' prepare run cleanup help version'> ) } spids: [996] ) ] ) ] spids: [960 969] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.LogicalOr left: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$cur'))} right: {<-> <Id.Lit_Other '*'>} ) right: (bool_expr.LogicalNot child: (bool_expr.WordTest w:{($ Id.VSub_DollarName '$test')}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(DQ ($ Id.VSub_DollarName '$opts'))} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1047] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_DollarName '$COMPREPLY')} right: {<Id.Lit_Other '*'> <Id.BoolBinary_GlobEqual '='>} ) ) (C {<compopt>} {<-o>} {<nospace>}) ] ) ] spids: [1022 1044] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(DQ <'prepare run cleanup help version'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1094] ) ] ) ] ) ] ) ) (C {<complete>} {<-F>} {<_sysbench>} {<sysbench>}) ] )