From 6d60145a3d3dfcbf3ff92fb08e35679551733527 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jaramago=20Fern=C3=A1ndez?= Date: Mon, 29 Nov 2021 15:41:13 +0100 Subject: [PATCH] Added the rest of payloads supported used by 'test_mysql_query_digests_stages-t.cpp' left as doc --- .../tokenizer_payloads/crashing_payload_1.txt | 1 + .../tokenizer_payloads/crashing_payload_2.txt | Bin 0 -> 29992 bytes .../tokenizer_payloads/crashing_payload_3.txt | Bin 0 -> 521 bytes .../tokenizer_payloads/crashing_payload_4.txt | Bin 0 -> 918 bytes .../tokenizer_payloads/crashing_payload_5.txt | 2 + .../tokenizer_payloads/crashing_payload_6.txt | 1 + .../crashing_payloads.hjson | 73 ++++++++++++++++++ .../digest_corner_cases_1.hjson | 16 ++++ .../digest_corner_cases_2.hjson | 16 ++++ .../digest_corner_cases_3.hjson | 16 ++++ .../digest_corner_cases_4.hjson | 16 ++++ 11 files changed, 141 insertions(+) create mode 100644 test/tap/tests/tokenizer_payloads/crashing_payload_1.txt create mode 100644 test/tap/tests/tokenizer_payloads/crashing_payload_2.txt create mode 100644 test/tap/tests/tokenizer_payloads/crashing_payload_3.txt create mode 100644 test/tap/tests/tokenizer_payloads/crashing_payload_4.txt create mode 100644 test/tap/tests/tokenizer_payloads/crashing_payload_5.txt create mode 100644 test/tap/tests/tokenizer_payloads/crashing_payload_6.txt create mode 100644 test/tap/tests/tokenizer_payloads/crashing_payloads.hjson create mode 100644 test/tap/tests/tokenizer_payloads/digest_corner_cases_1.hjson create mode 100644 test/tap/tests/tokenizer_payloads/digest_corner_cases_2.hjson create mode 100644 test/tap/tests/tokenizer_payloads/digest_corner_cases_3.hjson create mode 100644 test/tap/tests/tokenizer_payloads/digest_corner_cases_4.hjson diff --git a/test/tap/tests/tokenizer_payloads/crashing_payload_1.txt b/test/tap/tests/tokenizer_payloads/crashing_payload_1.txt new file mode 100644 index 000000000..f41cde9f1 --- /dev/null +++ b/test/tap/tests/tokenizer_payloads/crashing_payload_1.txt @@ -0,0 +1 @@ +INSERT /*! !!!!!!!!!!!!!!!!!!!!!IGNORE ÿ€ +NTO table100_int_autoinc VALUES %NULL, 'z', 'k', 'ydooepmkjfbwqsrrzxgxqafnrakxsqgrazjjrjyczqpbtdhvxacknpjxozn', NULL, 'td, 'h', 'o', 'd6, 'zydooepmkjfbwqsrrzxgxqafnrakxsqgrbbbbbbbbbbznshusuklkclbvE */ O tabqrzynxvdosbbgnmngjvvaeyxzkphzembbdaavworfhhyqt', 'u' 'she', 5, 'i', 'w', NULL, 'on', 'rzydooepmkjfbwqsrrzxgxq', '2005-05-20 13:33:46', 'y', 129006016, 'your', 'g', '2009-.9-18 12:11:59', NULL, -1386217472, 'frzydooepmkjfbwqsrrzxgxqafnrakINZERT /*! IGNORE */ INTT /*! IGNORE */ O tablÿ100_int_ diff --git a/test/tap/tests/tokenizer_payloads/crashing_payload_2.txt b/test/tap/tests/tokenizer_payloads/crashing_payload_2.txt new file mode 100644 index 0000000000000000000000000000000000000000..c304a1793303469560a5d8c9394d352e3eb61cb6 GIT binary patch literal 29992 zcmc&-NpEY%a=z=VvdxZJ1blgU#5?mqAb_(l0tbd4@P@1mIGjXM;viBJrR?%Avd{l8 zVE?gv-`8~pN*oRcT^oiZ9-gkM?wYHs`+n1({w^8~TdSXb{rMlF*1!C?_^)ri1Ydsr zIhuXh{`k$q^w*!i`{6I&{`s%1KmPt7|LMDb|KU%6{;TzW+F!Ja2k~yT$$OX8E?ja0B;Pf?M*hA%DDG z0Qq6^^zd{yyBo~<&#U#@>tgdfTt4*skWEQSq9mo*wP#B)u|0d;GX;a8(c~@x74oV}CU0Jw1@h zVoCUP-u7=vjct}Kp_1@Zd!J~w`(p0NYg{V?Pd7nI0Yvkr}!_Y6mX$^{1y}!ITQkpuYKQ3 zVlU4EO7D0n7X*mlEzFxo_#Bt|ewc?r=2hG$w)TKOD0uDFPWpC6C|3#-fYs!ZrmQ_{ zOo7PdkACwp?<2}z{;vor3Fz$tNc&>b6J(7fI1RiKApi)A7>9uurxf11+baRyioUmJ z$VpK8jHeGL2xF7nq-0N4pwD+V4&m1knGG@04fsKrXQ{bxmmPjJLf++fpvIQx zcG8#z&SSmfeLjcmA>Pa^-t6_4iejjlLmR@k6t3Y_3aC;Cn)E5vfv!+aR^bdqwBsj9 z4l^J65Emm>e$@Wv+Z`-v6orYGCr&tu_XvM^*Awr#{`Op-=LJP)=~@Ns=`ujabN_AY zQ*w}Vll0JSwr@X!3;@Q`#(v<#aL_}$g~MZVv`{kXQ^CzujS#%&BN2efi6e6OX6f{= zwbcsz7QtF5q3-`rn?`h!A=x%hs9xLFDI^s_M*6-ZbiPMFz#l2EIIoI<&|oB)Dd zAA`e}z_P3ZmialgG0H6Y-y9r_fsni~&%G3J2A~wB3Rgt~ObBO8m;ux!LJg9rI8DS! z0rXFW#4^+F_-O)TX!(u=L8%?Xw@&QmVT#-XLPj|oj|w}7SSD2ZgxtyNMgdVUwLbwwMRfc~YiGWwNAQ_tTsy zTBL|^aSm((Tqs*JvR@`6<#vVJa0W|0;AP@06}XjVVWdn?^#ErQ!7D5zL_l!^mxKJ| z)R{G^C@K@HkRS#tVq~RYL?=RmO3O#4Xej{+Mlt|PNFKRV%NJ$w16a_!>lZR6lQB4J z0rr)?CnHYQ7KQTW)}0J)7lD&ARSMF{X3*}!|=-HR(k{0sGs1zY|`*nwd z<$}mUCBrVYQjDCRNgGg+rIT~V?^^4fbK}JN6N!wIDp-K16@>KhuB6EIF3S3W2loM! zCyOgHs2Fw7TcF}i=>a<^TXM*NC#m9xv{Gw`E#**mWtIkqp#Sne?-D-%f>a$Ea%!qbh+5?h;c`Xr;8`EstoZ`XK?f!#3qwyjKh-=| z_4htlH4em5TeiV)CrT{^>>nOkWIBL=>@y95ERl^b3tuv(PAtGRSYqrjd5&dnogpiE z8p3m^Y~{>+mUxJ-T+y4fsd84j4Y*1_&mtHkUj@&{sY_6SMFyThZp{binGB??yUU`C z$MPxDhI70^Y75E?^PngQ&flTud|AS6zr6oun{9Z-57IC~?yptQ4ExyS#1{-}k|af8 zo0>E_0_mdMZGU*BK+XkyRw?Hihz`En=Ay zz-AyOPr?KdM#$t!UJ-C$O=*oVuuUJwaWyl-$C53#!DAbv23+<)9!@ins7RM&ucnVM zSM-p84mPBbmvODD-4bjg^!R3ur!pU}#Vl$XyUo&Oj3CjNne5{0wSbnJ=|(Y@0`qgV zYgd~lP8EgdUgIoCBj_KOdc0h64e4tnw{pLa*Qczu%@1@)BLie$dBVsUF=-rTG3pi| zVsK^LKxPubz@?HPd+1EawUHj`YXBAP-t>wXs~Jieij7Q3t)7@DyJ`}xC}YIMsWg!8 zk&VLNP*?~MGHEGn(Ufpoym5)P5EGT3zl+#I7NNJ$eDIwzRenH1gRYY-iy}o!3M3(1 zsTZbUQrQwM2CV_eMmUTOH~K4+fpx6_jSx;*6`Uv{UOylWj6?Iv?uahgE?JgZ8X}uB zJar9-Li4&kK9ujiOdn;#gzdH(L@N2UB^B`Dcw$qW*WSCj(W$96OYfv{vIil*E7`a2 zrOU!DprBoQ9)1q^BW+8Z;Ph+YE>@Br(o0wcK+BM?l!MYi6}NJ4Cr8X4$Iuc!<2c#) z=~p3hO{IfaV*A4LBZLh~p9^OWS|~2H{b|(3P-9d|pcJBvEqe6UCe50Jyp=K#1%|_^ zbVzy$(WkwjN4IW(yOU>&@pMOu*d@{sTSV9}4zfM2fQwK)Ok$Luh{~BLjH86haF8$` zRSi@PP%FU~FZEeyeomA56FaxCWe5m8hC>Om^uUi40ggFen>yd*pOrZhCWVjFhO-2S zdMYbAmd6Kkm==9?_+`GQO0~i*=Et;?Tp>-im;pYok3c#z0V4sop9H&VnIRT3nw#z( zl3AohSvOLM%qddYp07v+(UpmkB4YB*4}$>Foa+pP3KUtmlNOU1$uOCLEhWa|iyd?k zJZ8goBGi>yUfzwPu5-bZt?d%O{9b<-m{Ws_`i3z{c$w5>T|%u2oD}fInlbdjrNzx? z0N~(XVQF0Sz}2929ITp+zGe-8O|G2g%{FpA!s3go&+oo#>c#*=_Uhd6sMeE=+57?k z?=~y`yOwg>6d_;giGsF7xpla5MY!2HyC&`r%@07br4(`+R(pUrn5x`fPDF`FZWit$ z4zJ;5OY+ z<-F1;M9og+5XB*46&JsQwrwv&zZPap!g`-T8PJ&gQkSeN#GYu8Mbbjs81`6ZRsO^t zEDFK^fqC9BGWnV;1{^$bF!h)!1gbfB*X4(3>?pVf=_oNmazoXG(0_-HSG3?sm*_MU z@k*&QW%nlf;Q~4{Y#%xE$~UPW_g5n7oyq%Pc9`b%9}fc>#;hNfnSE-x=UPz+&!}afE9tx+{>N}?~rrzjXMQLWXVJM7$y@uoiQlZH9XC*8M zQFC;R;JGuoj}v#mLilZzWTD!{ae0q(D%Oh4oJ~0nt=RlMUHo#n>#4yvk&}VIf~fg5 zz@Zfc0ckgq60bgvKgAn^0tUBFhry6eXQm1&T#bjZCR;H^JI3QHl!-lftt?Y-uMCVV z{PV8&>B})DibG`Ha0(@BY!QH26D9~I*S}0%L;mRLbeIj30;0y!a0k^jY_`i& zG)x}dj_XK*TC5-!p%dmYD;x?bdS}xINN$a7rG?H}?+l#@Zkxt^S48OA=8zMtRR_g8 zWiDc1?|h0buG5uMat3B{HZA0gGg;-^BJJD7qRI8Lu2cVxWO8|DGl%&}L-2644fV zQty1+sOLh&-m{pi4@HLuSH;Ds?VHus_}z{HP!)q2utIYq#SBnXV>_mX_zg+Ii}&#-_J zrP$QqUTEbLU=~?wY6V^w|A*Os5E0*(3M6SBKMdkHub~T^=^tvcGm$KTcSoPsj z6aYyD(;_q0>V)V#@U2{{WqNCZgOoWQv3$YPc0tzl#PZ^ZR(oO+{aQe@K`0rcpr$B( zgGVgUI2nhHi{lihg(xw~%4G+rJ&9-=IJ>5plRf6m}?T^&k1MR0gIo`5xcDI$;D-x7pUA=>K zRga)0qXg%X8VTt9;IY(mU}8th1dEsEINJ!*TG=wN8*WRHQoV#AQ)XkSEUrOO_RVUy z{ZE<_k!jtigIrR@Zo>=E0gfsnm%!NJtKLUZwSGCyVLm+*9|u#+`1|2(DCZW`fmOBZ zuYj2oe42kMB3nx&F$pWIY$Jf(_W77Thcl&2qyHv~(YZhmr7DeDQD%pU!#H>c(~-J^ zU~r)Q1IAgfWnmV?A^LnPrIQbmkC3Ao9>Mgfd7e#x`Kq0v|MG=@OY5bG`isYM=rYaDxU=L}RNVoEZou<&&)B*tX;;Amk0#|R6ZMQMcdVJeVH0^~(pPb@nH zazE9PZJWYd4YIRHMvjXt@u5}{LgdNTgBBX51F%);ry|&~f#KL$@nNTgQt%A5!UNTC z6&n}Doz3(8HV6V$b>GJAG@N|t{lGbwiH@`^;j~d)dX>B8$DWJMYB#(eC&i{w@rG5stsCH6>>VWLCmCpWN>_?Fe1nc zxfzDw-u0V`SXVe_US|k}OADvJB$Wz$^>O}j89w?_0E6MrL$r;kKCO|XMnfA&^xnc= zS%d?AxTOpi2-vX_O~=}2uttzHM4Kt^6XIdx81E~C^79BM4igkv@IYhMb*lLqMk|6K z%gB7bh4>Gbpx7NKl2}y&RLnrF2c0q07n)8n6Cl8Q-myS{+O2VXG6u--OnQPr_h66p zSq@YvigrY2jWxz(yc4D9agTEKny$8HaGF^pd8KeO-Fd4+~3?8{FQA0VP{#$lx_`{jRO#S03K;H?Oxuh_O3uA+^O zI&5siTFMb<%WK^`0(B;JOFq`m&>aIKH3AqiP1nX<6D0+e&Q<9NLe>V zuc&h%Z;4PBz_)|1K|U`VWA zc6~)Woa2f=+__{N;9xgTu0GJ)1Bf`pj^!C~?s5mKc#*>>N}+2@d>#oD#&p2UFiCKI z4aPsZ$GaI<5(Y?;2F4fU`QYHNU9mp#qGEwPa1;$_o@@CJnT?Gz>{hdRv0UjQvPNDC z{6^RE3xH}GrbXr4?q|+65aMBb_ewdPs zH-)vmY5=TRk_l*xMy7`$66bLH9X=AL#4K`(7m`Q|3un#>V20blC108lqJA5vRMVwh zeB{SCAy2nK>tPbhpqK0C9Ioy0^S*IhckIbJ(PLX5A!$(s%oT~4i3&use?!I7|1KLDGp!%^h z(VpX7Q3B73#={&p_iU9wH6a(g%^EDp(VY2kG7DmCiR84GpNNw4R+2uxE*8RlxiZY{ zE{%_!6~yTbg-%^a8omMzL~CkS3U+Y;_*R4{Yd|B)NTP^3B;ycBXe%UK0UW(BT8hJj zeVKTb{J~`zxW}-5`Jg;(t!{vtPzD38t4*jp)}cbx(HUC)8wc?>*co^JgHG5&0;5`f z!TRV*x{Dd%ZRgXa-=pPq*OkzV8xth*L&JbCsNW*3b~{M1cuEdv8wg-j3_5PIF4WJD zt$n~xahsn@1L>b*G=F10GSF^Mj7F1N9mW_Y6LFB`xUB{c757UJ+)f_^iwC}O#Z9Qz z>^@;$n^~*rmoNC&N{+`hHW^rLTz`%-D*mwy{0ke3UKqb4NKLT=k5sF6`x(@r*oYF- zHN%&t^8i#6SgF-rexgSc~$p~ zBWQz}K%o}rp0RBzld`&$s`{Sd#~nG43r^wYA=eKgFTOd5lM@72MI1vGMlr94htv`` z44^KFgYxG0&ByL6VgVo&gG4->56b2w15L@q^?tZ+F{#Tgis(>WT-b$!Z|FQpIYcp$ zcCcQXBFC^g@2&ozkVd77`^JzO7iB&&{iAksHj>brodn=()UdGUjO!`Oe^f!;(uGFa zr3CHXZUFnjD&mDOX*E^ah_LU0h*Dv65$=jG8cx1V|A}B5nJ>@(k?*vtMuwJ9GE7ef zxu7$yl{d-y~5OVPMA6~f7i|yeJ zi4wxvhS>aTB3Fbq+=tR@8oKR|z{&Y@jX)2bf&c=LstodKXN`uFX zsIDfj+(?#QV!FBz@b0?*t^)ptHeJw!XdibjqF(3vPTapC5TNydx3=DPW3h zTvr7pNy*V-&%5YEMj$HL;BvAufM~V4=F_;P$U!MI7pD_JuW%hLx7^XO$E(5JZT;gd zG+SoRXw$XWxU!nPcIdkH_?Y1i@obgR6a%@vO!bEtA&SW++j#DgWd8jLzVIa1MgpBc zyvMpVz4w8(hOJH-(!5SW;M4=_MN>HkTTj-nZvT`?dp-Fq{Pi}d5#vAx#@3=*92b=! z%F-#fb2mq!j~>mYsL3;HlQ=2qVVnafj>Xtl#g=QtmLp2#Ejy literal 0 HcmV?d00001 diff --git a/test/tap/tests/tokenizer_payloads/crashing_payload_3.txt b/test/tap/tests/tokenizer_payloads/crashing_payload_3.txt new file mode 100644 index 0000000000000000000000000000000000000000..95cd095759f2b7a60f2eafa20fa109cf76759f0c GIT binary patch literal 521 zcmZutOKQU~6zsaI9zlhIOK6DX#7^QuA&XK1A%T3l4O0Az9ZRN(E!!j@9L%ch%DwC?=b>)hjv4AH$h^mTuO|9ZIR9?cE zOKEi!(hsvHYyC^@nui{2)(tZD`gjD;e}qzS<06yuNSbSou+@cSVnq7R>8tMyY~61F zh&di%Y-3{UhA5@J2wD}!<1Q>R0+Mt3CXO|RzBaW`m-Jt3lMDw#6Zk%ibUjaqB(C!; bkW@v{ML4I=Hts9wBv;Y_^C6hE!Vj3vjm9N&5f#o#!QN1VuC;nt(zVe4lw1tf zAM32_xD{ziLCmgpcjkM{nB2ygL^euAG&I%7QfF)o(D{NQDO`T=X^Pg|UtwON&@Pn) zU79R1i0{IUk##KFF%rK+ZEK14he%mW=l9ol52$x>il$%Yw|Din-k$W(?rHvTyGPPg z)er@6mNK83=EynEiDhwR5i4)GN!YyL#P>#bQiCvDX zAmBl1l6Xy0%gYOFhIAbitfG((@JQm3Uc_g;8im zB8K>_7I1}iJXTvgtoiBbj5DsQA zp+ttN)!qvCw-vjevAFB2>aYtRto@00H5p#P=}lv0SGydK`kFq_`|!|#Dn~;*(kny1 zw+z*_@jyX3@EVaU-&`e>}b z#YRvQPJKd3{VYlKGteA$)k#+yz>U0;m5xmIK)gLlyQjBj2}zQ4oTL|hqPzc)*KY4O h(Ozyglg7f!V>_GKo-P)06bXL9jI-oGP&Amm`vnfOKhppJ literal 0 HcmV?d00001 diff --git a/test/tap/tests/tokenizer_payloads/crashing_payload_5.txt b/test/tap/tests/tokenizer_payloads/crashing_payload_5.txt new file mode 100644 index 000000000..ea03d1702 --- /dev/null +++ b/test/tap/tests/tokenizer_payloads/crashing_payload_5.txt @@ -0,0 +1,2 @@ +createtable-9-- tib------- -----reatetable---- ty key,\n`col_bigint_undef_snÿned` bigint ,\n`# WeirdFirstNSERT /* fst_comment */ INTComment\nINSGRT /* fst_comment */ INTO /*!db.t@ble ( ÿl1, col2,'), ('va ('val2', 5,BxB2391oo2'), ('val2', 7,NULL,4,'foo2'),  (1.1E+9, 2.E-ÿÿÿÿx2:91993, 928.2939123), ('v4+2,'f„o&'), ('vxl2' + 9('val2',3*3.293192öIC9T555555555555555555555555593419foo2'), ('v"foo‚"), 9N DUPLIC9T diff --git a/test/tap/tests/tokenizer_payloads/crashing_payload_6.txt b/test/tap/tests/tokenizer_payloads/crashing_payload_6.txt new file mode 100644 index 000000000..9948861cb --- /dev/null +++ b/test/tap/tests/tokenizer_payloads/crashing_payload_6.txt @@ -0,0 +1 @@ +('val2',3*3.293192öIC9T555555555555555555555555593419foo2') diff --git a/test/tap/tests/tokenizer_payloads/crashing_payloads.hjson b/test/tap/tests/tokenizer_payloads/crashing_payloads.hjson new file mode 100644 index 000000000..819b6b2df --- /dev/null +++ b/test/tap/tests/tokenizer_payloads/crashing_payloads.hjson @@ -0,0 +1,73 @@ +[ + { + "q_path": "tokenizer_payloads/crashing_payload_1.txt", + "mz": [ + { + "digest_max_size": 50, + "grouping_limit": 0, + "groups_grouping_limit": 0, + "replace_digits": 1 + } + ] + }, + { + "q_path": "tokenizer_payloads/crashing_payload_2.txt", + "mz": [ + { + "digest_max_size": 50, + "grouping_limit": 1, + "groups_grouping_limit": 1, + "replace_digits": 1, + "lowercase": 1 + } + ] + }, + { + "q_path": "tokenizer_payloads/crashing_payload_3.txt", + "mz": [ + { + "digest_max_size": 100, + "grouping_limit": 2, + "groups_grouping_limit": 2, + "replace_digits": 1, + "lowercase": 1 + } + ] + }, + { + "q_path": "tokenizer_payloads/crashing_payload_4.txt", + "mz": [ + { + "digest_max_size": 200, + "grouping_limit": 3, + "groups_grouping_limit": 3, + "replace_digits": 1, + "lowercase": 1 + } + ] + }, + { + "q_path": "tokenizer_payloads/crashing_payload_5.txt", + "mz": [ + { + "digest_max_size": 50, + "grouping_limit": 0, + "groups_grouping_limit": 0, + "replace_digits": 1, + "lowercase": 1 + } + ] + }, + { + "q_path": "tokenizer_payloads/crashing_payload_6.txt", + "mz": [ + { + "digest_max_size": 50, + "grouping_limit": 0, + "groups_grouping_limit": 0, + "replace_digits": 1, + "lowercase": 1 + } + ] + } +] diff --git a/test/tap/tests/tokenizer_payloads/digest_corner_cases_1.hjson b/test/tap/tests/tokenizer_payloads/digest_corner_cases_1.hjson new file mode 100644 index 000000000..687386783 --- /dev/null +++ b/test/tap/tests/tokenizer_payloads/digest_corner_cases_1.hjson @@ -0,0 +1,16 @@ +[ + { + // Testing the compression limits of number parsing when buffer is exceeded. + "q": [ + "INSERT INTO db.table ( col1, col2,col3,col4, col5 ) VALUES ('val',1, 2,3,'foo'), ('val2',3,NULL,4,'foo2'), ('val2', 5,0x0239192,4,'foo2'), ('val2', 7,NULL,4,'foo2')" + ], + "mz": [ + { + "digest_max_size": 105, + "grouping_limit": 1, + "groups_grouping_limit": 1, + "digest": "INSERT INTO db.table (col1,col2,col3,col4,col5) VALUES (?,...),..." + } + ] + } +] diff --git a/test/tap/tests/tokenizer_payloads/digest_corner_cases_2.hjson b/test/tap/tests/tokenizer_payloads/digest_corner_cases_2.hjson new file mode 100644 index 000000000..66e6f69a6 --- /dev/null +++ b/test/tap/tests/tokenizer_payloads/digest_corner_cases_2.hjson @@ -0,0 +1,16 @@ +[ + { + // Testing the compression limits of number parsing when buffer is exceeded. + "q": [ + "INSERT INTO db.table (col1,col2,col3) VALUES ( -106884.372400, Null, 96967.675019, "uOkKFcQuotJLSsXHnlrRkMjkOHbnLL", nUll , 0xfffffffffffe2fa4,-98747,'FHnJDcaJuHYKrcLQjmPRgBPeEMVqHG', 0xfffffffffffe5f92 ) , (-65981.543813 , 0x18a51 , -63726 , -40277 , 'RZLWNxLKntCNvKyywPcuWWDkunJDzi' , 95651.912060 , -120483.104736 , 'zoMQmSNOsvEMwhAupPPxSdjGlpIwUF', -92653 ) ,( 79071.944789 , 29637 ,Null , 0xa3e3 , 69742.506092 , nuLl , nUlL , 32587 , nuLL ),( NUll , 193562 , NuLl,nUll ,51124 ,63407.690405,12880.173141 , -42003.235292 , nULl ) , ( 14465, 0xd769, 35866, -71474 , 238970.003674 , 49471.298925,nULl , 196468.485221, 'OQWWhgSLBQWiPGkidCLtmcJVjccXhT' ) , (15979.107082 , 0xffffffffffffdecb, 'yAsavJoqsYcdRnqzuionGLUcgKzptM' , 52201.974227 , nUll ,0xfffffffffffec75a , 152701.076362, 'vmWBqXdCYmBiZgIkQxPlMKkJzwoIjl' , "TzKdJzIgwVycdGJjnYiKVhYOVLhuHO" ) , ( 0x12a , 'wlbxzkxigeNkGceygISXGXHwHpNJfL', "MjoQpMZYZlelqYyYFQQoXXvgMLxxIB" ,-14336.956478 ,79770.092506 , 0x8a19, -209691 , -142530, NuLl ) , ( 7107 , 48803.646634 , nuLl ,"RxqHnGFqRGECSvsXmdfPutRczeoBWM" , 4707.102185 , -123755.871365 , 0x3803a ,0x892e , 0x7334 ) , ( Null , "BwQbhYkWShweQqlAgdiJjZVNkghTFt", 27725.575520 , 0x7363 , 0x21ca2 , null , "rSBYTyRDrmKCgMEKvLeDeMmGJrEWto" ,"mpuVGXNeZsbPgbpKVUREyQBVpbsmLq" ,0xffffffffffff5b11 ) ON DUPLICATE KEY UPDATE col1 = VALUES(col2)" + ], + "mz": [ + { + "digest_max_size": 300, + "grouping_limit": 1, + "groups_grouping_limit": 1, + "digest": "INSERT INTO db.table (col1,col2,col3) VALUES (?,?,?,...),(?,?,?,...),(?,?,?,...),... ON DUPLICATE KEY UPDATE col1 = VALUES(col2)" + } + ] + } +] diff --git a/test/tap/tests/tokenizer_payloads/digest_corner_cases_3.hjson b/test/tap/tests/tokenizer_payloads/digest_corner_cases_3.hjson new file mode 100644 index 000000000..face4e043 --- /dev/null +++ b/test/tap/tests/tokenizer_payloads/digest_corner_cases_3.hjson @@ -0,0 +1,16 @@ +[ + { + // Testing the compression limits of number parsing when buffer is exceeded. + "q": [ + "INSERT INTO db.table (col1,col2,col3) VALUES ( 0xfffffffffffdfa31 , 'ytWVaafHnboBDSJHpKDfIlWSWvUNjq' , 16908.503755 , -11736.372712, 0x1e798 , 'UlMwBSOlzzGgmKbjZavKKIgvDTzolx' , 9905.137073 , \"tGVoLiPoDsHOXXtXBqDrzwJHmWdOph\" ), ('XYvotpHOhBUaIKLLCPdeZamzyIQEIX' , 39167.355124 , 52963, 'HcfcZWuJpfTKhleWQNiEkydsyTPzwV' ,17553.074771 , 0xfffffffffffea0e9 , -27669 , 0xfffffffffffed5a4) , ( Null , -28382.553547, 0xffffffffffff6813 , 33781 , -31269.369619, 0xfffffffffffdd05b , \"ziXUovhpqIxEQTRDRoFVlmcXeXeXwE\", 0xffffffffffff22db ) ,(0xfffffffffffec225 ,-54614 ,-130076.423664, 87245, 'lIDxwrQRGyVEhNJyflzVVVqgWKhcGQ' ,0xffffffffffffc016 ,0xfffffffffffe2ebb , 7161.573031 ) ,( 86691 , nulL , 'wArHVQUJjIkruXUMYQZmdGwACUHfCl' , nUlL , nuLL, \"IjkZVgqmoRbNhHXEXCuapacSrarUmf\" ,\"zbXFcuBLBViyEjNoOMRfGzqVGzGYnV\" , 65818.863137 ) , ( 17501.998482, -19763.038658 , NuLl , nULL , 0xffffffffffff8053, \"FaiYqJUJdeMBqhSXLvNRjkRdoBKHCi\",NuLl , -125847 ) , ( 'FzlNatGeghhHXEaEvGZCzQAinUIark' , -10893.427711 , 0xf36e , nULl, 0xfffffffffffe71a8 , 195649.986775, 61898 , \"SvtCaHMKbyDCcWqvZnsMKHRNRGPRFC\" ), ( 69426 , 'mZiasHoxeIhKBTaiSGTQJtwxtvoobg' ,'ZHWcgyackLzxYXDOwAgVbWRANJZWoW' , 'wGkUsXdrbWcmOrGRxGyilsQAEijGvW' , \"OqKCBdtgWHePQzvBEzRUkypYgXdIbs\" , nUll ,'SOPYdoFzxfIlwcCUsnLsIlcLNugdIJ' , 0x1be89 ), (NuLL , null , nuLl , 94923.703353 , 24742.987834 , -47458, -78436, 0xfffffffffffcda0f ) ON DUPLICATE KEY UPDATE col1 = VALUES(col2)" + ], + "mz": [ + { + "digest_max_size": 300, + "grouping_limit": 1, + "groups_grouping_limit": 1, + "digest": "INSERT INTO db.table (col1,col2,col3) VALUES (?,?,?,...),(?,?,?,...),(?,?,?,...),(?,?,?,...),(?,?,?,...),(?,?,?,...),(?,?,?,...),... ON DUPLICATE KEY UPDATE col1 = VALUES(col2)" + } + ] + } +] diff --git a/test/tap/tests/tokenizer_payloads/digest_corner_cases_4.hjson b/test/tap/tests/tokenizer_payloads/digest_corner_cases_4.hjson new file mode 100644 index 000000000..ab94c7fab --- /dev/null +++ b/test/tap/tests/tokenizer_payloads/digest_corner_cases_4.hjson @@ -0,0 +1,16 @@ +[ + { + // Testing the compression limits of number parsing when buffer is exceeded. + "q": [ + "INSERT INTO db.table (col1,col2,col3) VALUES ( 0x1bb81 , 214957.551736 , NuLL , 13931.135294 , 23747.192325 ,123446.135101 , NULL , \"qishXAQYMGjKECmKDOMPhdcAnCKsIZ\" , 0xdf06 ) , ( 0xeeb2, 61634.403212 ,\"WLrEhMSFQunfdVMBlNTHuTOoJnZWXp\" , 134001 ,0x11691 ,-117247 , null , 185039.893374,0xfffffffffffdec0c ) , ( 63386.842817 ,NUll , NuLL ,'rjEesshgtPbGPhQQPPJdzShBDxgqtX', -70027.364007 , -33812,16088, -55381.721224 , 30937.841446 ) , ( -86381.060501 ,42818 , \"dWQiQvHpsqARowGWJYDfCWFfftJCQF\" , \"usJPVckeqNRKoRbJhZcnjlKWxdRFqx\", 'vmHWbmdhfopTPzKzBktGDHfgAWvTjK' , -144765.876660 ,'zpUGEePzmDcktBrkWvpAjFvIYJLjJk' , nuLL , nulL) , ( Null , -60588.485877,0xfffffffffffef1d8 , 0x186f3 , 'YRTtjWCbHXxqDAjfhqAeyOkflwUkUy' , Null , 30300 , -79082 , -53386.660287 ) , (nuLL, 101067.756480, 'QJqcLLvbdUKvElZnitrCPiBmxttzPR' , 82544.127490, \"pLwcmgkGEruDvPuJbjVWqigQKLtApm\" , NuLl ,\"pHCWIfigWjGHRWGbmrEYboNjNRrVle\" , 273.951202 , 0x1611e) , ( 'xEqRpKSqBETVFlBrmUWDBNvXiWhLAv' ,0x2d71b , -7610.975745 , 49496.141605 , 0x5a3b, 41343, 187409, \"ogsXdRWyoxDtZIIsgbUQIBnHRPVBCr\" , \"OKDhJKxprZcDdKrveMoCipXkyBOWzB\") ,(179771.894977 , 'exEZujUOHgZlQNHbNBmzuqGvfIjSmh' , 110148.494099 , 0x22668,0xbb55 ,'WUAcoNyluxqJGkRXIynFEAzaHGoNUm', 99168 ,98435.675651 , 83750.793947 ), ( -55183.197960 , -209785 ,NULl ,-131058 ,-40439.196182 , 0xfffffffffffeef1e , 'bOWeCuKfVyMAHgcRjonjLlHffKkVUj',-152886 , 74587.327657 ) ON DUPLICATE KEY UPDATE col1 = VALUES(col2)" + ], + "mz": [ + { + "digest_max_size": 300, + "grouping_limit": 3, + "groups_grouping_limit": 7, + "digest": "INSERT INTO db.table (col1,col2,col3) VALUES (?,?,?,...),(?,?,?,...),(?,?,?,...),(?,?,?,...),(?,?,?,...),(?,?,?,...),(?,?,?,...),... ON DUPLICATE KEY UPDATE col1 = VALUES(col2)" + } + ] + } +]