From 3d952cd8bd2d522c9334f850b88d0bc16155f760 Mon Sep 17 00:00:00 2001 From: Michael Okoko Date: Thu, 19 Aug 2021 14:38:11 +0100 Subject: [PATCH] Improve tests and test results to cover larger cases Signed-off-by: Michael Okoko --- mysql-test/main/statistics_fetch.result | Bin 3325 -> 4545 bytes mysql-test/main/statistics_fetch.test | 57 +- mysql-test/main/statistics_json.result | 972 ++++++++++++++++++------ mysql-test/main/statistics_json.test | 90 ++- sql/sql_statistics.cc | 5 +- 5 files changed, 834 insertions(+), 290 deletions(-) diff --git a/mysql-test/main/statistics_fetch.result b/mysql-test/main/statistics_fetch.result index 4e835b6a35f4fef5439ad79af8131800bf6eed46..2c79ab4456161fbfcef9790a3ea1bf55838bbe7e 100644 GIT binary patch literal 4545 zcmc&&+iu%95Phb;f=C|h6p0~OmM=95B-k~uZPTPcTJ&MDP#BB0wJT8yNjrAFzQc=r zw;Vgj#sI}B#Tju9c@8H%bx!dQDkPQ}j+w}5AIuTOoUkDc1x;Wep2Tv7IhAA1XoMeT z_^(*VY{*F({wp$u35%A79%4rL4C2Zx%06N-%Ek$JQJhjf1plX4j8H!f)q(ETsUm(}ovH@9PM=dEDVF3RfhT2E0=Y_@^Eic- z;{WLEtm{DbluPv@Q*-cyBx5RY)jd0}deG|7d}s}50kkHx7PL0B4*0Kr#0voi3?G^h z-X9TOtp~x``d7>(12XPstWRXMLM|%jn4IAO&r-Dzlj$ORoulV=9l}U5d!DCdg5{J8 zK#oFsgN$R6Bwgo+${XG0=$jaZ3Qc3ssdNZjfd3Mj0NhkVa(`7%p#goctFI( zron0xbu?&H7UK3R?2?*>M|4`9r(knSXW}ubL7;KULKRxzrxE2gp^%Z3eyW(YRl3e< z1gGVBe+2OJ+wI;J{Mvu^e1}f+gaGW2nObp#?bkn8FbzcJBLq&Qe4?8KhiYL$8RB$+c=jaFAWkIY5~1Eya^iUC?(?_r z*F9vhzPi3fH$OKYo{Ivv=DO&oh}qEK;rt?;!N0^u=O&XBd9Lf*mEn7}f%mn06BZ0| zkFV~q>h$?pdv5_=8`WOrXv`1W`ytB1RbY8|JjR~J*dX29zP2U_hzpLDL#(E*aDEU$GsfF$=ZqqLfUn#l}e@ zLJqe@hR9^7ST>X+Z4Nkn98=bxAtf!L5=LWblFsEuE0iLh$q11P7g`6YeFvubrt@s) zqAz#1H|TE%;}e*9a&8Q-FzSWj7e=Eng2HGPMyoK|h0!^2{&|5;sij)7zMoKOyh@a+ z*{-#`Ba}+TEtM)gVN1 zA3S$wjiGgETOGEcQzqt7GNoN#r&3!(fJp5t1k9>83V}w$mH|QVX7|5Ya>-`6FZWi~ZRM}YuTVP7G##2?#5n7{;VX4^Y37cxO@H1Ma5aL_Euj|BKLnkwRU(GNi(;$>$l(CpU1}F&a*mWAm7t z&DJpa1DisxZGNi8l(&`SUY>;?{1wdA7I#1eR58)+meWagD16#S4vTS z0X(LyQMg9dT&RvSgeDPhtSMp{)Zf8W@vYY67+x{#9%M2!nkey_cmp((uchar*) mid_val.data(), endpoint); - min_bucket_index = mid; if (res < 0) { low = mid + 1; + min_bucket_index = mid; } else if (res > 0) { high = mid - 1; } else { @@ -1574,6 +1574,9 @@ int Histogram_json::find_bucket(Field *field, const uchar *endpoint) break; } } + + if (min_bucket_index == -1) + min_bucket_index = high; return min_bucket_index; }