-- source include/have_ndb.inc
-- source include/not_embedded.inc

--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings

set @val = "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF";
set @val2 = 0x0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF;


CREATE TABLE t1 (
  pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
  attr1 VARCHAR(1024),
  attr2 VARBINARY(1024),
  attr3 TEXT
) ROW_FORMAT=DYNAMIC ENGINE=ndbcluster;

CREATE UNIQUE INDEX ui on t1(pk,attr1,attr2);

#
# insert records into table
#
set @old_ndb_autoincrement_prefetch_sz = @@session.ndb_autoincrement_prefetch_sz;
set ndb_autoincrement_prefetch_sz = 256;
let $1=1000;
disable_query_log;
while ($1)
{
  eval insert into t1(attr1, attr2, attr3) values (@val, @val2, @val),(@val, @val2, @val),(@val, @val2, @val),(@val, @val2, @val),(@val, @val2, @val),(@val, @val2, @val),(@val, @val2, @val),(@val, @val2, @val),(@val, @val2, @val),(@val, @val2, @val);
  dec $1;
}
enable_query_log;
set ndb_autoincrement_prefetch_sz = @old_ndb_autoincrement_prefetch_sz;
select count(*) from t1;

flush tables;
select data_length from information_schema.tables where table_name like 't1' into @data_length0;

#
# delete some rows
#
delete from t1 where mod(pk, 100) < 75 order by pk limit 1000;
delete from t1 where mod(pk, 100) < 75 order by pk limit 1000;
delete from t1 where mod(pk, 100) < 75 order by pk limit 1000;
delete from t1 where mod(pk, 100) < 75 order by pk limit 1000;
delete from t1 where mod(pk, 100) < 75 order by pk limit 1000;
delete from t1 where mod(pk, 100) < 75 order by pk limit 1000;
delete from t1 where mod(pk, 100) < 75 order by pk limit 1000;
delete from t1 where mod(pk, 100) < 75 order by pk limit 1000;
delete from t1 where mod(pk, 100) < 75 order by pk limit 1000;
select count(*) from t1;
select count(*) from t1 where mod(pk, 100) < 75;

flush tables;
select data_length from information_schema.tables where table_name like 't1' into @data_length;

set ndb_optimization_delay = 0;
optimize table t1;

flush tables;
select data_length from information_schema.tables where table_name like 't1' into @data_length2;

select 100*(@data_length-@data_length2)/@data_length into @opt_level;

#select @data_length0, @data_length,@data_length2,@opt_level;
select @opt_level > 30;

drop table t1;
