vincentchu-handlersocket 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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