diff options
Diffstat (limited to 'storage/tokudb/mysql-test/tokudb/t/fast_update_blobs.py')
-rw-r--r-- | storage/tokudb/mysql-test/tokudb/t/fast_update_blobs.py | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/storage/tokudb/mysql-test/tokudb/t/fast_update_blobs.py b/storage/tokudb/mysql-test/tokudb/t/fast_update_blobs.py new file mode 100644 index 00000000000..06b89626120 --- /dev/null +++ b/storage/tokudb/mysql-test/tokudb/t/fast_update_blobs.py @@ -0,0 +1,57 @@ +#!/usr/bin/env python + +import sys +import random +import string + +def main(): + print "# generated by tokudb_fast_update_blobs.py" + print "source include/have_tokudb.inc;" + print "source include/have_innodb.inc;" + print "set default_storage_engine='tokudb';" + print "disable_warnings;" + print "drop table if exists t;" + print "enable_warnings;" + + nrows = 10 + + blob_types = [ 'tinyblob', 'blob', 'mediumblob', 'longblob', 'text' ] + for a in blob_types: + for b in blob_types: + for c in blob_types: + for n in [ 'null', 'not null' ]: + test_blobs([ a, b, c ] , n, nrows) + return 0 + +def test_blobs(cols, n, nrows): + print "create table tt (id bigint unsigned primary key," + # print " f0 int %s," % (n) + for i in range(len(cols)): + if i < len(cols)-1: + print " b%d %s %s," % (i, cols[i], n) + else: + print " b%d %s %s" % (i, cols[i], n) + print ") engine=tokudb;" + + for id in range(1,nrows): + if n == 'null': + print "insert into tt (id) values (%d);" % (id) + else: + print "insert into tt values (%d,'','','');" % (id) + + print "create table ti like tt;" + print "alter table ti engine=innodb;" + print "insert into ti select * from tt;" + + for id in range(1,nrows): + for i in range(3): + long_str = ''.join(random.choice(string.ascii_uppercase + string.digits) for x in range(random.randint(1,32))) + print "update noar tt set b%d='%s' where id=%d;" % (i, long_str, id) + print "update noar ti set b%d='%s' where id=%d;" % (i, long_str, id) + + print "let $diff_tables = test.tt, test.ti;" + print "source include/diff_tables.inc;" + + print "drop table tt, ti;" + +sys.exit(main()) |