← Back to team overview

maria-developers team mailing list archive

Re: Please review MDEV-11134 Assertion `fixed' failed in Item::const_charset_converter(THD*, CHARSET_INFO*, bool, const char*)

 

Hi, Alexander!

On Dec 26, Alexander Barkov wrote:
> Hello Sergei,
> 
> can you please review a fix for MDEV-11134.
> 
> I made it the easiest way, just fixed the assert to cover this special
> case when Item_param::safe_charset_converter() is called from
> mysql_prepare_create_table().

I thought that normally basic const items are always fixed. 
So, Item_param is an exception? It's basic const, but not fixed?

> But perhaps it can be done in different ways:
> 
> 
> 1. Do call fix_fields()
> - Fix mysql_prepare_create_table() to call fix_fields.
> - Fix Item_param::cleanup() not to set fixed to false.
> 
> or
> 
> 2. Sync Item_param::fixed with Item_param::basic_const_item()
> - Fix Item_param::set_xxx() to set both state=XXX_VALUE and fixed=true.
> - Fix Item_param::cleanup() not to set fixed to false (like in #1)

Yes, I think it's reasonable. It'll make Item_param behave as other
basic constants do.

Regards,
Sergei
Chief Architect MariaDB
and security@xxxxxxxxxxx


Follow ups

References