Skip to content

Commit 9ccf61e

Browse files
author
Giuseppe Maxia
committed
Added simpler test using shell script
1 parent 730490a commit 9ccf61e

File tree

1 file changed

+72
-0
lines changed

1 file changed

+72
-0
lines changed

sql_test.sh

+72
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
#!/bin/bash
2+
3+
MYSQL=$1
4+
5+
if [ -z "$MYSQL" ]
6+
then
7+
echo "Syntax: $0 mysql_connection "
8+
echo "Where 'mysql_connection is your client invocation"
9+
echo "Examples:"
10+
echo " mysql # (when using \$HOME/.my.cnf)"
11+
echo " 'mysql -u something -psomepass -P3307'"
12+
echo " 'mysql --defaults-file=/some/path/my.cnf'"
13+
echo " \$HOME/sandboxes/msb_5_7_9/use"
14+
echo ""
15+
exit 1
16+
fi
17+
18+
EXPECTED=(
19+
departments:9:3737256214
20+
dept_emp:331603:1015881734
21+
dept_manager:24:2275236704
22+
employees:300024:610052939
23+
salaries:2844047:4273816835
24+
titles:443308:1842528371
25+
)
26+
27+
function get_expected
28+
{
29+
table=$1
30+
field=$2
31+
for E in ${EXPECTED[*]}
32+
do
33+
t=$(echo $E | tr ':' ' ' | awk '{print $1}')
34+
count=$(echo $E | tr ':' ' ' | awk '{print $2}')
35+
crc=$(echo $E | tr ':' ' ' | awk '{print $3}')
36+
if [ "$t" == "$table" ]
37+
then
38+
if [ "$field" == "count" ]
39+
then
40+
echo $count
41+
else
42+
echo $crc
43+
fi
44+
return
45+
fi
46+
done
47+
}
48+
49+
printf "%-15s %-10s %-15s \n" table count crc
50+
echo '--------------- ---------- ---------------'
51+
for T in $($MYSQL -BN -e 'show tables from employees')
52+
do
53+
CRC_TEXT=$($MYSQL -BN -e "checksum table $T" employees)
54+
COUNT=$($MYSQL -BN -e "select count(*) from $T" employees)
55+
CRC=$(echo $CRC_TEXT | awk '{print $2}')
56+
expected_crc=$(get_expected $T crc)
57+
expected_count=$(get_expected $T count)
58+
if [ "$expected_count" == "$COUNT" ]
59+
then
60+
COUNT_RESULT=OK
61+
else
62+
COUNT_RESULT=DIFFERS
63+
fi
64+
if [ "$expected_crc" == "$CRC" ]
65+
then
66+
CRC_RESULT=OK
67+
else
68+
CRC_RESULT=DIFFERS
69+
fi
70+
printf "%-15s %'10d %'15d (%-7s %-7s)\n" $T $COUNT $CRC $COUNT_RESULT $CRC_RESULT
71+
done
72+

0 commit comments

Comments
 (0)