# messenger -odbc_torture
if { $odbc_torture } {
global sql
set myerr ""
set myerr_cnt 0
set user "guest"
puts "TORTURING MySQL ODBC Driver with mysql_real_escape_string'ed BLOBs"
for { set sze 65536 } { $myerr_cnt < 1 } { set sze [expr $sze * 2] } {
connect_database -user $sql(user) -password $sql(password) -db $sql(db) -host $sql(host)
mysql Query "SET CHARACTER SET latin1"
set fn "BLOB SIZE IS $sze"
set text $fn
puts "*** $fn"
# Load the file and convert it to ASCII.
# It's the way to send it to the server
binascii ba
ba random_fill_bin $sze
mysql Query "INSERT INTO `[get_setting personal_database]`.`$user` \
(`object`,`type`,`blob`,`message`,`date`,`time`) \
VALUES('$fn','$sze', \
'[mysql escape [ba data] [ba bin_size]]','$text',CURDATE(),CURTIME())"
mysql escape_free
set myerr [mysql Error]
if { $myerr != "" } {
puts "TORTURE COMPLAINED with $myerr: size $sze"
incr myerr_cnt
} else {
# puts "Started writing"
# set f [open c:/$sze.sql w]
# puts $f "INSERT INTO `[get_setting personal_database]`.`$user` \
# (`object`,`type`,`blob`,`message`,`date`,`time`) \
# VALUES('$fn','$sze', \
# '[mysql escape [ba data] [ba bin_size]]','$text',CURDATE(),CURTIME())"
#
#close $f
#puts "Finished writing"
}
}
puts "TORTURE FINISHED with $myerr: size $sze"
}