<?php

define("HOST","127.0.0.1");
define("BLOBSIZE","8388608");
#define("BLOBSIZE","1048576");

$link=mysqli_connect(HOST,"root","","test",3306) or die("cannot connect: ".mysqli_connect_error()."\n");
mysqli_query($link,"set global max_allowed_packet=1024*1024*1024") or die(mysqli_error($link)."\n");
mysqli_query($link,"set global concurrent_insert=2") or die(mysqli_error($link)."\n");
mysqli_close($link);
$link=mysqli_connect(HOST,"root","","test",3306) or die("cannot connect: ".mysqli_connect_error()."\n");
mysqli_query($link,"create table if not exists `t1`(`a` int auto_increment primary key,`q` varchar(50),`b` longblob)engine=myisam") or die(mysqli_error($link)."\n");
mysqli_query($link,"replace into `t1`(`a`,`q`,`b`) values (1,'var1','a'),(2,'var2','b')") or die(mysqli_error($link)."\n");

for($i=0;$i<10000;$i++)
{
        $b=create_random_blob(BLOBSIZE);
        $sql="update `t1` set `b`='".mysqli_real_escape_string($link,$b)."' where `a`=".$argv[1];
        mysqli_query($link,$sql) or die(mysqli_error($link)."\n");
        print date("H:i:s"). " - loop $i - created blob for id=".$argv[1]."\n";
        
        for($j=0;$j<4;$j++)
        {
                $sql="update `t1` set `b`=concat(`b`,'".mysqli_real_escape_string($link,$b)."') where `a`=".$argv[1];
                mysqli_query($link,$sql) or die(mysqli_error($link)."\n");
                print date("H:i:s"). " - inner loop $j - updated blob for id=".$argv[1]."\n";
        }
}

mysqli_close($link);
exit;


function create_random_blob($lengt)
{
        $b="";       
        for($i=0;$i<$lengt;$i+=4)
        {
               $v=mt_rand();
               $b.=chr($v & 0xff);
               $b.=chr($v & 0xff00 >> 8);
               $b.=chr($v & 0xff0000 >> 16);
               $b.=chr($v & 0xff000000 >> 24);
        }
        return $b;
}

?>


