summaryrefslogtreecommitdiff
path: root/storage/tokudb/mysql-test/tokudb/t/fast_update_blobs.py
diff options
context:
space:
mode:
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.py57
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())