vincentchu-handlersocket 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (135) hide show
  1. data/ext/HandlerSocket-Plugin-for-MySQL/AUTHORS +22 -0
  2. data/ext/HandlerSocket-Plugin-for-MySQL/COPYING +30 -0
  3. data/ext/HandlerSocket-Plugin-for-MySQL/ChangeLog +12 -0
  4. data/ext/HandlerSocket-Plugin-for-MySQL/Makefile.am +87 -0
  5. data/ext/HandlerSocket-Plugin-for-MySQL/README +78 -0
  6. data/ext/HandlerSocket-Plugin-for-MySQL/autogen.sh +117 -0
  7. data/ext/HandlerSocket-Plugin-for-MySQL/client/Makefile.am +24 -0
  8. data/ext/HandlerSocket-Plugin-for-MySQL/client/hsclient.cpp +88 -0
  9. data/ext/HandlerSocket-Plugin-for-MySQL/client/hslongrun.cpp +1041 -0
  10. data/ext/HandlerSocket-Plugin-for-MySQL/client/hspool_test.pl +224 -0
  11. data/ext/HandlerSocket-Plugin-for-MySQL/client/hstest.cpp +1532 -0
  12. data/ext/HandlerSocket-Plugin-for-MySQL/client/hstest.pl +228 -0
  13. data/ext/HandlerSocket-Plugin-for-MySQL/client/hstest_hs.sh +4 -0
  14. data/ext/HandlerSocket-Plugin-for-MySQL/client/hstest_hs_more50.sh +4 -0
  15. data/ext/HandlerSocket-Plugin-for-MySQL/client/hstest_md.sh +7 -0
  16. data/ext/HandlerSocket-Plugin-for-MySQL/client/hstest_my.sh +3 -0
  17. data/ext/HandlerSocket-Plugin-for-MySQL/client/hstest_my_more50.sh +3 -0
  18. data/ext/HandlerSocket-Plugin-for-MySQL/configure.ac +144 -0
  19. data/ext/HandlerSocket-Plugin-for-MySQL/docs-en/about-handlersocket.en.txt +72 -0
  20. data/ext/HandlerSocket-Plugin-for-MySQL/docs-en/configuration-options.en.txt +99 -0
  21. data/ext/HandlerSocket-Plugin-for-MySQL/docs-en/installation.en.txt +92 -0
  22. data/ext/HandlerSocket-Plugin-for-MySQL/docs-en/perl-client.en.txt +135 -0
  23. data/ext/HandlerSocket-Plugin-for-MySQL/docs-en/protocol.en.txt +205 -0
  24. data/ext/HandlerSocket-Plugin-for-MySQL/docs-ja/about-handlersocket.ja.txt +51 -0
  25. data/ext/HandlerSocket-Plugin-for-MySQL/docs-ja/installation.ja.txt +88 -0
  26. data/ext/HandlerSocket-Plugin-for-MySQL/docs-ja/perl-client.ja.txt +127 -0
  27. data/ext/HandlerSocket-Plugin-for-MySQL/docs-ja/protocol.ja.txt +180 -0
  28. data/ext/HandlerSocket-Plugin-for-MySQL/handlersocket/COPYRIGHT.txt +27 -0
  29. data/ext/HandlerSocket-Plugin-for-MySQL/handlersocket/Makefile.am +10 -0
  30. data/ext/HandlerSocket-Plugin-for-MySQL/handlersocket/Makefile.plain.template +31 -0
  31. data/ext/HandlerSocket-Plugin-for-MySQL/handlersocket/database.cpp +1190 -0
  32. data/ext/HandlerSocket-Plugin-for-MySQL/handlersocket/database.hpp +142 -0
  33. data/ext/HandlerSocket-Plugin-for-MySQL/handlersocket/handlersocket.cpp +222 -0
  34. data/ext/HandlerSocket-Plugin-for-MySQL/handlersocket/handlersocket.spec.template +29 -0
  35. data/ext/HandlerSocket-Plugin-for-MySQL/handlersocket/hstcpsvr.cpp +149 -0
  36. data/ext/HandlerSocket-Plugin-for-MySQL/handlersocket/hstcpsvr.hpp +58 -0
  37. data/ext/HandlerSocket-Plugin-for-MySQL/handlersocket/hstcpsvr_worker.cpp +951 -0
  38. data/ext/HandlerSocket-Plugin-for-MySQL/handlersocket/hstcpsvr_worker.hpp +35 -0
  39. data/ext/HandlerSocket-Plugin-for-MySQL/handlersocket/mysql_incl.hpp +50 -0
  40. data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/COPYRIGHT.txt +27 -0
  41. data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/Makefile.am +12 -0
  42. data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/Makefile.plain +27 -0
  43. data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/allocator.hpp +64 -0
  44. data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/auto_addrinfo.hpp +49 -0
  45. data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/auto_file.hpp +64 -0
  46. data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/auto_ptrcontainer.hpp +67 -0
  47. data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/config.cpp +67 -0
  48. data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/config.hpp +32 -0
  49. data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/escape.cpp +127 -0
  50. data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/escape.hpp +66 -0
  51. data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/fatal.cpp +36 -0
  52. data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/fatal.hpp +22 -0
  53. data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/hstcpcli.cpp +441 -0
  54. data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/hstcpcli.hpp +62 -0
  55. data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/libhsclient.spec.template +39 -0
  56. data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/mutex.hpp +51 -0
  57. data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/socket.cpp +186 -0
  58. data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/socket.hpp +51 -0
  59. data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/string_buffer.hpp +118 -0
  60. data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/string_ref.hpp +63 -0
  61. data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/string_util.cpp +182 -0
  62. data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/string_util.hpp +53 -0
  63. data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/thread.hpp +84 -0
  64. data/ext/HandlerSocket-Plugin-for-MySQL/libhsclient/util.hpp +25 -0
  65. data/ext/HandlerSocket-Plugin-for-MySQL/misc/microbench-hs.log +130 -0
  66. data/ext/HandlerSocket-Plugin-for-MySQL/misc/microbench-my.log +125 -0
  67. data/ext/HandlerSocket-Plugin-for-MySQL/perl-Net-HandlerSocket/COPYRIGHT.txt +27 -0
  68. data/ext/HandlerSocket-Plugin-for-MySQL/perl-Net-HandlerSocket/Changes +6 -0
  69. data/ext/HandlerSocket-Plugin-for-MySQL/perl-Net-HandlerSocket/HandlerSocket.xs +632 -0
  70. data/ext/HandlerSocket-Plugin-for-MySQL/perl-Net-HandlerSocket/MANIFEST +8 -0
  71. data/ext/HandlerSocket-Plugin-for-MySQL/perl-Net-HandlerSocket/Makefile.PL +18 -0
  72. data/ext/HandlerSocket-Plugin-for-MySQL/perl-Net-HandlerSocket/Makefile.PL.installed +20 -0
  73. data/ext/HandlerSocket-Plugin-for-MySQL/perl-Net-HandlerSocket/README +30 -0
  74. data/ext/HandlerSocket-Plugin-for-MySQL/perl-Net-HandlerSocket/lib/Net/HandlerSocket.pm +68 -0
  75. data/ext/HandlerSocket-Plugin-for-MySQL/perl-Net-HandlerSocket/lib/Net/HandlerSocket/Pool.pm +362 -0
  76. data/ext/HandlerSocket-Plugin-for-MySQL/perl-Net-HandlerSocket/perl-Net-HandlerSocket.spec.template +127 -0
  77. data/ext/HandlerSocket-Plugin-for-MySQL/perl-Net-HandlerSocket/ppport.h +6375 -0
  78. data/ext/HandlerSocket-Plugin-for-MySQL/perl-Net-HandlerSocket/t/Net-HandlerSocket.t +15 -0
  79. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/Makefile +79 -0
  80. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/common/binary_my.cnf +4 -0
  81. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/common/compat.sh +29 -0
  82. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/common/hstest.pm +66 -0
  83. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/Makefile +4 -0
  84. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/run.sh +27 -0
  85. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test01.expected +100 -0
  86. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test01.pl +38 -0
  87. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test02.expected +100 -0
  88. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test02.pl +49 -0
  89. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test03.expected +771 -0
  90. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test03.pl +61 -0
  91. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test04.expected +0 -0
  92. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test04.pl +63 -0
  93. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test05.expected +771 -0
  94. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test05.pl +59 -0
  95. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test06.expected +644 -0
  96. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test06.pl +90 -0
  97. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test07.expected +304 -0
  98. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test07.pl +98 -0
  99. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test08.expected +2 -0
  100. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test08.pl +48 -0
  101. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test09.expected +12 -0
  102. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test09.pl +67 -0
  103. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test10.expected +771 -0
  104. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test10.pl +93 -0
  105. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test11.expected +37 -0
  106. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test11.pl +112 -0
  107. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test12.expected +273 -0
  108. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test12.pl +134 -0
  109. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test13.expected +92 -0
  110. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test13.pl +92 -0
  111. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test14.expected +144 -0
  112. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test14.pl +80 -0
  113. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test15.expected +764 -0
  114. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test15.pl +114 -0
  115. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test16.expected +66 -0
  116. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test16.pl +88 -0
  117. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test17.expected +0 -0
  118. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test17.pl +125 -0
  119. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test18.expected +22 -0
  120. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test18.pl +63 -0
  121. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test19.expected +14894 -0
  122. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test19.pl +190 -0
  123. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test20.expected +2 -0
  124. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test20.pl +33 -0
  125. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test21.expected +11 -0
  126. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test21.pl +58 -0
  127. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test22.expected +9 -0
  128. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test22.pl +61 -0
  129. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test23.expected +101 -0
  130. data/ext/HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test23.pl +53 -0
  131. data/ext/winebarrel-ruby-handlersocket-c19841e47ea2/README +33 -0
  132. data/ext/winebarrel-ruby-handlersocket-c19841e47ea2/extconf.rb +27 -0
  133. data/ext/winebarrel-ruby-handlersocket-c19841e47ea2/handlersocket.cpp +437 -0
  134. data/ext/winebarrel-ruby-handlersocket-c19841e47ea2/handlersocket.h +32 -0
  135. metadata +200 -0
@@ -0,0 +1,15 @@
1
+ # Before `make install' is performed this script should be runnable with
2
+ # `make test'. After `make install' it should work as `perl HandlerSocket.t'
3
+
4
+ #########################
5
+
6
+ # change 'tests => 1' to 'tests => last_test_to_print';
7
+
8
+ use Test::More tests => 1;
9
+ BEGIN { use_ok('Net::HandlerSocket') };
10
+
11
+ #########################
12
+
13
+ # Insert your test code below, the Test::More module is use()ed here so read
14
+ # its man page ( perldoc Test::More ) for help writing this test script.
15
+
@@ -0,0 +1,79 @@
1
+
2
+ SHELL=/bin/bash
3
+
4
+ all:
5
+ if [ "`uname -o`" = "Cygwin" ]; then \
6
+ ../../scripts/vsenv90.bat -c 'make test'; \
7
+ else \
8
+ $(MAKE) test; \
9
+ fi
10
+
11
+ force:
12
+ export CXX="$(CXX)"; \
13
+ export SUNJDK="$(SUNJDK)"; \
14
+ for i in test_*; do \
15
+ pushd $$i > /dev/null; \
16
+ echo -n "$$i ... "; \
17
+ if [ -f ./DONE ]; then \
18
+ echo "skip"; \
19
+ elif ! ./run.sh > test.log; then \
20
+ echo -n "FORCE ... "; \
21
+ $(MAKE) accept; \
22
+ if ! ./run.sh > test.log; then \
23
+ echo "FAILED"; \
24
+ exit 1; \
25
+ fi; \
26
+ else \
27
+ echo "success"; \
28
+ fi; \
29
+ touch ./DONE; \
30
+ popd > /dev/null; \
31
+ done; \
32
+ exit 0;
33
+
34
+ test:
35
+ export CXX="$(CXX)"; \
36
+ export SUNJDK="$(SUNJDK)"; \
37
+ for i in test_*; do \
38
+ pushd $$i > /dev/null; \
39
+ echo -n "$$i ... "; \
40
+ if [ -f ./DONE ]; then \
41
+ echo "skip"; \
42
+ elif ! ./run.sh > test.log; then \
43
+ echo "FAILED"; \
44
+ exit 1; \
45
+ else \
46
+ echo "success"; \
47
+ fi; \
48
+ touch ./DONE; \
49
+ popd > /dev/null; \
50
+ done; \
51
+ exit 0;
52
+
53
+ retest: clean test
54
+
55
+ clean:
56
+ for i in test_*; do \
57
+ pushd $$i > /dev/null; \
58
+ if [ -f Makefile ]; then \
59
+ $(MAKE) clean; \
60
+ fi; \
61
+ rm -rf ./GWS_db; \
62
+ rm -f ./DONE; \
63
+ popd > /dev/null; \
64
+ done; \
65
+ exit 0;
66
+ rm -f test_*/*.log
67
+ rm -f test_*/*.out
68
+ rm -rf test_*/*_db
69
+ rm -f test_*/*.dll
70
+ rm -f test_*/*.idb
71
+ rm -f test_*/*.obj
72
+ rm -f test_*/*.manifest
73
+ rm -f test_*/*.so
74
+
75
+ cleanprepare:
76
+ rm -f ../run/*.exe
77
+ rm -f ../run/poi.jar
78
+ rm -f ../run/*.dll
79
+
@@ -0,0 +1,4 @@
1
+
2
+ [perl]
3
+ default-character-set-name = binary
4
+
@@ -0,0 +1,29 @@
1
+ #!/bin/sh
2
+
3
+ if [ "`uname -o`" = "Cygwin" ]; then
4
+ export DIFF='diff --ignore-space --strip-trailing-cr'
5
+ elif [ "`uname`" = "Darwin" ]; then
6
+ export DIFF='diff'
7
+ else
8
+ export DIFF='diff --ignore-space --strip-trailing-cr'
9
+ fi
10
+
11
+ compile_c() {
12
+ if [ "`uname -o`" = "Cygwin" ]; then
13
+ cl /W3 /I../.. /EHsc /FD /MD "$1" /link /DLL "/OUT:$2.dll" \
14
+ ../../libase.lib 2> cl.log
15
+ else
16
+ $CXX -I../.. -O3 -g -Wall -fPIC -shared "$1" -o "$2.so"
17
+ fi
18
+ }
19
+
20
+ compile_j() {
21
+ if [ "`uname -o`" = "Cygwin" ]; then
22
+ jdk="`echo /cygdrive/c/Program\ Files/Java/jdk* | head -1`"
23
+ else
24
+ jdk="$SUNJDK"
25
+ fi
26
+ "$jdk/bin/javac" -g "$1"/*.java
27
+ "$jdk/bin/jar" -cf "$1.jar" "$1"/*.class
28
+ }
29
+
@@ -0,0 +1,66 @@
1
+
2
+ # vim:sw=2:ai
3
+
4
+ package hstest;
5
+
6
+ use DBI;
7
+ use Net::HandlerSocket;
8
+
9
+ our %conf = ();
10
+
11
+ sub get_conf_env {
12
+ my ($key, $defval) = @_;
13
+ return $ENV{$key} || $defval;
14
+ }
15
+
16
+ sub init_conf {
17
+ $conf{host} = get_conf_env("MYHOST", "localhost");
18
+ $conf{myport} = get_conf_env("MYPORT", 3306);
19
+ $conf{dbname} = get_conf_env("MYDBNAME", "hstestdb");
20
+ $conf{ssps} = get_conf_env("MYSSPS");
21
+ $conf{user} = get_conf_env("MYSQLUSER", "root");
22
+ $conf{pass} = get_conf_env("MYSQLPASS", "");
23
+ $conf{hsport} = get_conf_env("HSPORT", 9998);
24
+ $conf{hspass} = get_conf_env("HSPASS", undef);
25
+ }
26
+
27
+ sub get_dbi_connection {
28
+ my ($dbname, $host, $myport, $ssps, $user, $pass)
29
+ = ($conf{dbname}, $conf{host}, $conf{myport}, $conf{ssps},
30
+ $conf{user}, $conf{pass});
31
+ my $mycnf = "binary_my.cnf";
32
+ my $dsn = "DBI:mysql:database=;host=$host;port=$myport"
33
+ . ";mysql_server_prepare=$ssps"
34
+ . ";mysql_read_default_group=perl"
35
+ . ";mysql_read_default_file=../common/$mycnf";
36
+ my $dbh = DBI->connect($dsn, $user, $pass, { RaiseError => 1 });
37
+ return $dbh;
38
+ }
39
+
40
+ sub init_testdb {
41
+ my $charset = $_[0] || "binary";
42
+ my $dbh = get_dbi_connection();
43
+ my $dbname = $conf{dbname};
44
+ $dbh->do("drop database if exists $dbname");
45
+ $dbh->do("create database $dbname default character set $charset");
46
+ $dbh->do("use $dbname");
47
+ return $dbh;
48
+ }
49
+
50
+ sub get_hs_connection {
51
+ my ($host, $port) = @_;
52
+ $host ||= $conf{host};
53
+ $port ||= $conf{hsport};
54
+ my $hsargs = { 'host' => $host, 'port' => $port };
55
+ my $conn = new Net::HandlerSocket($hsargs);
56
+ if (defined($conn) && defined($conf{hspass})) {
57
+ $conn->auth($conf{hspass});
58
+ }
59
+ return $conn;
60
+ }
61
+
62
+
63
+ init_conf();
64
+
65
+ 1;
66
+
@@ -0,0 +1,4 @@
1
+
2
+ clean:
3
+ rm -f *.log *.log2 *.log2h
4
+
@@ -0,0 +1,27 @@
1
+ #!/bin/bash
2
+
3
+ TESTS="01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23";
4
+
5
+ source ../common/compat.sh
6
+
7
+ for i in $TESTS; do
8
+ perl "test$i.pl" > test$i.log 2> test$i.log2
9
+ done
10
+ for i in $TESTS; do
11
+ if ! $DIFF -u test$i.log test$i.expected; then
12
+ echo "test$i failed";
13
+ exit 1
14
+ fi
15
+ if [ -f "test$i.expect2" ]; then
16
+ lines="`wc -l < test$i.expect2`"
17
+ head -$lines test$i.log2 > test$i.log2h
18
+ if ! $DIFF -u test$i.log2h test$i.expect2 && \
19
+ ! $DIFF -u test$i.log2h test$i.expect2ef; then
20
+ echo "test$i failed";
21
+ exit 1
22
+ fi
23
+ fi
24
+ done
25
+ echo "OK."
26
+ exit 0
27
+
@@ -0,0 +1,100 @@
1
+ k0 v1020
2
+ k1 v6351
3
+ k10 v70410
4
+ k11 v75111
5
+ k12 v36712
6
+ k13 v40013
7
+ k14 v39714
8
+ k15 v17015
9
+ k16 v71916
10
+ k17 v73417
11
+ k18 v58718
12
+ k19 v49419
13
+ k2 v8032
14
+ k20 v52320
15
+ k21 v95421
16
+ k22 v43322
17
+ k23 v82023
18
+ k24 v28324
19
+ k25 v83725
20
+ k26 v20526
21
+ k27 v41527
22
+ k28 v54528
23
+ k29 v58329
24
+ k3 v9253
25
+ k30 v5230
26
+ k31 v32331
27
+ k32 v61432
28
+ k33 v67933
29
+ k34 v80534
30
+ k35 v45135
31
+ k36 v11536
32
+ k37 v26937
33
+ k38 v21838
34
+ k39 v61739
35
+ k4 v7754
36
+ k40 v87840
37
+ k41 v34541
38
+ k42 v51242
39
+ k43 v96943
40
+ k44 v40844
41
+ k45 v29145
42
+ k46 v85846
43
+ k47 v95347
44
+ k48 v71048
45
+ k49 v14249
46
+ k5 v5375
47
+ k50 v68250
48
+ k51 v93451
49
+ k52 v62152
50
+ k53 v96553
51
+ k54 v57454
52
+ k55 v20455
53
+ k56 v29856
54
+ k57 v13457
55
+ k58 v98358
56
+ k59 v44459
57
+ k6 v5926
58
+ k60 v14460
59
+ k61 v15261
60
+ k62 v18762
61
+ k63 v21563
62
+ k64 v864
63
+ k65 v69765
64
+ k66 v65166
65
+ k67 v28067
66
+ k68 v70168
67
+ k69 v53769
68
+ k7 v4147
69
+ k70 v41370
70
+ k71 v6971
71
+ k72 v8672
72
+ k73 v82273
73
+ k74 v67074
74
+ k75 v37075
75
+ k76 v80676
76
+ k77 v68877
77
+ k78 v2678
78
+ k79 v6679
79
+ k8 v5908
80
+ k80 v80280
81
+ k81 v17181
82
+ k82 v55782
83
+ k83 v84783
84
+ k84 v77784
85
+ k85 v73085
86
+ k86 v98786
87
+ k87 v11587
88
+ k88 v64688
89
+ k89 v49689
90
+ k9 v3029
91
+ k90 v12090
92
+ k91 v68491
93
+ k92 v37492
94
+ k93 v6593
95
+ k94 v37094
96
+ k95 v17495
97
+ k96 v82896
98
+ k97 v86797
99
+ k98 v75998
100
+ k99 v70399
@@ -0,0 +1,38 @@
1
+ #!/usr/bin/perl
2
+
3
+ # vim:sw=2:ai
4
+
5
+ # test for libmysql
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 = "v" . int(rand(1000)) . $i;
29
+ $sth->execute($k, $v);
30
+ $valmap{$k} = $v;
31
+ }
32
+
33
+ my $aref = $dbh->selectall_arrayref("select k,v from $table order by k");
34
+ for my $row (@$aref) {
35
+ my ($k, $v) = @$row;
36
+ print "$k $v\n";
37
+ }
38
+
@@ -0,0 +1,100 @@
1
+ k0 v1020
2
+ k1 v6351
3
+ k10 v70410
4
+ k11 v75111
5
+ k12 v36712
6
+ k13 v40013
7
+ k14 v39714
8
+ k15 v17015
9
+ k16 v71916
10
+ k17 v73417
11
+ k18 v58718
12
+ k19 v49419
13
+ k2 v8032
14
+ k20 v52320
15
+ k21 v95421
16
+ k22 v43322
17
+ k23 v82023
18
+ k24 v28324
19
+ k25 v83725
20
+ k26 v20526
21
+ k27 v41527
22
+ k28 v54528
23
+ k29 v58329
24
+ k3 v9253
25
+ k30 v5230
26
+ k31 v32331
27
+ k32 v61432
28
+ k33 v67933
29
+ k34 v80534
30
+ k35 v45135
31
+ k36 v11536
32
+ k37 v26937
33
+ k38 v21838
34
+ k39 v61739
35
+ k4 v7754
36
+ k40 v87840
37
+ k41 v34541
38
+ k42 v51242
39
+ k43 v96943
40
+ k44 v40844
41
+ k45 v29145
42
+ k46 v85846
43
+ k47 v95347
44
+ k48 v71048
45
+ k49 v14249
46
+ k5 v5375
47
+ k50 v68250
48
+ k51 v93451
49
+ k52 v62152
50
+ k53 v96553
51
+ k54 v57454
52
+ k55 v20455
53
+ k56 v29856
54
+ k57 v13457
55
+ k58 v98358
56
+ k59 v44459
57
+ k6 v5926
58
+ k60 v14460
59
+ k61 v15261
60
+ k62 v18762
61
+ k63 v21563
62
+ k64 v864
63
+ k65 v69765
64
+ k66 v65166
65
+ k67 v28067
66
+ k68 v70168
67
+ k69 v53769
68
+ k7 v4147
69
+ k70 v41370
70
+ k71 v6971
71
+ k72 v8672
72
+ k73 v82273
73
+ k74 v67074
74
+ k75 v37075
75
+ k76 v80676
76
+ k77 v68877
77
+ k78 v2678
78
+ k79 v6679
79
+ k8 v5908
80
+ k80 v80280
81
+ k81 v17181
82
+ k82 v55782
83
+ k83 v84783
84
+ k84 v77784
85
+ k85 v73085
86
+ k86 v98786
87
+ k87 v11587
88
+ k88 v64688
89
+ k89 v49689
90
+ k9 v3029
91
+ k90 v12090
92
+ k91 v68491
93
+ k92 v37492
94
+ k93 v6593
95
+ k94 v37094
96
+ k95 v17495
97
+ k96 v82896
98
+ k97 v86797
99
+ k98 v75998
100
+ k99 v70399