addition: where | _digit ) | UNION SELECT * FROM B where; addition_no_procedure: where | subquery | join where | union where; alter_base_table: ALTER online ignore TABLE base_table_item_n alter_base_temp_table_part; alter_base_temp_table_part: COMMENT = 'UPDATED NOW()' | ENGINE = engine; alter_database: ALTER database_schema database_name_n database_spec; alter_function: ALTER FUNCTION function_item_n COMMENT 'UPDATED NOW()'; alter_merge_table: ALTER online ignore TABLE merge_table_item_n COMMENT = 'UPDATED NOW()'; alter_part_table: ALTER online ignore TABLE part_table_item_n alter_part_table_part; alter_part_table_part: PARTITION BY LINEAR HASH(pk) PARTITIONS 3 | COMMENT = 'UPDATED NOW()'; alter_procedure: ALTER PROCEDURE procedure_item_n COMMENT 'UPDATED NOW()'; alter_temp_table: ALTER online ignore TABLE temp_table_item_n alter_base_temp_table_part; alter_view: ALTER ALGORITHM = view_algoritm VIEW view_table_item_n AS used_select; analyze_table: ANALYZE not_to_binlog_local TABLE table_list; as: ; base_table_ddl: create_base_table | drop_base_table | alter_base_table | base_table_sequence; base_table_item: base_table_item_s | base_table_item_n; base_table_item_list: base_table_item | base_table_item , base_table_item; base_table_item_list_n: base_table_item_n | base_table_item_n , base_table_item_n; base_table_item_list_s: base_table_item_s | base_table_item_s , base_table_item_s; base_table_item_n: database_name . base_table_name_n { $base_table_item_n = $database_name . " . " . $base_table_name_n ; $base_table_item = $base_table_item_n ; return undef }; base_table_item_s: ; base_table_name: base_table_name_s | base_table_name_n; base_table_name_n: { $base_table_name_n = "t1_" . $base_piece . $prng->int(1,$name_space_width) . $normal_piece ; $base_table_name = $base_table_name_n }; base_table_name_s: { $base_table_name_s = "t1_" . $base_piece . $prng->int(1,$name_space_width) . $sequence_piece ; $base_table_name = $base_table_name_s }; base_table_sequence: $sequence_begin CREATE TABLE if_not_exists base_table_item_s LIKE template_table_item ; ALTER TABLE $base_table_item_s ENGINE = engine ; INSERT INTO $base_table_item_s SELECT * FROM $template_table_item ; COMMIT ; wait_till_drop_table ; DROP TABLE $base_table_item_s $sequence_end; base_temp_view_table_item: base_temp_view_table_item_s | base_temp_view_table_item; base_temp_view_table_item_n: base_table_item_n | temp_table_item_n | view_table_item_n | part_table_item_n; base_temp_view_table_item_s: base_table_item_s | temp_table_item_s | view_table_item_s | part_table_item_s; braced_table_field_list: ( _field_list ); build_partner1: CREATE TABLE if_not_exists $mp1 LIKE $template_table_item ; ALTER TABLE $mp1 ENGINE = MyISAM ; INSERT INTO $mp1 SELECT * FROM $template_table_item; build_partner2: CREATE TABLE if_not_exists $mp2 LIKE $template_table_item ; ALTER TABLE $mp2 ENGINE = MyISAM ; INSERT INTO $mp2 SELECT * FROM $template_table_item; cache_results: ; check_table: CHECK TABLE table_list check_table_options; check_table_options: | FOR UPGRADE | QUICK | FAST | MEDIUM | EXTENDED | CHANGED; checksum_table: CHECKSUM TABLE table_list quick_extended; collapse_names_for_normal_seq: { $sequence_piece="_A" ; $normal_piece="_A" ; return undef }; collapse_names_for_table_types: { $base_piece="all_" ; $temp_piece="all_" ; $merge_piece="all_" ; $part_piece="all_" ; $view_piece="all_" ; $sequence_piece="_S" ; $normal_piece="_N" ; return undef }; concurrent: | CONCURRENT; correlated: subquery_part1 A.`pk` ); create_base_table: CREATE TABLE if_not_exists base_table_item_n create_table_part; create_database: CREATE database_schema if_not_exists database_name_n database_spec; create_function: CREATE FUNCTION function_item_n () RETURNS INTEGER BEGIN func_statement ; func_statement ; RETURN 1 ; END; create_merge: CREATE TABLE if_not_exists $mt LIKE $template_table_item ; ALTER TABLE $mt ENGINE = MERGE UNION ( $mp1 , $mp2 ); COMMIT; create_merge_table: merge_init_n build_partner1 ; build_partner2 ; create_merge; create_part_table: CREATE TABLE if_not_exists part_table_item_n ENGINE = MyISAM PARTITION BY KEY (pk) PARTITIONS 2 AS used_select; create_procedure: CREATE PROCEDURE procedure_item_n () BEGIN proc_stmt ; proc_stmt ; END; create_table_part: LIKE template_table_item ; ALTER TABLE $base_table_item_n ENGINE = engine ; INSERT INTO $base_table_item_n SELECT * FROM $template_table_item | AS used_select; create_temp_table: CREATE TABLE if_not_exists temp_table_item_n create_table_part; create_trigger: CREATE TRIGGER trigger_item_n trigger_time trigger_event ON base_table_name_n FOR EACH ROW BEGIN trigger_action ; END; create_view: CREATE view_replace ALGORITHM = view_algoritm VIEW view_table_item_n AS used_select; database_ddl: DROP DATABASE { $database_name_n = "testdb" . $normal_piece ; $database_name = $database_name_n }; database_name: database_name_s | database_name_n; database_name_n: { $database_name_n = "testdb" . $normal_piece ; $database_name = $database_name_n }; database_name_s: { $database_name_s = "testdb" . $sequence_piece ; $database_name = $database_name_s }; database_schema: DATABASE; database_sequence: $sequence_begin CREATE database_schema database_name_s ; wait_till_drop_database ; DROP database_schema $database_name_s $sequence_end; database_spec: default_word CHARACTER SET equal utf8 | default_word COLLATE equal utf8_bin; ddl: DROP DATABASE { $database_name_n = "testdb" . $normal_piece ; $database_name = $database_name_n }; default_word: | DEFAULT; delayed: ; delete: delete_normal | delete_with_sleep; delete_normal: DELETE low_priority quick FROM table_item WHERE `pk` > _digit ORDER BY `pk` LIMIT _digit | DELETE low_priority quick A , B FROM table_item AS A join where | DELETE low_priority quick A FROM table_item AS A where_subquery; delete_with_sleep: DELETE low_priority quick FROM table_item WHERE `pk` + wait_short = _digit; dml: dml2 | PREPARE st1 FROM " dml2 " ; EXECUTE st1 ; DEALLOCATE PREPARE st1; dml2: select | CALL | show; do: SELECT COUNT(*) FROM table_item_s WHERE `pk` BETWEEN _digit AND $_digit + 20; drop_base_table: DROP TABLE if_exists base_table_item_n restrict_cascade; drop_database: DROP DATABASE { $database_name_n = "testdb" . $normal_piece ; $database_name = $database_name_n }; drop_function: DROP FUNCTION if_exists function_item_n; drop_merge_table: DROP TABLE if_exists merge_table_item_n; drop_part_table: DROP TABLE if_exists part_table_item_n; drop_procedure: DROP PROCEDURE if_exists procedure_item_n; drop_table_list: DROP temporary TABLE if_exists table_no_view_item_n , table_no_view_item_n restrict_cascade; drop_temp_table: DROP TABLE if_exists temp_table_item_n; drop_trigger: DROP TRIGGER if_exists trigger_item_n; drop_view: DROP VIEW if_exists view_table_item_n restrict_cascade; dump_load_data_sequence: generate_outfile ; LOAD DATA low_priority_concurrent INFILE tmpnam replace_ignore INTO TABLE table_item; engine: # MEMORY | # MyISAM | InnoDB; equal: | =; extended: | EXTENDED; flush: FLUSH TABLE table_list | FLUSH TABLES WITH READ LOCK; for_update: | FOR UPDATE; for_update_lock_in_share_mode: | LOCK IN SHARE MODE; from_in: FROM | IN; full: | FULL; func_statement: SET @my_var = 1 | SELECT MAX( _field ) FROM table_item INTO @my_var; function_ddl: create_function | drop_function | alter_function | function_sequence; function_item: ; function_item_n: ; function_item_s: ; function_name: function_name_s | function_name_n; function_name_n: { $function_name_n = "f1_" . $prng->int(1,$name_space_width) . $normal_piece ; $function_name = $function_name_n }; function_name_s: { $function_name_s = "f1_" . $prng->int(1,$name_space_width) . $sequence_piece ; $function_name = $function_name_s }; function_sequence: $sequence_begin CREATE FUNCTION function_item_s () RETURNS INTEGER RETURN ( SELECT MOD( COUNT( DISTINCT _field ) , 10 ) FROM table_item_s ) ; COMMIT ; SELECT wait_short ; DROP FUNCTION $function_item_s $sequence_end; generate_outfile: SELECT * FROM template_table_name INTO OUTFILE _tmpnam; handler: handler_open | handler_read | handler_close; handler_close: HANDLER table_no_view_item CLOSE; handler_open: HANDLER table_no_view_item OPEN with_alias; handler_read: HANDLER table_no_view_item READ FIRST handler_read_part; handler_read_part: | where; have_some_initial_objects: create_database ; some_base_tables ; some_temp_tables ; some_merge_tables ; some_part_tables ; some_view_tables; high_priority: | HIGH_PRIORITY; if_exists: ; if_not_exists: | IF NOT EXISTS; ignore: | IGNORE; init_basics: { $life_time_unit = 1 ; $name_space_width = 2 ; return undef } ; separated_name_spaces ; nothing_disabled; insert: insert_normal | insert_with_sleep; insert_method: | INSERT_METHOD = insert_method_value; insert_method_value: NO | FIRST | LAST; insert_normal: INSERT low_priority_delayed_high_priority into_word table_item braced_table_field_list used_select on_duplicate_key_update; insert_with_sleep: INSERT INTO table_item ( _field_list ) SELECT _field_list[invariant] FROM table_item WHERE wait_short = 0 LIMIT 1; into: INTO OUTFILE _tmpnam; into_object: OUTFILE _tmpnam; into_word: | INTO; join: ; like_table_name: LIKE 't1_%'; local: | LOCAL; lock: LOCK TABLES lock_list; lock_item: table_item AS _letter lock_type; lock_list: lock_item | lock_item , lock_item; lock_share: LOCK IN SHARE MODE; lock_type: READ local | low_priority WRITE | IN SHARE MODE nowait | IN EXCLUSIVE MODE nowait; lock_unlock: unlock; low_priority: ; low_priority_concurrent: | low_priority | concurrent; low_priority_delayed: | low_priority | delayed; low_priority_delayed_high_priority: | low_priority | delayed | high_priority; merge_init_n: /* merge_table_item_n { $mt = $merge_table_item_n ; return undef } consists of ( base_table_item_n { $mp1 = $base_table_item_n ; return undef } , base_table_item_n { $mp2 = $base_table_item_n ; return undef } ) based on template_table_item */; merge_init_s: /* merge_table_item_s { $mt = $merge_table_item_s ; return undef } consists of ( base_table_item_s { $mp1 = $base_table_item_s ; return undef } , base_table_item_s { $mp2 = $base_table_item_s ; return undef } ) based on template_table_item */; merge_table_ddl: create_merge_table | drop_merge_table | alter_merge_table | merge_table_sequence; merge_table_item: merge_table_item_s | merge_table_item_n; merge_table_item_list: merge_table_item | merge_table_item , merge_table_item; merge_table_item_list_n: merge_table_item_n | merge_table_item_n , merge_table_item_n; merge_table_item_list_s: merge_table_item_s | merge_table_item_s , merge_table_item_s; merge_table_item_n: database_name . merge_table_name_n { $merge_table_item_n = $database_name . " . " . $merge_table_name_n ; $merge_table_item = $merge_table_item_n ; return undef }; merge_table_item_s: database_name_s . merge_table_name_s { $merge_table_item_s = $database_name_s . " . " . $merge_table_name_s ; $merge_table_item = $merge_table_item_s ; return undef }; merge_table_name: merge_table_name_s | merge_table_name_n; merge_table_name_n: { $merge_table_name_n = "t1_" . $merge_piece . $prng->int(1,$name_space_width) . $normal_piece ; $merge_table_name = $merge_table_name_n }; merge_table_name_s: { $merge_table_name_s = "t1_" . $merge_piece . $prng->int(1,$name_space_width) . $sequence_piece ; $merge_table_name = $merge_table_name_s }; merge_table_sequence: $sequence_begin merge_init_s build_partner1 ; build_partner2 ; create_merge ; wait_till_drop_table ; DROP TABLE $mt $sequence_end; non_correlated: _digit ); not_to_binlog_local: | NO_WRITE_TO_BINLOG | LOCAL; nothing_disabled: { $sequence_begin = "/* Sequence start */" ; $sequence_end = "/* Sequence end */" ; return undef }; nowait: NOWAIT | ; on_duplicate_key_update: | ON DUPLICATE KEY UPDATE _field = _digit; online: ; optimize_table: OPTIMIZE not_to_binlog_local TABLE table_list; part_table_ddl: create_part_table | drop_part_table | part_table_sequence; part_table_item: part_table_item_s | part_table_item_n; part_table_item_list: part_table_item | part_table_item , part_table_item; part_table_item_list_n: part_table_item_n | part_table_item_n , part_table_item_n; part_table_item_list_s: part_table_item_s | part_table_item_s , part_table_item_s; part_table_item_n: database_name . part_table_name_n { $part_table_item_n = $database_name . " . " . $part_table_name_n ; $part_table_item = $part_table_item_n ; return undef }; part_table_item_s: database_name_s . part_table_name_s { $part_table_item_s = $database_name_s . " . " . $part_table_name_s ; $part_table_item = $part_table_item_s ; return undef }; part_table_name: part_table_name_s | part_table_name_n; part_table_name_n: { $part_table_name_n = "t1_" . $part_piece . $prng->int(1,$name_space_width) . $normal_piece ; $part_table_name = $part_table_name_n }; part_table_name_s: { $part_table_name_s = "t1_" . $part_piece . $prng->int(1,$name_space_width) . $sequence_piece ; $part_table_name = $part_table_name_s }; part_table_sequence: $sequence_begin CREATE TABLE if_not_exists part_table_item_s AS SELECT * FROM template_table_item ; COMMIT ; wait_till_drop_table ; DROP TABLE $part_table_item_s $sequence_end; pick_create_base_table_n: if (scalar(@dropped_base_tables_n) > 0) { $created_base_table = shift @dropped_base_tables } else { $created_base_table = $prng->letter() } ; push @created_base_tables, $created_base_table ; $created_base_table }; proc_stmt: select | insert; procedure_analyze: ; procedure_ddl: create_procedure | drop_procedure | alter_procedure | procedure_sequence; procedure_item: ; procedure_item_n: database_name . procedure_name_n { $procedure_item_n = $database_name . " . " . $procedure_name_n ; $procedure_item = $procedure_item_n ; return undef }; procedure_item_s: database_name_s . procedure_name_s { $procedure_item_s = $database_name_s . " . " . $procedure_name_s ; $procedure_item = $procedure_item_s ; return undef }; procedure_name: procedure_name_s | procedure_name_n; procedure_name_n: { $procedure_name_n = "p1_" . $prng->int(1,$name_space_width) . $normal_piece ; $procedure_name = $procedure_name_n }; procedure_name_s: { $procedure_name_s = "p1_" . $prng->int(1,$name_space_width) . $sequence_piece ; $procedure_name = $procedure_name_s }; procedure_sequence: $sequence_begin CREATE PROCEDURE procedure_item_s () BEGIN proc_stmt ; proc_stmt ; END ; COMMIT ; SELECT wait_short ; DROP PROCEDURE $procedure_item_s $sequence_end; query: dml | DROP DATABASE { $database_name_n = "testdb" . $normal_piece ; $database_name = $database_name_n }; query_init: init_basics ; stress_optimization ; have_some_initial_objects; quick: | QUICK; quick_extended: | quick | extended; rand_val: { $rand_val = $prng->int(0,100) / 100 }; rename_item: base_table_item_n TO base_table_item_n | temp_table_item_n TO temp_table_item_n | merge_table_item_n TO merge_table_item_n | part_table_item_n TO part_table_item_n; rename_item_list: rename_item | rename_item , rename_item; rename_table: RENAME TABLE rename_item_list; repair_table: REPAIR not_to_binlog_local TABLE table_list quick extended; replace: ; replace_ignore: | replace_option | ignore; replace_option: | REPLACE; restrict_cascade: | RESTRICT | CASCADE; select: select_normal | SELECT 1 FROM table_item_s WHERE SLEEP( 0.5 * { $rand_val = $prng->int(0,100) / 100 } * $life_time_unit ) = 0 LIMIT 1; select_normal: select_part1 addition INTO OUTFILE _tmpnam for_update_lock_in_share_mode; select_part1: SELECT high_priority cache_results table_field_list FROM A; select_with_sleep: SELECT 1 FROM table_item_s WHERE SLEEP( 0.5 * { $rand_val = $prng->int(0,100) / 100 } * $life_time_unit ) = 0 LIMIT 1; separated_name_spaces: { $base_piece="base_" ; $temp_piece="temp_" ; $merge_piece="merge_" ; $part_piece="part_" ; $view_piece="view_" ; $sequence_piece="_S" ; $normal_piece="_N" ; return undef }; show: SHOW CREATE TABLE | SHOW TABLE STATUS | SHOW CREATE FUNCTION | SHOW TRIGGERS LIKE 'tr1_%'; show_columns: ; show_columns_part: | LIKE '%INT%'; show_create_function: SHOW CREATE FUNCTION function_item; show_create_procedure: SHOW CREATE PROCEDURE procedure_item; show_create_table: SHOW CREATE TABLE table_item_s; show_create_trigger: SHOW CREATE TRIGGER trigger_item; show_create_view: SHOW CREATE VIEW { $database_name_s = "testdb" . $sequence_piece ; $database_name = $database_name_s } . { $view_table_name_s = "t1_" . $view_piece . $prng->int(1,$name_space_width) . $sequence_piece ; $view_table_name = $view_table_name_s } { $view_table_item_s = $database_name_s . " . " . $view_table_name_s ; $view_table_item = $view_table_item_s ; return undef }; show_function_code: SHOW FUNCTION CODE function_item; show_function_status: SHOW FUNCTION STATUS show_function_status_part; show_function_status_part: | LIKE 'f1_%'; show_procedure_code: SHOW PROCEDURE CODE; show_procedure_status: ; show_procedure_status_part: | LIKE 'p1_%'; show_table_status: SHOW TABLE STATUS; show_table_status_part: ; show_tables: SHOW TABLES show_tables_part; show_tables_part: | like_table_name; show_triggers: SHOW TRIGGERS LIKE 'tr1_%'; show_triggers_part: LIKE 'tr1_%'; some_base_tables: create_base_table ; create_base_table ; create_base_table ; create_base_table; some_merge_tables: create_merge_table ; create_merge_table ; create_merge_table ; create_merge_table; some_part_tables: create_part_table ; create_part_table ; create_part_table ; create_part_table; some_temp_tables: create_temp_table ; create_temp_table ; create_temp_table ; create_temp_table; some_view_tables: create_view ; create_view ; create_view ; create_view; sql_buffer_result: | SQL_BUFFER_RESULT; sql_cache: | SQL_CACHE; sql_no_cache: ; stress_optimization: { if ( $ENV{RQG_THREADS} == 1 ) { $life_time_unit = 0 ; $sequence_piece="_A" ; $normal_piece="_A" ; $sequence_begin = "/* Start disabled stuff " ; $sequence_end = " End disabled stuff */"} ; return undef }; subquery: _digit ); subquery_part1: ; table_field_list: _field_list | *; table_in_select: ; table_item: table_item_s; table_item_n: base_table_item_n | temp_table_item_n | merge_table_item_n | view_table_item_n | part_table_item_n; table_item_s: ; table_list: table_item | table_item , table_item; table_maintenance_ddl: analyze_table | optimize_table | checksum_table | check_table | repair_table; table_no_view_item: table_no_view_item_s | table_no_view_item_n; table_no_view_item_n: base_table_item_n | temp_table_item_n | merge_table_item_n | part_table_item_n; table_no_view_item_s: base_table_item_s | temp_table_item_s | merge_table_item_s | part_table_item_s; table_word: | TABLE; temp_table_ddl: create_temp_table | drop_temp_table | alter_temp_table; temp_table_item: temp_table_item_s | temp_table_item_n; temp_table_item_list: temp_table_item | temp_table_item , temp_table_item; temp_table_item_list_n: temp_table_item_n | temp_table_item_n , temp_table_item_n; temp_table_item_list_s: temp_table_item_s | temp_table_item_s , temp_table_item_s; temp_table_item_n: database_name . temp_table_name_n { $temp_table_item_n = $database_name . " . " . $temp_table_name_n ; $temp_table_item = $temp_table_item_n ; return undef }; temp_table_item_s: ; temp_table_name: temp_table_name_s | temp_table_name_n; temp_table_name_n: { $temp_table_name_n = "t1_" . $temp_piece . $prng->int(1,$name_space_width) . $normal_piece ; $temp_table_name = $temp_table_name_n }; temp_table_name_s: { $temp_table_name_s = "t1_" . $temp_piece . $prng->int(1,$name_space_width) . $sequence_piece ; $temp_table_name = $temp_table_name_s }; template_table_item: test . template_table_name { $template_table_item = "test . " . $template_table_name ; return undef }; template_table_name: { $template_table_name = $prng->arrayElement($executors->[0]->tables()) }; temporary: | /* TEMPORARY */; transaction: START TRANSACTION | COMMIT | ROLLBACK | SAVEPOINT A | ROLLBACK TO SAVEPOINT A | KILL QUERY _digit + 5 | KILL _digit + 5; trigger_action: insert | replace | delete | update | CALL procedure_item; trigger_ddl: create_trigger | drop_trigger | trigger_sequence; trigger_event: INSERT | DELETE; trigger_item: trigger_item_s | trigger_item_n; trigger_item_n: database_name . trigger_name_n { $trigger_item_n = $database_name . " . " . $trigger_name_n ; $trigger_item = $trigger_item_n ; return undef }; trigger_item_s: database_name_s . trigger_name_s { $trigger_item_s = $database_name_s . " . " . $trigger_name_s ; $trigger_item = $trigger_item_s ; return undef }; trigger_name: trigger_name_s | trigger_name_n; trigger_name_n: { $trigger_name_n = "tr1_" . $prng->int(1,$name_space_width) . $normal_piece ; $trigger_name = $trigger_name_n }; trigger_name_s: { $trigger_name_s = "tr1_" . $prng->int(1,$name_space_width) . $sequence_piece ; $trigger_name = $trigger_name_s }; trigger_sequence: $sequence_begin CREATE TRIGGER trigger_item_s trigger_time trigger_event ON table_item_s FOR EACH ROW BEGIN trigger_action ; END ; COMMIT ; SELECT wait_short ; DROP TRIGGER $trigger_item_s $sequence_end; trigger_time: BEFORE | AFTER; truncate_table: TRUNCATE table_word table_no_view_item_n; union: UNION SELECT * FROM B; unlock: UNLOCK TABLES; update: UPDATE ignore table_item_s SET _field = _digit WHERE `pk` > _digit ORDER BY `pk` LIMIT _digit; update_normal: UPDATE ignore table_item_s SET _field = _digit WHERE `pk` > _digit ORDER BY `pk` LIMIT _digit; update_with_sleep: UPDATE low_priority ignore table_item SET _field = _digit WHERE wait_short = 0 ORDER BY `pk` LIMIT 1; use_frm: | USE_FRM; used_select: select_part1 addition_no_procedure for_update_lock_in_share_mode; view_algoritm: UNDEFINED | MERGE | TEMPTABLE; view_ddl: create_view | drop_view | alter_view | view_sequence; view_replace: | OR REPLACE; view_sequence: $sequence_begin CREATE ALGORITHM = view_algoritm VIEW view_table_item_s AS used_select ; COMMIT ; SELECT wait_short ; DROP VIEW $view_table_item_s $sequence_end; view_table_item: { $database_name_s = "testdb" . $sequence_piece ; $database_name = $database_name_s } . { $view_table_name_s = "t1_" . $view_piece . $prng->int(1,$name_space_width) . $sequence_piece ; $view_table_name = $view_table_name_s } { $view_table_item_s = $database_name_s . " . " . $view_table_name_s ; $view_table_item = $view_table_item_s ; return undef }; view_table_item_list: view_table_item | view_table_item , view_table_item; view_table_item_list_n: view_table_item_n | view_table_item_n , view_table_item_n; view_table_item_list_s: view_table_item_s | view_table_item_s , view_table_item_s; view_table_item_n: database_name . view_table_name_n { $view_table_item_n = $database_name . " . " . $view_table_name_n ; $view_table_item = $view_table_item_n ; return undef }; view_table_item_s: { $database_name_s = "testdb" . $sequence_piece ; $database_name = $database_name_s } . { $view_table_name_s = "t1_" . $view_piece . $prng->int(1,$name_space_width) . $sequence_piece ; $view_table_name = $view_table_name_s } { $view_table_item_s = $database_name_s . " . " . $view_table_name_s ; $view_table_item = $view_table_item_s ; return undef }; view_table_name: view_table_name_s | view_table_name_n; view_table_name_n: { $view_table_name_n = "t1_" . $view_piece . $prng->int(1,$name_space_width) . $normal_piece ; $view_table_name = $view_table_name_n }; view_table_name_s: { $view_table_name_s = "t1_" . $view_piece . $prng->int(1,$name_space_width) . $sequence_piece ; $view_table_name = $view_table_name_s }; wait_short: SLEEP( 0.5 * { $rand_val = $prng->int(0,100) / 100 } * $life_time_unit ); wait_till_drop_database: SELECT SLEEP( 2 * rand_val * $life_time_unit ); wait_till_drop_table: SELECT SLEEP( rand_val * $life_time_unit ); where: | WHERE `pk` BETWEEN _digit AND _digit; where_subquery: where | subquery; with_alias: | as A;