~michaeleguo/ubuntu/trusty/percona-xtradb-cluster-5.5/arm64fix

« back to all changes in this revision

Viewing changes to storage/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test06.pl

  • Committer: Package Import Robot
  • Author(s): James Page
  • Date: 2014-02-10 14:44:23 UTC
  • Revision ID: package-import@ubuntu.com-20140210144423-f2134l2gxuvq2m6l
Tags: upstream-5.5.34-25.9+dfsg
ImportĀ upstreamĀ versionĀ 5.5.34-25.9+dfsg

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/perl
 
2
 
 
3
# vim:sw=2:ai
 
4
 
 
5
# test for insert/update/delete
 
6
 
 
7
BEGIN {
 
8
        push @INC, "../common/";
 
9
};
 
10
 
 
11
use strict;
 
12
use warnings;
 
13
use hstest;
 
14
 
 
15
my $dbh = hstest::init_testdb();
 
16
my $table = 'hstesttbl';
 
17
my $tablesize = 256;
 
18
$dbh->do(
 
19
  "create table $table (" .
 
20
  "k varchar(30) primary key, " .
 
21
  "v1 varchar(30), " .
 
22
  "v2 varchar(30)) " .
 
23
  "engine = innodb default charset = binary");
 
24
srand(999);
 
25
 
 
26
my %valmap = ();
 
27
 
 
28
print "HSINSERT";
 
29
my $hs = hstest::get_hs_connection(undef, 9999);
 
30
my $dbname = $hstest::conf{dbname};
 
31
$hs->open_index(1, $dbname, $table, '', 'k,v1,v2');
 
32
for (my $i = 0; $i < $tablesize; ++$i) {
 
33
  my $k = "" . $i;
 
34
  my $v1 = "v1_" . $i;
 
35
  my $v2 = "v2_" . $i;
 
36
  my $r = $hs->execute_insert(1, [ $k, $v1, $v2 ]);
 
37
  my $err = $r->[0];
 
38
  if ($err != 0) {
 
39
    my $err_str = $r->[1];
 
40
    print "$err $err_str\n";
 
41
  }
 
42
}
 
43
undef $hs;
 
44
 
 
45
dump_table();
 
46
 
 
47
print "HSUPDATE";
 
48
$hs = hstest::get_hs_connection(undef, 9999);
 
49
$dbname = $hstest::conf{dbname};
 
50
$hs->open_index(2, $dbname, $table, '', 'v1');
 
51
for (my $i = 0; $i < $tablesize; ++$i) {
 
52
  my $r = $hs->execute_single(2, '=', [ $i ], 1000, 0, 'U', [ "mod_$i" ]);
 
53
  my $err = $r->[0];
 
54
  if ($err != 0) {
 
55
    my $err_str = $r->[1];
 
56
    print "$err $err_str\n";
 
57
  }
 
58
}
 
59
undef $hs;
 
60
 
 
61
dump_table();
 
62
 
 
63
print "HSDELETE\n";
 
64
$hs = hstest::get_hs_connection(undef, 9999);
 
65
$dbname = $hstest::conf{dbname};
 
66
$hs->open_index(3, $dbname, $table, '', '');
 
67
for (my $i = 0; $i < $tablesize; $i = $i + 2) {
 
68
  my $r = $hs->execute_single(3, '=', [ $i ], 1000, 0, 'D');
 
69
  my $err = $r->[0];
 
70
  if ($err != 0) {
 
71
    my $err_str = $r->[1];
 
72
    print "$err $err_str\n";
 
73
  }
 
74
}
 
75
undef $hs;
 
76
 
 
77
dump_table();
 
78
 
 
79
sub dump_table {
 
80
  print "DUMP_TABLE\n";
 
81
  my $aref = $dbh->selectall_arrayref("select k,v1,v2 from $table order by k");
 
82
  for my $row (@$aref) {
 
83
    my ($k, $v1, $v2) = @$row;
 
84
    $v1 = "[null]" if !defined($v1);
 
85
    $v2 = "[null]" if !defined($v2);
 
86
    print "$k $v1 $v2\n";
 
87
    # print "MISMATCH\n" if ($valmap{$k} ne $v);
 
88
  }
 
89
}
 
90