1#!/usr/bin/env sysbench 2-- Copyright (C) 2006-2017 Alexey Kopytov <akopytov@gmail.com> 3 4-- This program is free software; you can redistribute it and/or modify 5-- it under the terms of the GNU General Public License as published by 6-- the Free Software Foundation; either version 2 of the License, or 7-- (at your option) any later version. 8 9-- This program is distributed in the hope that it will be useful, 10-- but WITHOUT ANY WARRANTY; without even the implied warranty of 11-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12-- GNU General Public License for more details. 13 14-- You should have received a copy of the GNU General Public License 15-- along with this program; if not, write to the Free Software 16-- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 18-- ---------------------------------------------------------------------- 19-- Read/Write OLTP benchmark 20-- ---------------------------------------------------------------------- 21 22require("oltp_common") 23 24function prepare_statements() 25 if not sysbench.opt.skip_trx then 26 prepare_begin() 27 prepare_commit() 28 end 29 30 prepare_point_selects() 31 32 if sysbench.opt.range_selects then 33 prepare_simple_ranges() 34 prepare_sum_ranges() 35 prepare_order_ranges() 36 prepare_distinct_ranges() 37 end 38 39 prepare_index_updates() 40 prepare_non_index_updates() 41 prepare_delete_inserts() 42end 43 44function event() 45 if not sysbench.opt.skip_trx then 46 begin() 47 end 48 49 execute_point_selects() 50 51 if sysbench.opt.range_selects then 52 execute_simple_ranges() 53 execute_sum_ranges() 54 execute_order_ranges() 55 execute_distinct_ranges() 56 end 57 58 execute_index_updates() 59 execute_non_index_updates() 60 execute_delete_inserts() 61 62 if not sysbench.opt.skip_trx then 63 commit() 64 end 65end 66