From 8988decbfe1c9b3673c7a4e9ab4fdbc67e24423e Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Wed, 23 Oct 2024 17:07:17 +0200 Subject: [PATCH] MDEV-35220 Assertion `!item->null_value' failed upon VEC_TOTEXT call don't forget to reset null_value for each row --- mysql-test/main/vector_funcs.result | Bin 6198 -> 6364 bytes mysql-test/main/vector_funcs.test | 5 +++++ sql/item_vectorfunc.cc | 5 +---- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/mysql-test/main/vector_funcs.result b/mysql-test/main/vector_funcs.result index 8134bd3de4f48bad5c9046aebcc589b97ad32a3f..78e98449635068d166001c7e0dbf6db81a08d61e 100644 GIT binary patch delta 175 zcmdmHaK~_inMA!Zm$HJdi))y!v8j=ffr4XkacWUXW`3SRf?{S#YObzbUTIEFd|6^n zX{x$HT4H8SYKlT>0Z=~7)j2-IKg2a6L?JmbCx=U!t2i|$HMvBgEHyd4B)=rJqC_JB zq&Y!TA+0DsS3v`8NU?$jNKjKp!=S>zz(5^{4Gc6j6)LQ`Fg0@dh5Gn#MH|F&0RYX2 BICB61 delta 7 Ocmca(xXoaLnFIh169V!8 diff --git a/mysql-test/main/vector_funcs.test b/mysql-test/main/vector_funcs.test index b85b097c2ff..f0c56f6604c 100644 --- a/mysql-test/main/vector_funcs.test +++ b/mysql-test/main/vector_funcs.test @@ -74,3 +74,8 @@ select vec_fromtext(v) from t; drop table t; select vec_fromtext(0x00000000); + +--echo # +--echo # MDEV-35220 Assertion `!item->null_value' failed upon VEC_TOTEXT call +--echo # +select vec_totext(`null`) from (values (null),(0x00000000)) x; diff --git a/sql/item_vectorfunc.cc b/sql/item_vectorfunc.cc index e0e5fc26696..e7686657728 100644 --- a/sql/item_vectorfunc.cc +++ b/sql/item_vectorfunc.cc @@ -65,11 +65,8 @@ bool Item_func_vec_totext::fix_length_and_dec(THD *thd) String *Item_func_vec_totext::val_str_ascii(String *str) { String *r1= args[0]->val_str(); - if (args[0]->null_value) - { - null_value= true; + if ((null_value= args[0]->null_value)) return nullptr; - } // Wrong size returns null if (r1->length() % 4)