summaryrefslogtreecommitdiff
path: root/storage/tokudb/mysql-test/tokudb/t/fast_update_int_bounds.test
diff options
context:
space:
mode:
Diffstat (limited to 'storage/tokudb/mysql-test/tokudb/t/fast_update_int_bounds.test')
-rw-r--r--storage/tokudb/mysql-test/tokudb/t/fast_update_int_bounds.test87
1 files changed, 87 insertions, 0 deletions
diff --git a/storage/tokudb/mysql-test/tokudb/t/fast_update_int_bounds.test b/storage/tokudb/mysql-test/tokudb/t/fast_update_int_bounds.test
new file mode 100644
index 00000000000..cf354243236
--- /dev/null
+++ b/storage/tokudb/mysql-test/tokudb/t/fast_update_int_bounds.test
@@ -0,0 +1,87 @@
+source include/have_tokudb.inc;
+source include/have_innodb.inc;
+
+set default_storage_engine='tokudb';
+
+disable_warnings;
+drop table if exists t;
+enable_warnings;
+
+create table tt (id int primary key, x int);
+insert into tt values (1,0),(2,-pow(2,31)),(3,pow(2,31)-1);
+create table ti like tt;
+alter table ti engine=innodb;
+insert into ti select * from tt;
+
+set tokudb_disable_slow_update=1;
+
+update noar tt set x=x+1 where id=1;
+update noar ti set x=x+1 where id=1;
+let $diff_tables = test.tt, test.ti;
+source include/diff_tables.inc;
+
+update noar tt set x=x-2 where id=1;
+update noar ti set x=x-2 where id=1;
+let $diff_tables = test.tt, test.ti;
+source include/diff_tables.inc;
+
+update noar tt set x=x+1 where id=1;
+update noar ti set x=x+1 where id=1;
+let $diff_tables = test.tt, test.ti;
+source include/diff_tables.inc;
+
+update noar tt set x=x-1 where id=2;
+update noar ti set x=x-1 where id=2;
+let $diff_tables = test.tt, test.ti;
+source include/diff_tables.inc;
+
+update noar tt set x=x+1 where id=2;
+update noar ti set x=x+1 where id=2;
+let $diff_tables = test.tt, test.ti;
+source include/diff_tables.inc;
+
+update noar tt set x=x+1 where id=3;
+update noar ti set x=x+1 where id=3;
+let $diff_tables = test.tt, test.ti;
+source include/diff_tables.inc;
+
+update noar tt set x=x-1 where id=3;
+update noar ti set x=x-1 where id=3;
+let $diff_tables = test.tt, test.ti;
+source include/diff_tables.inc;
+
+# test clip at maximum
+insert into tt values (4,pow(2,31)-10);
+insert into ti values (4,pow(2,31)-10);
+update noar tt set x=x+20 where id=4;
+update noar ti set x=x+20 where id=4;
+let $diff_tables = test.tt, test.ti;
+source include/diff_tables.inc;
+
+insert into tt values (5,pow(2,31)-10);
+insert into ti values (5,pow(2,31)-10);
+update noar tt set x=x - -20 where id=5;
+update noar ti set x=x - -20 where id=5;
+let $diff_tables = test.tt, test.ti;
+source include/diff_tables.inc;
+
+# test clip at minimum
+insert into tt values (6,-pow(2,31)+10);
+insert into ti values (6,-pow(2,31)+10);
+update noar tt set x=x-20 where id=6;
+update noar ti set x=x-20 where id=6;
+let $diff_tables = test.tt, test.ti;
+source include/diff_tables.inc;
+
+insert into tt values (7,-pow(2,31)+10);
+insert into ti values (7,-pow(2,31)+10);
+update noar tt set x=x + -20 where id=7;
+update noar ti set x=x + -20 where id=7;
+let $diff_tables = test.tt, test.ti;
+source include/diff_tables.inc;
+
+
+drop table tt, ti;
+
+
+