vincentchu-handlersocket 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/ext/HandlerSocket-Plugin-for-MySQL/AUTHORS +22 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/COPYING +30 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/ChangeLog +12 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/Makefile.am +87 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/README +78 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/autogen.sh +117 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/client/Makefile.am +24 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/client/hsclient.cpp +88 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/client/hslongrun.cpp +1041 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/client/hspool_test.pl +224 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/client/hstest.cpp +1532 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/client/hstest.pl +228 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/client/hstest_hs.sh +4 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/client/hstest_hs_more50.sh +4 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/client/hstest_md.sh +7 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/client/hstest_my.sh +3 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/client/hstest_my_more50.sh +3 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/configure.ac +144 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/docs-en/about-handlersocket.en.txt +72 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/docs-en/configuration-options.en.txt +99 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/docs-en/installation.en.txt +92 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/docs-en/perl-client.en.txt +135 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/docs-en/protocol.en.txt +205 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/docs-ja/about-handlersocket.ja.txt +51 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/docs-ja/installation.ja.txt +88 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/docs-ja/perl-client.ja.txt +127 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/docs-ja/protocol.ja.txt +180 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/handlersocket/COPYRIGHT.txt +27 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/handlersocket/Makefile.am +10 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/handlersocket/Makefile.plain.template +31 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/handlersocket/database.cpp +1190 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/handlersocket/database.hpp +142 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/handlersocket/handlersocket.cpp +222 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/handlersocket/handlersocket.spec.template +29 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/handlersocket/hstcpsvr.cpp +149 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/handlersocket/hstcpsvr.hpp +58 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/handlersocket/hstcpsvr_worker.cpp +951 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/handlersocket/hstcpsvr_worker.hpp +35 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/handlersocket/mysql_incl.hpp +50 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/COPYRIGHT.txt +27 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/Makefile.am +12 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/Makefile.plain +27 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/allocator.hpp +64 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/auto_addrinfo.hpp +49 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/auto_file.hpp +64 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/auto_ptrcontainer.hpp +67 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/config.cpp +67 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/config.hpp +32 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/escape.cpp +127 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/escape.hpp +66 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/fatal.cpp +36 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/fatal.hpp +22 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/hstcpcli.cpp +441 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/hstcpcli.hpp +62 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/libhsclient.spec.template +39 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/mutex.hpp +51 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/socket.cpp +186 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/socket.hpp +51 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/string_buffer.hpp +118 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/string_ref.hpp +63 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/string_util.cpp +182 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/string_util.hpp +53 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/thread.hpp +84 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/util.hpp +25 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/misc/microbench-hs.log +130 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/misc/microbench-my.log +125 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/perl-Net-HandlerSocket/COPYRIGHT.txt +27 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/perl-Net-HandlerSocket/Changes +6 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/perl-Net-HandlerSocket/HandlerSocket.xs +632 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/perl-Net-HandlerSocket/MANIFEST +8 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/perl-Net-HandlerSocket/Makefile.PL +18 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/perl-Net-HandlerSocket/Makefile.PL.installed +20 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/perl-Net-HandlerSocket/README +30 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/perl-Net-HandlerSocket/lib/Net/HandlerSocket.pm +68 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/perl-Net-HandlerSocket/lib/Net/HandlerSocket/Pool.pm +362 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/perl-Net-HandlerSocket/perl-Net-HandlerSocket.spec.template +127 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/perl-Net-HandlerSocket/ppport.h +6375 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/perl-Net-HandlerSocket/t/Net-HandlerSocket.t +15 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/Makefile +79 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/common/binary_my.cnf +4 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/common/compat.sh +29 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/common/hstest.pm +66 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/Makefile +4 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/run.sh +27 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test01.expected +100 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test01.pl +38 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test02.expected +100 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test02.pl +49 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test03.expected +771 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test03.pl +61 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test04.expected +0 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test04.pl +63 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test05.expected +771 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test05.pl +59 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test06.expected +644 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test06.pl +90 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test07.expected +304 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test07.pl +98 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test08.expected +2 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test08.pl +48 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test09.expected +12 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test09.pl +67 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test10.expected +771 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test10.pl +93 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test11.expected +37 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test11.pl +112 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test12.expected +273 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test12.pl +134 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test13.expected +92 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test13.pl +92 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test14.expected +144 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test14.pl +80 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test15.expected +764 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test15.pl +114 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test16.expected +66 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test16.pl +88 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test17.expected +0 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test17.pl +125 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test18.expected +22 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test18.pl +63 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test19.expected +14894 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test19.pl +190 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test20.expected +2 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test20.pl +33 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test21.expected +11 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test21.pl +58 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test22.expected +9 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test22.pl +61 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test23.expected +101 -0
- data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test23.pl +53 -0
- data/ext/winebarrel-ruby-handlersocket-c19841e47ea2/README +33 -0
- data/ext/winebarrel-ruby-handlersocket-c19841e47ea2/extconf.rb +27 -0
- data/ext/winebarrel-ruby-handlersocket-c19841e47ea2/handlersocket.cpp +437 -0
- data/ext/winebarrel-ruby-handlersocket-c19841e47ea2/handlersocket.h +32 -0
- metadata +200 -0
@@ -0,0 +1,93 @@
|
|
1
|
+
#!/usr/bin/perl
|
2
|
+
|
3
|
+
# vim:sw=2:ai
|
4
|
+
|
5
|
+
# test for nulls
|
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
|
+
# setting null
|
29
|
+
print "HSINSERT";
|
30
|
+
my $hs = hstest::get_hs_connection(undef, 9999);
|
31
|
+
my $dbname = $hstest::conf{dbname};
|
32
|
+
$hs->open_index(1, $dbname, $table, '', 'k,v1,v2');
|
33
|
+
for (my $i = 0; $i < $tablesize; ++$i) {
|
34
|
+
my $k = "" . $i;
|
35
|
+
my $v1 = "v1_" . $i;
|
36
|
+
my $v2 = undef; # null value
|
37
|
+
my $r = $hs->execute_insert(1, [ $k, $v1, $v2 ]);
|
38
|
+
my $err = $r->[0];
|
39
|
+
if ($err != 0) {
|
40
|
+
my $err_str = $r->[1];
|
41
|
+
print "$err $err_str\n";
|
42
|
+
}
|
43
|
+
}
|
44
|
+
undef $hs;
|
45
|
+
|
46
|
+
dump_table();
|
47
|
+
|
48
|
+
# setting null
|
49
|
+
print "HSUPDATE";
|
50
|
+
$hs = hstest::get_hs_connection(undef, 9999);
|
51
|
+
$dbname = $hstest::conf{dbname};
|
52
|
+
$hs->open_index(2, $dbname, $table, '', 'v1');
|
53
|
+
for (my $i = 0; $i < $tablesize; ++$i) {
|
54
|
+
my $r = $hs->execute_single(2, '=', [ $i ], 1000, 0, 'U', [ undef ]);
|
55
|
+
my $err = $r->[0];
|
56
|
+
if ($err != 0) {
|
57
|
+
my $err_str = $r->[1];
|
58
|
+
print "$err $err_str\n";
|
59
|
+
}
|
60
|
+
}
|
61
|
+
undef $hs;
|
62
|
+
|
63
|
+
dump_table();
|
64
|
+
|
65
|
+
# setting non-null
|
66
|
+
print "HSUPDATE";
|
67
|
+
$hs = hstest::get_hs_connection(undef, 9999);
|
68
|
+
$dbname = $hstest::conf{dbname};
|
69
|
+
$hs->open_index(2, $dbname, $table, '', 'v1');
|
70
|
+
for (my $i = 0; $i < $tablesize; ++$i) {
|
71
|
+
my $r = $hs->execute_single(2, '=', [ $i ], 1000, 0, 'U', [ "hoge" ]);
|
72
|
+
my $err = $r->[0];
|
73
|
+
if ($err != 0) {
|
74
|
+
my $err_str = $r->[1];
|
75
|
+
print "$err $err_str\n";
|
76
|
+
}
|
77
|
+
}
|
78
|
+
undef $hs;
|
79
|
+
|
80
|
+
dump_table();
|
81
|
+
|
82
|
+
sub dump_table {
|
83
|
+
print "DUMP_TABLE\n";
|
84
|
+
my $aref = $dbh->selectall_arrayref("select k,v1,v2 from $table order by k");
|
85
|
+
for my $row (@$aref) {
|
86
|
+
my ($k, $v1, $v2) = @$row;
|
87
|
+
$v1 = "[null]" if !defined($v1);
|
88
|
+
$v2 = "[null]" if !defined($v2);
|
89
|
+
print "$k $v1 $v2\n";
|
90
|
+
# print "MISMATCH\n" if ($valmap{$k} ne $v);
|
91
|
+
}
|
92
|
+
}
|
93
|
+
|
@@ -0,0 +1,37 @@
|
|
1
|
+
VAL
|
2
|
+
[0][k5][5]
|
3
|
+
[0][k6][6]
|
4
|
+
[0][k7][7]
|
5
|
+
[0][k8][8]
|
6
|
+
INCREMENT
|
7
|
+
[0][1]
|
8
|
+
[0][1]
|
9
|
+
[0][1]
|
10
|
+
[0][1]
|
11
|
+
VAL
|
12
|
+
[0][k5][8]
|
13
|
+
[0][k6][18]
|
14
|
+
[0][k7][-4]
|
15
|
+
[0][k8][-7]
|
16
|
+
DECREMENT
|
17
|
+
[0][1]
|
18
|
+
[0][0]
|
19
|
+
[0][1]
|
20
|
+
[0][0]
|
21
|
+
VAL
|
22
|
+
[0][k5][6]
|
23
|
+
[0][k6][18]
|
24
|
+
[0][k7][-84]
|
25
|
+
[0][k8][-7]
|
26
|
+
INCREMENT
|
27
|
+
[0][6]
|
28
|
+
[0][7]
|
29
|
+
[0][8]
|
30
|
+
[0][9]
|
31
|
+
[0][10]
|
32
|
+
[0][11]
|
33
|
+
[0][12]
|
34
|
+
[0][13]
|
35
|
+
[0][14]
|
36
|
+
VAL
|
37
|
+
[0][k5][15]
|
@@ -0,0 +1,112 @@
|
|
1
|
+
#!/usr/bin/perl
|
2
|
+
|
3
|
+
# vim:sw=2:ai
|
4
|
+
|
5
|
+
# test for increment/decrement
|
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 = 100;
|
18
|
+
$dbh->do(
|
19
|
+
"create table $table (k varchar(30) primary key, v varchar(30) not null) " .
|
20
|
+
"engine = innodb");
|
21
|
+
srand(999);
|
22
|
+
|
23
|
+
my %valmap = ();
|
24
|
+
|
25
|
+
my $sth = $dbh->prepare("insert into $table values (?,?)");
|
26
|
+
for (my $i = 0; $i < $tablesize; ++$i) {
|
27
|
+
my $k = "k" . $i;
|
28
|
+
my $v = $i;
|
29
|
+
$sth->execute($k, $v);
|
30
|
+
$valmap{$k} = $v;
|
31
|
+
}
|
32
|
+
|
33
|
+
my $hs = hstest::get_hs_connection(undef, 9999);
|
34
|
+
my $dbname = $hstest::conf{dbname};
|
35
|
+
$hs->open_index(1, $dbname, $table, '', 'k,v');
|
36
|
+
$hs->open_index(2, $dbname, $table, '', 'v');
|
37
|
+
|
38
|
+
exec_multi(
|
39
|
+
"VAL",
|
40
|
+
[ 1, '=', [ 'k5' ], 1, 0 ],
|
41
|
+
[ 1, '=', [ 'k6' ], 1, 0 ],
|
42
|
+
[ 1, '=', [ 'k7' ], 1, 0 ],
|
43
|
+
[ 1, '=', [ 'k8' ], 1, 0 ],
|
44
|
+
);
|
45
|
+
# 5, 6, 7, 8
|
46
|
+
|
47
|
+
exec_multi(
|
48
|
+
"INCREMENT",
|
49
|
+
[ 2, '=', [ 'k5' ], 1, 0, '+', [ 3 ] ],
|
50
|
+
[ 2, '=', [ 'k6' ], 1, 0, '+', [ 12 ] ],
|
51
|
+
[ 2, '=', [ 'k7' ], 1, 0, '+', [ -11 ] ],
|
52
|
+
[ 2, '=', [ 'k8' ], 1, 0, '+', [ -15 ] ],
|
53
|
+
);
|
54
|
+
|
55
|
+
exec_multi(
|
56
|
+
"VAL",
|
57
|
+
[ 1, '=', [ 'k5' ], 1, 0 ],
|
58
|
+
[ 1, '=', [ 'k6' ], 1, 0 ],
|
59
|
+
[ 1, '=', [ 'k7' ], 1, 0 ],
|
60
|
+
[ 1, '=', [ 'k8' ], 1, 0 ],
|
61
|
+
);
|
62
|
+
# 8, 18, -4, -7
|
63
|
+
|
64
|
+
exec_multi(
|
65
|
+
"DECREMENT",
|
66
|
+
[ 2, '=', [ 'k5' ], 1, 0, '-', [ 2 ] ],
|
67
|
+
[ 2, '=', [ 'k6' ], 1, 0, '-', [ 24 ] ],
|
68
|
+
[ 2, '=', [ 'k7' ], 1, 0, '-', [ 80 ] ],
|
69
|
+
[ 2, '=', [ 'k8' ], 1, 0, '-', [ -80 ] ],
|
70
|
+
);
|
71
|
+
# mod, no, mod, no
|
72
|
+
|
73
|
+
exec_multi(
|
74
|
+
"VAL",
|
75
|
+
[ 1, '=', [ 'k5' ], 1, 0 ],
|
76
|
+
[ 1, '=', [ 'k6' ], 1, 0 ],
|
77
|
+
[ 1, '=', [ 'k7' ], 1, 0 ],
|
78
|
+
[ 1, '=', [ 'k8' ], 1, 0 ],
|
79
|
+
);
|
80
|
+
# 6, 18, -84, -7
|
81
|
+
|
82
|
+
exec_multi(
|
83
|
+
"INCREMENT",
|
84
|
+
[ 2, '=', [ 'k5' ], 1, 0, '+?', [ 1 ] ],
|
85
|
+
[ 2, '=', [ 'k5' ], 1, 0, '+?', [ 1 ] ],
|
86
|
+
[ 2, '=', [ 'k5' ], 1, 0, '+?', [ 1 ] ],
|
87
|
+
[ 2, '=', [ 'k5' ], 1, 0, '+?', [ 1 ] ],
|
88
|
+
[ 2, '=', [ 'k5' ], 1, 0, '+?', [ 1 ] ],
|
89
|
+
[ 2, '=', [ 'k5' ], 1, 0, '+?', [ 1 ] ],
|
90
|
+
[ 2, '=', [ 'k5' ], 1, 0, '+?', [ 1 ] ],
|
91
|
+
[ 2, '=', [ 'k5' ], 1, 0, '+?', [ 1 ] ],
|
92
|
+
[ 2, '=', [ 'k5' ], 1, 0, '+?', [ 1 ] ],
|
93
|
+
);
|
94
|
+
|
95
|
+
exec_multi(
|
96
|
+
"VAL",
|
97
|
+
[ 1, '=', [ 'k5' ], 1, 0 ],
|
98
|
+
);
|
99
|
+
# 15
|
100
|
+
|
101
|
+
sub exec_multi {
|
102
|
+
my $mess = shift(@_);
|
103
|
+
print "$mess\n";
|
104
|
+
my $mres = $hs->execute_multi(\@_);
|
105
|
+
for my $res (@$mres) {
|
106
|
+
for my $fld (@$res) {
|
107
|
+
print "[$fld]";
|
108
|
+
}
|
109
|
+
print "\n";
|
110
|
+
}
|
111
|
+
}
|
112
|
+
|
@@ -0,0 +1,273 @@
|
|
1
|
+
VAL
|
2
|
+
code=0
|
3
|
+
[k1_0][k2_0][0][0]
|
4
|
+
[k1_0][k2_1][1][0]
|
5
|
+
[k1_0][k2_2][2][0]
|
6
|
+
[k1_0][k2_3][3][0]
|
7
|
+
[k1_0][k2_4][4][0]
|
8
|
+
[k1_0][k2_5][5][0]
|
9
|
+
[k1_0][k2_6][6][0]
|
10
|
+
[k1_0][k2_7][7][0]
|
11
|
+
[k1_0][k2_8][8][0]
|
12
|
+
[k1_0][k2_9][9][0]
|
13
|
+
[k1_1][k2_0][1][0]
|
14
|
+
[k1_1][k2_1][2][1]
|
15
|
+
[k1_1][k2_2][3][2]
|
16
|
+
[k1_1][k2_3][4][3]
|
17
|
+
[k1_1][k2_4][5][4]
|
18
|
+
[k1_1][k2_5][6][5]
|
19
|
+
[k1_1][k2_6][7][6]
|
20
|
+
[k1_1][k2_7][8][7]
|
21
|
+
[k1_1][k2_8][9][8]
|
22
|
+
[k1_1][k2_9][10][9]
|
23
|
+
[k1_2][k2_0][2][0]
|
24
|
+
[k1_2][k2_1][3][2]
|
25
|
+
[k1_2][k2_2][4][4]
|
26
|
+
[k1_2][k2_3][5][6]
|
27
|
+
[k1_2][k2_4][6][8]
|
28
|
+
[k1_2][k2_5][7][10]
|
29
|
+
[k1_2][k2_6][8][12]
|
30
|
+
[k1_2][k2_7][9][14]
|
31
|
+
[k1_2][k2_8][10][16]
|
32
|
+
[k1_2][k2_9][11][18]
|
33
|
+
[k1_3][k2_0][3][0]
|
34
|
+
[k1_3][k2_1][4][3]
|
35
|
+
[k1_3][k2_2][5][6]
|
36
|
+
[k1_3][k2_3][6][9]
|
37
|
+
[k1_3][k2_4][7][12]
|
38
|
+
[k1_3][k2_5][8][15]
|
39
|
+
[k1_3][k2_6][9][18]
|
40
|
+
[k1_3][k2_7][10][21]
|
41
|
+
[k1_3][k2_8][11][24]
|
42
|
+
[k1_3][k2_9][12][27]
|
43
|
+
[k1_4][k2_0][4][0]
|
44
|
+
[k1_4][k2_1][5][4]
|
45
|
+
[k1_4][k2_2][6][8]
|
46
|
+
[k1_4][k2_3][7][12]
|
47
|
+
[k1_4][k2_4][8][16]
|
48
|
+
[k1_4][k2_5][9][20]
|
49
|
+
[k1_4][k2_6][10][24]
|
50
|
+
[k1_4][k2_7][11][28]
|
51
|
+
[k1_4][k2_8][12][32]
|
52
|
+
[k1_4][k2_9][13][36]
|
53
|
+
[k1_5][k2_0][5][0]
|
54
|
+
[k1_5][k2_1][6][5]
|
55
|
+
[k1_5][k2_2][7][10]
|
56
|
+
[k1_5][k2_3][8][15]
|
57
|
+
[k1_5][k2_4][9][20]
|
58
|
+
[k1_5][k2_5][10][25]
|
59
|
+
[k1_5][k2_6][11][30]
|
60
|
+
[k1_5][k2_7][12][35]
|
61
|
+
[k1_5][k2_8][13][40]
|
62
|
+
[k1_5][k2_9][14][45]
|
63
|
+
[k1_6][k2_0][6][0]
|
64
|
+
[k1_6][k2_1][7][6]
|
65
|
+
[k1_6][k2_2][8][12]
|
66
|
+
[k1_6][k2_3][9][18]
|
67
|
+
[k1_6][k2_4][10][24]
|
68
|
+
[k1_6][k2_5][11][30]
|
69
|
+
[k1_6][k2_6][12][36]
|
70
|
+
[k1_6][k2_7][13][42]
|
71
|
+
[k1_6][k2_8][14][48]
|
72
|
+
[k1_6][k2_9][15][54]
|
73
|
+
[k1_7][k2_0][7][0]
|
74
|
+
[k1_7][k2_1][8][7]
|
75
|
+
[k1_7][k2_2][9][14]
|
76
|
+
[k1_7][k2_3][10][21]
|
77
|
+
[k1_7][k2_4][11][28]
|
78
|
+
[k1_7][k2_5][12][35]
|
79
|
+
[k1_7][k2_6][13][42]
|
80
|
+
[k1_7][k2_7][14][49]
|
81
|
+
[k1_7][k2_8][15][56]
|
82
|
+
[k1_7][k2_9][16][63]
|
83
|
+
[k1_8][k2_0][8][0]
|
84
|
+
[k1_8][k2_1][9][8]
|
85
|
+
[k1_8][k2_2][10][16]
|
86
|
+
[k1_8][k2_3][11][24]
|
87
|
+
[k1_8][k2_4][12][32]
|
88
|
+
[k1_8][k2_5][13][40]
|
89
|
+
[k1_8][k2_6][14][48]
|
90
|
+
[k1_8][k2_7][15][56]
|
91
|
+
[k1_8][k2_8][16][64]
|
92
|
+
[k1_8][k2_9][17][72]
|
93
|
+
[k1_9][k2_0][9][0]
|
94
|
+
[k1_9][k2_1][10][9]
|
95
|
+
[k1_9][k2_2][11][18]
|
96
|
+
[k1_9][k2_3][12][27]
|
97
|
+
[k1_9][k2_4][13][36]
|
98
|
+
[k1_9][k2_5][14][45]
|
99
|
+
[k1_9][k2_6][15][54]
|
100
|
+
[k1_9][k2_7][16][63]
|
101
|
+
[k1_9][k2_8][17][72]
|
102
|
+
[k1_9][k2_9][18][81]
|
103
|
+
|
104
|
+
FILTER
|
105
|
+
code=0
|
106
|
+
[k1_0][k2_5][5][0]
|
107
|
+
[k1_1][k2_5][6][5]
|
108
|
+
[k1_2][k2_5][7][10]
|
109
|
+
[k1_3][k2_5][8][15]
|
110
|
+
[k1_4][k2_5][9][20]
|
111
|
+
[k1_5][k2_5][10][25]
|
112
|
+
[k1_6][k2_5][11][30]
|
113
|
+
[k1_7][k2_5][12][35]
|
114
|
+
[k1_8][k2_5][13][40]
|
115
|
+
[k1_9][k2_5][14][45]
|
116
|
+
|
117
|
+
FILTER
|
118
|
+
code=0
|
119
|
+
[k1_0][k2_5][5][0]
|
120
|
+
[k1_1][k2_5][6][5]
|
121
|
+
[k1_2][k2_5][7][10]
|
122
|
+
[k1_3][k2_5][8][15]
|
123
|
+
[k1_4][k2_5][9][20]
|
124
|
+
[k1_5][k2_5][10][25]
|
125
|
+
[k1_6][k2_5][11][30]
|
126
|
+
[k1_7][k2_5][12][35]
|
127
|
+
[k1_8][k2_5][13][40]
|
128
|
+
[k1_9][k2_5][14][45]
|
129
|
+
|
130
|
+
FILTER
|
131
|
+
code=0
|
132
|
+
[k1_0][k2_3][3][0]
|
133
|
+
[k1_1][k2_2][3][2]
|
134
|
+
[k1_2][k2_1][3][2]
|
135
|
+
[k1_3][k2_0][3][0]
|
136
|
+
|
137
|
+
FILTER
|
138
|
+
code=0
|
139
|
+
[k1_1][k2_0][1][0]
|
140
|
+
[k1_1][k2_1][2][1]
|
141
|
+
[k1_1][k2_2][3][2]
|
142
|
+
[k1_1][k2_3][4][3]
|
143
|
+
[k1_1][k2_4][5][4]
|
144
|
+
[k1_1][k2_5][6][5]
|
145
|
+
[k1_1][k2_6][7][6]
|
146
|
+
[k1_1][k2_7][8][7]
|
147
|
+
[k1_1][k2_8][9][8]
|
148
|
+
[k1_1][k2_9][10][9]
|
149
|
+
[k1_2][k2_0][2][0]
|
150
|
+
[k1_2][k2_1][3][2]
|
151
|
+
[k1_2][k2_2][4][4]
|
152
|
+
[k1_2][k2_3][5][6]
|
153
|
+
[k1_2][k2_4][6][8]
|
154
|
+
[k1_2][k2_5][7][10]
|
155
|
+
[k1_2][k2_6][8][12]
|
156
|
+
[k1_2][k2_7][9][14]
|
157
|
+
[k1_2][k2_8][10][16]
|
158
|
+
[k1_2][k2_9][11][18]
|
159
|
+
|
160
|
+
FILTER
|
161
|
+
code=0
|
162
|
+
[k1_2][k2_5][7][10]
|
163
|
+
[k1_2][k2_6][8][12]
|
164
|
+
[k1_2][k2_7][9][14]
|
165
|
+
[k1_2][k2_8][10][16]
|
166
|
+
[k1_2][k2_9][11][18]
|
167
|
+
|
168
|
+
FILTER
|
169
|
+
code=0
|
170
|
+
[2]
|
171
|
+
VAL
|
172
|
+
code=0
|
173
|
+
[k1_0][k2_0][0][0]
|
174
|
+
[k1_0][k2_1][1][0]
|
175
|
+
[k1_0][k2_2][2][0]
|
176
|
+
[k1_0][k2_3][3][0]
|
177
|
+
[k1_0][k2_4][4][0]
|
178
|
+
[k1_0][k2_5][5][0]
|
179
|
+
[k1_0][k2_6][6][0]
|
180
|
+
[k1_0][k2_7][7][0]
|
181
|
+
[k1_0][k2_8][8][0]
|
182
|
+
[k1_0][k2_9][9][0]
|
183
|
+
[k1_1][k2_0][1][0]
|
184
|
+
[k1_1][k2_1][2][1]
|
185
|
+
[k1_1][k2_2][3][2]
|
186
|
+
[k1_1][k2_3][4][3]
|
187
|
+
[k1_1][k2_4][5][4]
|
188
|
+
[k1_1][k2_5][6][5]
|
189
|
+
[k1_1][k2_6][7][6]
|
190
|
+
[k1_1][k2_7][8][7]
|
191
|
+
[k1_1][k2_8][9][8]
|
192
|
+
[k1_1][k2_9][10][9]
|
193
|
+
[k1_2][k2_0][2][0]
|
194
|
+
[k1_2][k2_1][3][2]
|
195
|
+
[k1_2][k2_2][4][4]
|
196
|
+
[k1_2][k2_3][5][6]
|
197
|
+
[k1_2][k2_4][6][8]
|
198
|
+
[k1_2][k2_5][-1][10]
|
199
|
+
[k1_2][k2_6][8][12]
|
200
|
+
[k1_2][k2_7][9][14]
|
201
|
+
[k1_2][k2_8][10][16]
|
202
|
+
[k1_2][k2_9][11][18]
|
203
|
+
[k1_3][k2_0][3][0]
|
204
|
+
[k1_3][k2_1][4][3]
|
205
|
+
[k1_3][k2_2][5][6]
|
206
|
+
[k1_3][k2_3][6][9]
|
207
|
+
[k1_3][k2_4][7][12]
|
208
|
+
[k1_3][k2_5][8][15]
|
209
|
+
[k1_3][k2_6][9][18]
|
210
|
+
[k1_3][k2_7][10][21]
|
211
|
+
[k1_3][k2_8][11][24]
|
212
|
+
[k1_3][k2_9][12][27]
|
213
|
+
[k1_4][k2_0][4][0]
|
214
|
+
[k1_4][k2_1][5][4]
|
215
|
+
[k1_4][k2_2][6][8]
|
216
|
+
[k1_4][k2_3][7][12]
|
217
|
+
[k1_4][k2_4][8][16]
|
218
|
+
[k1_4][k2_5][9][20]
|
219
|
+
[k1_4][k2_6][10][24]
|
220
|
+
[k1_4][k2_7][11][28]
|
221
|
+
[k1_4][k2_8][12][32]
|
222
|
+
[k1_4][k2_9][13][36]
|
223
|
+
[k1_5][k2_0][5][0]
|
224
|
+
[k1_5][k2_1][6][5]
|
225
|
+
[k1_5][k2_2][-1][10]
|
226
|
+
[k1_5][k2_3][8][15]
|
227
|
+
[k1_5][k2_4][9][20]
|
228
|
+
[k1_5][k2_5][10][25]
|
229
|
+
[k1_5][k2_6][11][30]
|
230
|
+
[k1_5][k2_7][12][35]
|
231
|
+
[k1_5][k2_8][13][40]
|
232
|
+
[k1_5][k2_9][14][45]
|
233
|
+
[k1_6][k2_0][6][0]
|
234
|
+
[k1_6][k2_1][7][6]
|
235
|
+
[k1_6][k2_2][8][12]
|
236
|
+
[k1_6][k2_3][9][18]
|
237
|
+
[k1_6][k2_4][10][24]
|
238
|
+
[k1_6][k2_5][11][30]
|
239
|
+
[k1_6][k2_6][12][36]
|
240
|
+
[k1_6][k2_7][13][42]
|
241
|
+
[k1_6][k2_8][14][48]
|
242
|
+
[k1_6][k2_9][15][54]
|
243
|
+
[k1_7][k2_0][7][0]
|
244
|
+
[k1_7][k2_1][8][7]
|
245
|
+
[k1_7][k2_2][9][14]
|
246
|
+
[k1_7][k2_3][10][21]
|
247
|
+
[k1_7][k2_4][11][28]
|
248
|
+
[k1_7][k2_5][12][35]
|
249
|
+
[k1_7][k2_6][13][42]
|
250
|
+
[k1_7][k2_7][14][49]
|
251
|
+
[k1_7][k2_8][15][56]
|
252
|
+
[k1_7][k2_9][16][63]
|
253
|
+
[k1_8][k2_0][8][0]
|
254
|
+
[k1_8][k2_1][9][8]
|
255
|
+
[k1_8][k2_2][10][16]
|
256
|
+
[k1_8][k2_3][11][24]
|
257
|
+
[k1_8][k2_4][12][32]
|
258
|
+
[k1_8][k2_5][13][40]
|
259
|
+
[k1_8][k2_6][14][48]
|
260
|
+
[k1_8][k2_7][15][56]
|
261
|
+
[k1_8][k2_8][16][64]
|
262
|
+
[k1_8][k2_9][17][72]
|
263
|
+
[k1_9][k2_0][9][0]
|
264
|
+
[k1_9][k2_1][10][9]
|
265
|
+
[k1_9][k2_2][11][18]
|
266
|
+
[k1_9][k2_3][12][27]
|
267
|
+
[k1_9][k2_4][13][36]
|
268
|
+
[k1_9][k2_5][14][45]
|
269
|
+
[k1_9][k2_6][15][54]
|
270
|
+
[k1_9][k2_7][16][63]
|
271
|
+
[k1_9][k2_8][17][72]
|
272
|
+
[k1_9][k2_9][18][81]
|
273
|
+
|