#!/bin/bash my="/home/sveta/sandboxes/msb_5_6_24/use "; explains="/home/sveta/sandboxes/msb_5_6_24/explains.new"; if [[ $# -lt 3 ]]; then { echo "Usage: resetai.sh ;"; exit 1; } fi; cache_size=$1 tables_count=$2 sleep=$3; engine=$4 [[ -f $explains ]] && rm -vf $explains; $my -e "DROP DATABASE IF EXISTS TESTAI; CREATE DATABASE TESTAI;"; $my -e "SET GLOBAL table_open_cache=${cache_size}"; echo "USE TESTAI;" > $explains; for i in $(seq 1 ${tables_count}); do { $my -e "CREATE TABLE TESTAI.t${i} (i INT NOT NULL AUTO_INCREMENT PRIMARY KEY, c CHAR(32) NOT NULL) ENGINE ${engine};"; echo "EXPLAIN SELECT * FROM t${i}, t1 AS t WHERE t.i > 10 AND t.c='abc';" >> $explains; } done; $my -e "DROP TABLE IF EXISTS TESTAI.every5minutes"; $my -e "CREATE TABLE TESTAI.every5minutes ( Id int(11) NOT NULL AUTO_INCREMENT, ActionId int(11) NOT NULL DEFAULT '0', ItemId int(11) NOT NULL DEFAULT '0', PRIMARY KEY (Id), KEY ActionId (ActionId), KEY ItemId (ItemId) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 CHECKSUM=1;"; $my -e "INSERT INTO TESTAI.every5minutes SET id=2; INSERT INTO TESTAI.every5minutes SET id=3; DELETE FROM TESTAI.every5minutes where id=3;"; auto_inc_initial=$($my -BNe "SHOW TABLE STATUS FROM TESTAI LIKE 'every5minutes'" |awk '{print $11}'); echo -ne "initial auto-inc value: ${auto_inc_initial}... "; $my -e "SOURCE ${explains};" 1> /dev/null; echo "Sleeping ${sleep}"; sleep ${sleep}; auto_inc_final=$($my -BNe "SHOW TABLE STATUS FROM TESTAI LIKE 'every5minutes'" |awk '{print $11}'); echo -ne "final auto-inc value: ${auto_inc_final}\n"; status_string="Passed"; if [[ ${auto_inc_initial} -ne ${auto_inc_final} ]]; then { status_string="FAILED!!"; } fi; echo "${status_string}, with ${tables_count} ${engine} tables and table_open_cache=${cache_size}; sleep set to ${sleep}.";