#!/bin/bash #MYSQL='mysql --no-defaults --user test -v --show-warnings test' MYSQL='mysql --no-defaults --user test test' tname='bitz' sql () { if [ "$1" == "-v" ] ; then shift echo "### SQL: $*" fi $MYSQL --execute "$*" } clean () { local engine=$1 sql "drop table if exists ${tname}_${engine}" } create () { local engine=$1 local name="${tname}_${engine}" sql "create table $name (bitfld bit, numfld int(1)) Engine=$engine DEFAULT CHARSET=latin1" sql "show create table $name" } for engine in MyISAM InnoDB do clean $engine create $engine done while read values ; do for fields in 'bitfld, numfld' 'numfld, bitfld' do for engine in MyISAM InnoDB do name="${tname}_${engine}" sql -v "insert into $name ($fields) values $values" sql "select bitfld & 1 bitfld, numfld from $name" sql "delete from $name" done done done << VALUES (0, 0), (1, 1), (2, 2) ('0', '0'), ('1', '1'), ('2', '2') ('0', 0), ('1', 1), ('2', 2) (0, '0'), (1, '1'), (2, '2') VALUES