Re: [Maria-developers] 25fe7dbad5d: Reduce usage of strlen()
![](https://secure.gravatar.com/avatar/39b623a1559cf9c69ac3d9d4fb44e7fe.jpg?s=120&d=mm&r=g)
Hi, Michael! On Mar 31, Michael Widenius wrote:
commit 25fe7dbad5d Author: Michael Widenius
Date: Wed Aug 12 20:29:55 2020 +0300 Reduce usage of strlen()
I'll only mention actual mistakes, no style comments or suggestions or question, just want to get it over with.
diff --git a/sql/item.h b/sql/item.h index 9a6d0b4abfe..d6ff10bf3ba 100644 --- a/sql/item.h +++ b/sql/item.h @@ -1093,7 +1093,7 @@ class Item :public Value_source, void share_name_with(const Item *item) { name= item->name; - copy_flags(item, item_base_t::IS_AUTOGENERATED_NAME); + copy_flags(item, item_base_t::IS_EXPLICIT_NAME);
belongs to a previous commit
} virtual void cleanup(); virtual void make_send_field(THD *thd, Send_field *field); diff --git a/sql/item_windowfunc.cc b/sql/item_windowfunc.cc index 262481d019b..a9e008b0b92 100644 --- a/sql/item_windowfunc.cc +++ b/sql/item_windowfunc.cc @@ -99,13 +99,15 @@ Item_window_func::fix_fields(THD *thd, Item **ref)
if (window_spec->window_frame && is_frame_prohibited()) { - my_error(ER_NOT_ALLOWED_WINDOW_FRAME, MYF(0), window_func()->func_name()); + my_error(ER_NOT_ALLOWED_WINDOW_FRAME, MYF(0), + window_func()->func_name());
This should be func_name().str, otherwise it'll crash or print garbage on Windows. Same below, in a couple of places.
return true; }
Regards, Sergei VP of MariaDB Server Engineering and security@mariadb.org
![](https://secure.gravatar.com/avatar/68cce0b6e372c2c66f4d66c6356102af.jpg?s=120&d=mm&r=g)
Hi!
On Wed, Mar 31, 2021 at 5:18 PM Sergei Golubchik
Hi, Michael!
On Mar 31, Michael Widenius wrote:
commit 25fe7dbad5d Author: Michael Widenius
Date: Wed Aug 12 20:29:55 2020 +0300 Reduce usage of strlen()
I'll only mention actual mistakes, no style comments or suggestions or question, just want to get it over with.
diff --git a/sql/item.h b/sql/item.h index 9a6d0b4abfe..d6ff10bf3ba 100644 --- a/sql/item.h +++ b/sql/item.h @@ -1093,7 +1093,7 @@ class Item :public Value_source, void share_name_with(const Item *item) { name= item->name; - copy_flags(item, item_base_t::IS_AUTOGENERATED_NAME); + copy_flags(item, item_base_t::IS_EXPLICIT_NAME);
belongs to a previous commit
Sorry about that, must have happened when I did a fixup trying to keep things clean. How can I move most easily to the right commit. Do a rebase and do "edit" for the previous commit, do the change by hand and continue the rebase? Will try that.
diff --git a/sql/item_windowfunc.cc b/sql/item_windowfunc.cc index 262481d019b..a9e008b0b92 100644 --- a/sql/item_windowfunc.cc +++ b/sql/item_windowfunc.cc @@ -99,13 +99,15 @@ Item_window_func::fix_fields(THD *thd, Item **ref)
if (window_spec->window_frame && is_frame_prohibited()) { - my_error(ER_NOT_ALLOWED_WINDOW_FRAME, MYF(0), window_func()->func_name()); + my_error(ER_NOT_ALLOWED_WINDOW_FRAME, MYF(0), + window_func()->func_name());
This should be func_name().str, otherwise it'll crash or print garbage on Windows. Same below, in a couple of places.
Nope, this works thanks to this: inline const char *func_name() const { return (char*) func_name_cstring().str; } So func_name() can be used (instead of the old variable func_name) when one wants to have the a char* pointer. This was convenient to have for future merges and make the changes in the commit easier to read. Regards, Monty
participants (2)
-
Michael Widenius
-
Sergei Golubchik