Closed ShNURoK42 closed 10 years ago
Thanks!
Thx you too. I found else code with this issue there https://github.com/yiisoft/yii2/blob/master/framework/rbac/DbManager.php#L254 I think that all.
@qiangxue Any reason to do that fix? Serializing null lead us to not do excess checks when unserializing. All was fine here. Vote to rollback this change.
@creocoder вы думаете это хорошо, когда поля заполняются "мусором"? Архитектура таблицы подразумевает по дефолту ставить null. Что будет, если вручную вставить в такую таблицу данные? Те же excess checks.
@ShNURoK42 Не надо вручную ничего вставлять и всё будет ОК. Результат сериализации null это не мусор. Засчет этого фикса усложняется логика компонента, при этом ничего в замен мы не получаем. Вывод: фикс надо откатывать. Вы уже нашли даже ещё одно место, которое надо фиксить, если идти по этому пути.
Архитектура таблицы подразумевает по дефолту ставить null.
Ничего страшного, схему таблицы фикснуть не сложно.
More fixes: https://github.com/yiisoft/yii2/commit/75ee05b90efa0f379c9e8df1285c244187d12b25
@creocoder This is an optimization worth doing:
is_null()
check is much faster than @unserialize()
.
Hi.
I think we need change this code https://github.com/yiisoft/yii2/blob/master/framework/rbac/DbManager.php#L452 to like this
becouse, if we didn't set $data value in createItem() the 'data' in array equally "N;" and it value write to DB. Sorry for my bad Eng.