Merge lp:~percona-dev/percona-server/release-5.1.53-new-handler-socket into lp:~percona-dev/percona-server/release-5.1.53

Proposed by Aleksandr Kuzminsky
Status: Work in progress
Proposed branch: lp:~percona-dev/percona-server/release-5.1.53-new-handler-socket
Merge into: lp:~percona-dev/percona-server/release-5.1.53
Diff against target: 977 lines (+891/-9)
6 files modified
HandlerSocket-Plugin-for-MySQL/README (+6/-2)
HandlerSocket-Plugin-for-MySQL/handlersocket/database.cpp (+12/-4)
HandlerSocket-Plugin-for-MySQL/handlersocket/hstcpsvr_worker.cpp (+8/-2)
HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/run.sh (+1/-1)
HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test10.expected (+771/-0)
HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test10.pl (+93/-0)
To merge this branch: bzr merge lp:~percona-dev/percona-server/release-5.1.53-new-handler-socket
Reviewer Review Type Date Requested Status
Stewart Smith (community) Needs Fixing
Vadim Tkachenko Approve
Review via email: mp+44315@code.launchpad.net

Description of the change

New version of HandlerSocket

To post a comment you must log in.
Revision history for this message
Vadim Tkachenko (vadim-tk) :
review: Approve
Revision history for this message
Stewart Smith (stewart) wrote :

Please resubmit against lp:percona-server/5.1 if still applicable (also 5.5?)

review: Needs Fixing

Unmerged revisions

177. By Aleksandr Kuzminsky

new version of handlersocket

176. By Aleksandr Kuzminsky

1. Added Maatkit UDF
2. Fixed several bugs in HandlerSocket build rules

175. By Vadim Tkachenko

Changed URL for support offer

174. By kinoyasu <kinoyasu@gauntlet4>

backport adaptive_checkpoint=keep_average and innodb_log_block_size from XtraDB on 5.5.7 dev-branch

173. By Aleksandr Kuzminsky

fixed compile error of query_response_time.cc from response_time_distribution.patch (bad offsets in patch)

172. By kinoyasu <kinoyasu@gauntlet4>

fix bug690144

171. By Oleg Tsarev

add option --without-response_time_distribution to response-time-distribution.patch
Also added variable have_response_time_distribution

170. By Oleg Tsarev

fix bug 689830

169. By kinoyasu <kinoyasu@gauntlet4>

lp:~percona-dev/percona-server/release-5.1.51-12-expand_import_fix4autoinc is merged... (apply fix for innodb_expand_import.patch from Vamsi@FaceBook about autoinc)

168. By kinoyasu <kinoyasu@gauntlet4>

fix separate_doublewrite about problem when make only the new doublewrite_file

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'HandlerSocket-Plugin-for-MySQL/README'
2--- HandlerSocket-Plugin-for-MySQL/README 2010-11-24 08:58:24 +0000
3+++ HandlerSocket-Plugin-for-MySQL/README 2010-12-21 06:52:53 +0000
4@@ -49,21 +49,25 @@
5
6 The current version of HandlerSocket only works with GNU/Linux. The source
7 archive of HandlerSocket includes a C++ and a Perl client libraries.
8-Here is a list of other language bindings:
9+Here is a list of client libraries for other languages:
10
11 - PHP
12 http://openpear.org/package/Net_HandlerSocket
13 http://github.com/tz-lom/HSPHP
14 http://code.google.com/p/php-handlersocket/
15 - Java
16+ http://code.google.com/p/hs4j/
17 http://code.google.com/p/handlersocketforjava/
18 - Python
19+ http://pypi.python.org/pypi/python-handler-socket/0.1.0
20 https://code.launchpad.net/~songofacandy/+junk/pyhandlersocket
21 - Ruby
22 https://github.com/winebarrel/ruby-handlersocket
23 https://github.com/miyucy/handlersocket
24- - JavaScript(Node.js)
25+ - JavaScript
26 https://github.com/koichik/node-handlersocket
27+ - Scala
28+ https://github.com/fujohnwang/hs2client
29
30 The home of HandlerSocket is here:
31 https://github.com/ahiguti/HandlerSocket-Plugin-for-MySQL
32
33=== modified file 'HandlerSocket-Plugin-for-MySQL/handlersocket/database.cpp'
34--- HandlerSocket-Plugin-for-MySQL/handlersocket/database.cpp 2010-11-24 08:58:24 +0000
35+++ HandlerSocket-Plugin-for-MySQL/handlersocket/database.cpp 2010-12-21 06:52:53 +0000
36@@ -549,9 +549,13 @@
37 const string_ref& nv = args.uvals[i];
38 uint32_t fn = rf[i];
39 Field *const fld = table->field[fn];
40- fld->store(nv.begin(), nv.size(), &my_charset_bin);
41+ if (nv.begin() == 0) {
42+ fld->set_null();
43+ } else {
44+ fld->set_notnull();
45+ fld->store(nv.begin(), nv.size(), &my_charset_bin);
46+ }
47 }
48- memset(buf, 0, table->s->null_bytes); /* TODO: allow NULL */
49 const int r = hnd->ha_update_row(table->record[1], buf);
50 if (r != 0 && r != HA_ERR_RECORD_IS_THE_SAME) {
51 return r;
52@@ -587,12 +591,16 @@
53 handler *const hnd = table->file;
54 uchar *const buf = table->record[0];
55 empty_record(table);
56+ memset(buf, 0, table->s->null_bytes); /* clear null flags */
57 Field **fld = table->field;
58 size_t i = 0;
59 for (; *fld && i < fvalslen; ++fld, ++i) {
60- (*fld)->store(fvals[i].begin(), fvals[i].size(), &my_charset_bin);
61+ if (fvals[i].begin() == 0) {
62+ (*fld)->set_null();
63+ } else {
64+ (*fld)->store(fvals[i].begin(), fvals[i].size(), &my_charset_bin);
65+ }
66 }
67- memset(buf, 0, table->s->null_bytes); /* TODO: allow NULL */
68 const int r = hnd->ha_write_row(buf);
69 return cb.dbcb_resp_short(r != 0 ? 1 : 0, "");
70 }
71
72=== modified file 'HandlerSocket-Plugin-for-MySQL/handlersocket/hstcpsvr_worker.cpp'
73--- HandlerSocket-Plugin-for-MySQL/handlersocket/hstcpsvr_worker.cpp 2010-11-24 08:58:24 +0000
74+++ HandlerSocket-Plugin-for-MySQL/handlersocket/hstcpsvr_worker.cpp 2010-12-21 06:52:53 +0000
75@@ -771,8 +771,14 @@
76 read_token(start, finish);
77 char *const f_end = start;
78 char *wp = f_begin;
79- unescape_string(wp, f_begin, f_end);
80- uflds[i] = string_ref(f_begin, wp - f_begin);
81+ if (is_null_expression(f_begin, f_end)) {
82+ /* null */
83+ uflds[i] = string_ref();
84+ } else {
85+ /* non-null */
86+ unescape_string(wp, f_begin, f_end);
87+ uflds[i] = string_ref(f_begin, wp - f_begin);
88+ }
89 }
90 args.uvals = uflds;
91 return dbctx->cmd_exec_on_index(conn, args);
92
93=== modified file 'HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/run.sh'
94--- HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/run.sh 2010-11-24 08:58:24 +0000
95+++ HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/run.sh 2010-12-21 06:52:53 +0000
96@@ -1,6 +1,6 @@
97 #!/bin/bash
98
99-TESTS="01 02 03 04 05 06 07 08 09";
100+TESTS="01 02 03 04 05 06 07 08 09 10";
101
102 source ../common/compat.sh
103
104
105=== added file 'HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test10.expected'
106--- HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test10.expected 1970-01-01 00:00:00 +0000
107+++ HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test10.expected 2010-12-21 06:52:53 +0000
108@@ -0,0 +1,771 @@
109+HSINSERTDUMP_TABLE
110+0 v1_0 [null]
111+1 v1_1 [null]
112+10 v1_10 [null]
113+100 v1_100 [null]
114+101 v1_101 [null]
115+102 v1_102 [null]
116+103 v1_103 [null]
117+104 v1_104 [null]
118+105 v1_105 [null]
119+106 v1_106 [null]
120+107 v1_107 [null]
121+108 v1_108 [null]
122+109 v1_109 [null]
123+11 v1_11 [null]
124+110 v1_110 [null]
125+111 v1_111 [null]
126+112 v1_112 [null]
127+113 v1_113 [null]
128+114 v1_114 [null]
129+115 v1_115 [null]
130+116 v1_116 [null]
131+117 v1_117 [null]
132+118 v1_118 [null]
133+119 v1_119 [null]
134+12 v1_12 [null]
135+120 v1_120 [null]
136+121 v1_121 [null]
137+122 v1_122 [null]
138+123 v1_123 [null]
139+124 v1_124 [null]
140+125 v1_125 [null]
141+126 v1_126 [null]
142+127 v1_127 [null]
143+128 v1_128 [null]
144+129 v1_129 [null]
145+13 v1_13 [null]
146+130 v1_130 [null]
147+131 v1_131 [null]
148+132 v1_132 [null]
149+133 v1_133 [null]
150+134 v1_134 [null]
151+135 v1_135 [null]
152+136 v1_136 [null]
153+137 v1_137 [null]
154+138 v1_138 [null]
155+139 v1_139 [null]
156+14 v1_14 [null]
157+140 v1_140 [null]
158+141 v1_141 [null]
159+142 v1_142 [null]
160+143 v1_143 [null]
161+144 v1_144 [null]
162+145 v1_145 [null]
163+146 v1_146 [null]
164+147 v1_147 [null]
165+148 v1_148 [null]
166+149 v1_149 [null]
167+15 v1_15 [null]
168+150 v1_150 [null]
169+151 v1_151 [null]
170+152 v1_152 [null]
171+153 v1_153 [null]
172+154 v1_154 [null]
173+155 v1_155 [null]
174+156 v1_156 [null]
175+157 v1_157 [null]
176+158 v1_158 [null]
177+159 v1_159 [null]
178+16 v1_16 [null]
179+160 v1_160 [null]
180+161 v1_161 [null]
181+162 v1_162 [null]
182+163 v1_163 [null]
183+164 v1_164 [null]
184+165 v1_165 [null]
185+166 v1_166 [null]
186+167 v1_167 [null]
187+168 v1_168 [null]
188+169 v1_169 [null]
189+17 v1_17 [null]
190+170 v1_170 [null]
191+171 v1_171 [null]
192+172 v1_172 [null]
193+173 v1_173 [null]
194+174 v1_174 [null]
195+175 v1_175 [null]
196+176 v1_176 [null]
197+177 v1_177 [null]
198+178 v1_178 [null]
199+179 v1_179 [null]
200+18 v1_18 [null]
201+180 v1_180 [null]
202+181 v1_181 [null]
203+182 v1_182 [null]
204+183 v1_183 [null]
205+184 v1_184 [null]
206+185 v1_185 [null]
207+186 v1_186 [null]
208+187 v1_187 [null]
209+188 v1_188 [null]
210+189 v1_189 [null]
211+19 v1_19 [null]
212+190 v1_190 [null]
213+191 v1_191 [null]
214+192 v1_192 [null]
215+193 v1_193 [null]
216+194 v1_194 [null]
217+195 v1_195 [null]
218+196 v1_196 [null]
219+197 v1_197 [null]
220+198 v1_198 [null]
221+199 v1_199 [null]
222+2 v1_2 [null]
223+20 v1_20 [null]
224+200 v1_200 [null]
225+201 v1_201 [null]
226+202 v1_202 [null]
227+203 v1_203 [null]
228+204 v1_204 [null]
229+205 v1_205 [null]
230+206 v1_206 [null]
231+207 v1_207 [null]
232+208 v1_208 [null]
233+209 v1_209 [null]
234+21 v1_21 [null]
235+210 v1_210 [null]
236+211 v1_211 [null]
237+212 v1_212 [null]
238+213 v1_213 [null]
239+214 v1_214 [null]
240+215 v1_215 [null]
241+216 v1_216 [null]
242+217 v1_217 [null]
243+218 v1_218 [null]
244+219 v1_219 [null]
245+22 v1_22 [null]
246+220 v1_220 [null]
247+221 v1_221 [null]
248+222 v1_222 [null]
249+223 v1_223 [null]
250+224 v1_224 [null]
251+225 v1_225 [null]
252+226 v1_226 [null]
253+227 v1_227 [null]
254+228 v1_228 [null]
255+229 v1_229 [null]
256+23 v1_23 [null]
257+230 v1_230 [null]
258+231 v1_231 [null]
259+232 v1_232 [null]
260+233 v1_233 [null]
261+234 v1_234 [null]
262+235 v1_235 [null]
263+236 v1_236 [null]
264+237 v1_237 [null]
265+238 v1_238 [null]
266+239 v1_239 [null]
267+24 v1_24 [null]
268+240 v1_240 [null]
269+241 v1_241 [null]
270+242 v1_242 [null]
271+243 v1_243 [null]
272+244 v1_244 [null]
273+245 v1_245 [null]
274+246 v1_246 [null]
275+247 v1_247 [null]
276+248 v1_248 [null]
277+249 v1_249 [null]
278+25 v1_25 [null]
279+250 v1_250 [null]
280+251 v1_251 [null]
281+252 v1_252 [null]
282+253 v1_253 [null]
283+254 v1_254 [null]
284+255 v1_255 [null]
285+26 v1_26 [null]
286+27 v1_27 [null]
287+28 v1_28 [null]
288+29 v1_29 [null]
289+3 v1_3 [null]
290+30 v1_30 [null]
291+31 v1_31 [null]
292+32 v1_32 [null]
293+33 v1_33 [null]
294+34 v1_34 [null]
295+35 v1_35 [null]
296+36 v1_36 [null]
297+37 v1_37 [null]
298+38 v1_38 [null]
299+39 v1_39 [null]
300+4 v1_4 [null]
301+40 v1_40 [null]
302+41 v1_41 [null]
303+42 v1_42 [null]
304+43 v1_43 [null]
305+44 v1_44 [null]
306+45 v1_45 [null]
307+46 v1_46 [null]
308+47 v1_47 [null]
309+48 v1_48 [null]
310+49 v1_49 [null]
311+5 v1_5 [null]
312+50 v1_50 [null]
313+51 v1_51 [null]
314+52 v1_52 [null]
315+53 v1_53 [null]
316+54 v1_54 [null]
317+55 v1_55 [null]
318+56 v1_56 [null]
319+57 v1_57 [null]
320+58 v1_58 [null]
321+59 v1_59 [null]
322+6 v1_6 [null]
323+60 v1_60 [null]
324+61 v1_61 [null]
325+62 v1_62 [null]
326+63 v1_63 [null]
327+64 v1_64 [null]
328+65 v1_65 [null]
329+66 v1_66 [null]
330+67 v1_67 [null]
331+68 v1_68 [null]
332+69 v1_69 [null]
333+7 v1_7 [null]
334+70 v1_70 [null]
335+71 v1_71 [null]
336+72 v1_72 [null]
337+73 v1_73 [null]
338+74 v1_74 [null]
339+75 v1_75 [null]
340+76 v1_76 [null]
341+77 v1_77 [null]
342+78 v1_78 [null]
343+79 v1_79 [null]
344+8 v1_8 [null]
345+80 v1_80 [null]
346+81 v1_81 [null]
347+82 v1_82 [null]
348+83 v1_83 [null]
349+84 v1_84 [null]
350+85 v1_85 [null]
351+86 v1_86 [null]
352+87 v1_87 [null]
353+88 v1_88 [null]
354+89 v1_89 [null]
355+9 v1_9 [null]
356+90 v1_90 [null]
357+91 v1_91 [null]
358+92 v1_92 [null]
359+93 v1_93 [null]
360+94 v1_94 [null]
361+95 v1_95 [null]
362+96 v1_96 [null]
363+97 v1_97 [null]
364+98 v1_98 [null]
365+99 v1_99 [null]
366+HSUPDATEDUMP_TABLE
367+0 [null] [null]
368+1 [null] [null]
369+10 [null] [null]
370+100 [null] [null]
371+101 [null] [null]
372+102 [null] [null]
373+103 [null] [null]
374+104 [null] [null]
375+105 [null] [null]
376+106 [null] [null]
377+107 [null] [null]
378+108 [null] [null]
379+109 [null] [null]
380+11 [null] [null]
381+110 [null] [null]
382+111 [null] [null]
383+112 [null] [null]
384+113 [null] [null]
385+114 [null] [null]
386+115 [null] [null]
387+116 [null] [null]
388+117 [null] [null]
389+118 [null] [null]
390+119 [null] [null]
391+12 [null] [null]
392+120 [null] [null]
393+121 [null] [null]
394+122 [null] [null]
395+123 [null] [null]
396+124 [null] [null]
397+125 [null] [null]
398+126 [null] [null]
399+127 [null] [null]
400+128 [null] [null]
401+129 [null] [null]
402+13 [null] [null]
403+130 [null] [null]
404+131 [null] [null]
405+132 [null] [null]
406+133 [null] [null]
407+134 [null] [null]
408+135 [null] [null]
409+136 [null] [null]
410+137 [null] [null]
411+138 [null] [null]
412+139 [null] [null]
413+14 [null] [null]
414+140 [null] [null]
415+141 [null] [null]
416+142 [null] [null]
417+143 [null] [null]
418+144 [null] [null]
419+145 [null] [null]
420+146 [null] [null]
421+147 [null] [null]
422+148 [null] [null]
423+149 [null] [null]
424+15 [null] [null]
425+150 [null] [null]
426+151 [null] [null]
427+152 [null] [null]
428+153 [null] [null]
429+154 [null] [null]
430+155 [null] [null]
431+156 [null] [null]
432+157 [null] [null]
433+158 [null] [null]
434+159 [null] [null]
435+16 [null] [null]
436+160 [null] [null]
437+161 [null] [null]
438+162 [null] [null]
439+163 [null] [null]
440+164 [null] [null]
441+165 [null] [null]
442+166 [null] [null]
443+167 [null] [null]
444+168 [null] [null]
445+169 [null] [null]
446+17 [null] [null]
447+170 [null] [null]
448+171 [null] [null]
449+172 [null] [null]
450+173 [null] [null]
451+174 [null] [null]
452+175 [null] [null]
453+176 [null] [null]
454+177 [null] [null]
455+178 [null] [null]
456+179 [null] [null]
457+18 [null] [null]
458+180 [null] [null]
459+181 [null] [null]
460+182 [null] [null]
461+183 [null] [null]
462+184 [null] [null]
463+185 [null] [null]
464+186 [null] [null]
465+187 [null] [null]
466+188 [null] [null]
467+189 [null] [null]
468+19 [null] [null]
469+190 [null] [null]
470+191 [null] [null]
471+192 [null] [null]
472+193 [null] [null]
473+194 [null] [null]
474+195 [null] [null]
475+196 [null] [null]
476+197 [null] [null]
477+198 [null] [null]
478+199 [null] [null]
479+2 [null] [null]
480+20 [null] [null]
481+200 [null] [null]
482+201 [null] [null]
483+202 [null] [null]
484+203 [null] [null]
485+204 [null] [null]
486+205 [null] [null]
487+206 [null] [null]
488+207 [null] [null]
489+208 [null] [null]
490+209 [null] [null]
491+21 [null] [null]
492+210 [null] [null]
493+211 [null] [null]
494+212 [null] [null]
495+213 [null] [null]
496+214 [null] [null]
497+215 [null] [null]
498+216 [null] [null]
499+217 [null] [null]
500+218 [null] [null]
501+219 [null] [null]
502+22 [null] [null]
503+220 [null] [null]
504+221 [null] [null]
505+222 [null] [null]
506+223 [null] [null]
507+224 [null] [null]
508+225 [null] [null]
509+226 [null] [null]
510+227 [null] [null]
511+228 [null] [null]
512+229 [null] [null]
513+23 [null] [null]
514+230 [null] [null]
515+231 [null] [null]
516+232 [null] [null]
517+233 [null] [null]
518+234 [null] [null]
519+235 [null] [null]
520+236 [null] [null]
521+237 [null] [null]
522+238 [null] [null]
523+239 [null] [null]
524+24 [null] [null]
525+240 [null] [null]
526+241 [null] [null]
527+242 [null] [null]
528+243 [null] [null]
529+244 [null] [null]
530+245 [null] [null]
531+246 [null] [null]
532+247 [null] [null]
533+248 [null] [null]
534+249 [null] [null]
535+25 [null] [null]
536+250 [null] [null]
537+251 [null] [null]
538+252 [null] [null]
539+253 [null] [null]
540+254 [null] [null]
541+255 [null] [null]
542+26 [null] [null]
543+27 [null] [null]
544+28 [null] [null]
545+29 [null] [null]
546+3 [null] [null]
547+30 [null] [null]
548+31 [null] [null]
549+32 [null] [null]
550+33 [null] [null]
551+34 [null] [null]
552+35 [null] [null]
553+36 [null] [null]
554+37 [null] [null]
555+38 [null] [null]
556+39 [null] [null]
557+4 [null] [null]
558+40 [null] [null]
559+41 [null] [null]
560+42 [null] [null]
561+43 [null] [null]
562+44 [null] [null]
563+45 [null] [null]
564+46 [null] [null]
565+47 [null] [null]
566+48 [null] [null]
567+49 [null] [null]
568+5 [null] [null]
569+50 [null] [null]
570+51 [null] [null]
571+52 [null] [null]
572+53 [null] [null]
573+54 [null] [null]
574+55 [null] [null]
575+56 [null] [null]
576+57 [null] [null]
577+58 [null] [null]
578+59 [null] [null]
579+6 [null] [null]
580+60 [null] [null]
581+61 [null] [null]
582+62 [null] [null]
583+63 [null] [null]
584+64 [null] [null]
585+65 [null] [null]
586+66 [null] [null]
587+67 [null] [null]
588+68 [null] [null]
589+69 [null] [null]
590+7 [null] [null]
591+70 [null] [null]
592+71 [null] [null]
593+72 [null] [null]
594+73 [null] [null]
595+74 [null] [null]
596+75 [null] [null]
597+76 [null] [null]
598+77 [null] [null]
599+78 [null] [null]
600+79 [null] [null]
601+8 [null] [null]
602+80 [null] [null]
603+81 [null] [null]
604+82 [null] [null]
605+83 [null] [null]
606+84 [null] [null]
607+85 [null] [null]
608+86 [null] [null]
609+87 [null] [null]
610+88 [null] [null]
611+89 [null] [null]
612+9 [null] [null]
613+90 [null] [null]
614+91 [null] [null]
615+92 [null] [null]
616+93 [null] [null]
617+94 [null] [null]
618+95 [null] [null]
619+96 [null] [null]
620+97 [null] [null]
621+98 [null] [null]
622+99 [null] [null]
623+HSUPDATEDUMP_TABLE
624+0 hoge [null]
625+1 hoge [null]
626+10 hoge [null]
627+100 hoge [null]
628+101 hoge [null]
629+102 hoge [null]
630+103 hoge [null]
631+104 hoge [null]
632+105 hoge [null]
633+106 hoge [null]
634+107 hoge [null]
635+108 hoge [null]
636+109 hoge [null]
637+11 hoge [null]
638+110 hoge [null]
639+111 hoge [null]
640+112 hoge [null]
641+113 hoge [null]
642+114 hoge [null]
643+115 hoge [null]
644+116 hoge [null]
645+117 hoge [null]
646+118 hoge [null]
647+119 hoge [null]
648+12 hoge [null]
649+120 hoge [null]
650+121 hoge [null]
651+122 hoge [null]
652+123 hoge [null]
653+124 hoge [null]
654+125 hoge [null]
655+126 hoge [null]
656+127 hoge [null]
657+128 hoge [null]
658+129 hoge [null]
659+13 hoge [null]
660+130 hoge [null]
661+131 hoge [null]
662+132 hoge [null]
663+133 hoge [null]
664+134 hoge [null]
665+135 hoge [null]
666+136 hoge [null]
667+137 hoge [null]
668+138 hoge [null]
669+139 hoge [null]
670+14 hoge [null]
671+140 hoge [null]
672+141 hoge [null]
673+142 hoge [null]
674+143 hoge [null]
675+144 hoge [null]
676+145 hoge [null]
677+146 hoge [null]
678+147 hoge [null]
679+148 hoge [null]
680+149 hoge [null]
681+15 hoge [null]
682+150 hoge [null]
683+151 hoge [null]
684+152 hoge [null]
685+153 hoge [null]
686+154 hoge [null]
687+155 hoge [null]
688+156 hoge [null]
689+157 hoge [null]
690+158 hoge [null]
691+159 hoge [null]
692+16 hoge [null]
693+160 hoge [null]
694+161 hoge [null]
695+162 hoge [null]
696+163 hoge [null]
697+164 hoge [null]
698+165 hoge [null]
699+166 hoge [null]
700+167 hoge [null]
701+168 hoge [null]
702+169 hoge [null]
703+17 hoge [null]
704+170 hoge [null]
705+171 hoge [null]
706+172 hoge [null]
707+173 hoge [null]
708+174 hoge [null]
709+175 hoge [null]
710+176 hoge [null]
711+177 hoge [null]
712+178 hoge [null]
713+179 hoge [null]
714+18 hoge [null]
715+180 hoge [null]
716+181 hoge [null]
717+182 hoge [null]
718+183 hoge [null]
719+184 hoge [null]
720+185 hoge [null]
721+186 hoge [null]
722+187 hoge [null]
723+188 hoge [null]
724+189 hoge [null]
725+19 hoge [null]
726+190 hoge [null]
727+191 hoge [null]
728+192 hoge [null]
729+193 hoge [null]
730+194 hoge [null]
731+195 hoge [null]
732+196 hoge [null]
733+197 hoge [null]
734+198 hoge [null]
735+199 hoge [null]
736+2 hoge [null]
737+20 hoge [null]
738+200 hoge [null]
739+201 hoge [null]
740+202 hoge [null]
741+203 hoge [null]
742+204 hoge [null]
743+205 hoge [null]
744+206 hoge [null]
745+207 hoge [null]
746+208 hoge [null]
747+209 hoge [null]
748+21 hoge [null]
749+210 hoge [null]
750+211 hoge [null]
751+212 hoge [null]
752+213 hoge [null]
753+214 hoge [null]
754+215 hoge [null]
755+216 hoge [null]
756+217 hoge [null]
757+218 hoge [null]
758+219 hoge [null]
759+22 hoge [null]
760+220 hoge [null]
761+221 hoge [null]
762+222 hoge [null]
763+223 hoge [null]
764+224 hoge [null]
765+225 hoge [null]
766+226 hoge [null]
767+227 hoge [null]
768+228 hoge [null]
769+229 hoge [null]
770+23 hoge [null]
771+230 hoge [null]
772+231 hoge [null]
773+232 hoge [null]
774+233 hoge [null]
775+234 hoge [null]
776+235 hoge [null]
777+236 hoge [null]
778+237 hoge [null]
779+238 hoge [null]
780+239 hoge [null]
781+24 hoge [null]
782+240 hoge [null]
783+241 hoge [null]
784+242 hoge [null]
785+243 hoge [null]
786+244 hoge [null]
787+245 hoge [null]
788+246 hoge [null]
789+247 hoge [null]
790+248 hoge [null]
791+249 hoge [null]
792+25 hoge [null]
793+250 hoge [null]
794+251 hoge [null]
795+252 hoge [null]
796+253 hoge [null]
797+254 hoge [null]
798+255 hoge [null]
799+26 hoge [null]
800+27 hoge [null]
801+28 hoge [null]
802+29 hoge [null]
803+3 hoge [null]
804+30 hoge [null]
805+31 hoge [null]
806+32 hoge [null]
807+33 hoge [null]
808+34 hoge [null]
809+35 hoge [null]
810+36 hoge [null]
811+37 hoge [null]
812+38 hoge [null]
813+39 hoge [null]
814+4 hoge [null]
815+40 hoge [null]
816+41 hoge [null]
817+42 hoge [null]
818+43 hoge [null]
819+44 hoge [null]
820+45 hoge [null]
821+46 hoge [null]
822+47 hoge [null]
823+48 hoge [null]
824+49 hoge [null]
825+5 hoge [null]
826+50 hoge [null]
827+51 hoge [null]
828+52 hoge [null]
829+53 hoge [null]
830+54 hoge [null]
831+55 hoge [null]
832+56 hoge [null]
833+57 hoge [null]
834+58 hoge [null]
835+59 hoge [null]
836+6 hoge [null]
837+60 hoge [null]
838+61 hoge [null]
839+62 hoge [null]
840+63 hoge [null]
841+64 hoge [null]
842+65 hoge [null]
843+66 hoge [null]
844+67 hoge [null]
845+68 hoge [null]
846+69 hoge [null]
847+7 hoge [null]
848+70 hoge [null]
849+71 hoge [null]
850+72 hoge [null]
851+73 hoge [null]
852+74 hoge [null]
853+75 hoge [null]
854+76 hoge [null]
855+77 hoge [null]
856+78 hoge [null]
857+79 hoge [null]
858+8 hoge [null]
859+80 hoge [null]
860+81 hoge [null]
861+82 hoge [null]
862+83 hoge [null]
863+84 hoge [null]
864+85 hoge [null]
865+86 hoge [null]
866+87 hoge [null]
867+88 hoge [null]
868+89 hoge [null]
869+9 hoge [null]
870+90 hoge [null]
871+91 hoge [null]
872+92 hoge [null]
873+93 hoge [null]
874+94 hoge [null]
875+95 hoge [null]
876+96 hoge [null]
877+97 hoge [null]
878+98 hoge [null]
879+99 hoge [null]
880
881=== added file 'HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test10.pl'
882--- HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test10.pl 1970-01-01 00:00:00 +0000
883+++ HandlerSocket-Plugin-for-MySQL/regtest/test_01_lib/test10.pl 2010-12-21 06:52:53 +0000
884@@ -0,0 +1,93 @@
885+#!/usr/bin/perl
886+
887+# vim:sw=2:ai
888+
889+# test for nulls
890+
891+BEGIN {
892+ push @INC, "../common/";
893+};
894+
895+use strict;
896+use warnings;
897+use hstest;
898+
899+my $dbh = hstest::init_testdb();
900+my $table = 'hstesttbl';
901+my $tablesize = 256;
902+$dbh->do(
903+ "create table $table (" .
904+ "k varchar(30) primary key, " .
905+ "v1 varchar(30), " .
906+ "v2 varchar(30)) " .
907+ "engine = innodb default charset = binary");
908+srand(999);
909+
910+my %valmap = ();
911+
912+# setting null
913+print "HSINSERT";
914+my $hs = hstest::get_hs_connection(undef, 9999);
915+my $dbname = $hstest::conf{dbname};
916+$hs->open_index(1, $dbname, $table, '', 'k,v1,v2');
917+for (my $i = 0; $i < $tablesize; ++$i) {
918+ my $k = "" . $i;
919+ my $v1 = "v1_" . $i;
920+ my $v2 = undef; # null value
921+ my $r = $hs->execute_insert(1, [ $k, $v1, $v2 ]);
922+ my $err = $r->[0];
923+ if ($err != 0) {
924+ my $err_str = $r->[1];
925+ print "$err $err_str\n";
926+ }
927+}
928+undef $hs;
929+
930+dump_table();
931+
932+# setting null
933+print "HSUPDATE";
934+$hs = hstest::get_hs_connection(undef, 9999);
935+$dbname = $hstest::conf{dbname};
936+$hs->open_index(2, $dbname, $table, '', 'v1');
937+for (my $i = 0; $i < $tablesize; ++$i) {
938+ my $r = $hs->execute_single(2, '=', [ $i ], 1000, 0, 'U', [ undef ]);
939+ my $err = $r->[0];
940+ if ($err != 0) {
941+ my $err_str = $r->[1];
942+ print "$err $err_str\n";
943+ }
944+}
945+undef $hs;
946+
947+dump_table();
948+
949+# setting non-null
950+print "HSUPDATE";
951+$hs = hstest::get_hs_connection(undef, 9999);
952+$dbname = $hstest::conf{dbname};
953+$hs->open_index(2, $dbname, $table, '', 'v1');
954+for (my $i = 0; $i < $tablesize; ++$i) {
955+ my $r = $hs->execute_single(2, '=', [ $i ], 1000, 0, 'U', [ "hoge" ]);
956+ my $err = $r->[0];
957+ if ($err != 0) {
958+ my $err_str = $r->[1];
959+ print "$err $err_str\n";
960+ }
961+}
962+undef $hs;
963+
964+dump_table();
965+
966+sub dump_table {
967+ print "DUMP_TABLE\n";
968+ my $aref = $dbh->selectall_arrayref("select k,v1,v2 from $table order by k");
969+ for my $row (@$aref) {
970+ my ($k, $v1, $v2) = @$row;
971+ $v1 = "[null]" if !defined($v1);
972+ $v2 = "[null]" if !defined($v2);
973+ print "$k $v1 $v2\n";
974+ # print "MISMATCH\n" if ($valmap{$k} ne $v);
975+ }
976+}
977+

Subscribers

People subscribed via source and target branches

to all changes: