5
# test for binary cleanness (#1)
8
push @INC, "../common/";
15
my $dbh = hstest::init_testdb();
16
my $table = 'hstesttbl';
19
"create table $table (k varchar(30) primary key, v varchar(30) not null) " .
20
"engine = innodb default charset = binary");
26
my $sth = $dbh->prepare("insert into $table values (?,?)");
27
for (my $i = 0; $i < $tablesize; ++$i) {
29
my $v = pack("C", $i);
30
my $vnum = unpack("C", $v);
32
$sth->execute($k, $v);
36
my $hs = hstest::get_hs_connection();
37
my $dbname = $hstest::conf{dbname};
38
$hs->open_index(1, $dbname, $table, '', 'k,v');
39
my $r = $hs->execute_single(1, '>=', [ '' ], 10000, 0);
42
for (my $i = 0; $i < $tablesize; ++$i) {
44
my $v = $r->[$i * 2 + 1];
45
my $vnum = unpack("C", $v);
47
print "MISMATCH\n" if ($k ne $vnum);
48
print "LEN\n" if (length($v) != 1);
53
my $aref = $dbh->selectall_arrayref("select k,v from $table order by k");
54
for my $row (@$aref) {
56
my $vnum = unpack("C", $v);
58
print "MISMATCH\n" if ($k ne $vnum);
59
print "LEN\n" if (length($v) != 1);