← Back to team overview

maria-developers team mailing list archive

Re: Please review MDEV-10524 Assertion `arg1_int >= 0' failed in Item_func_additive_op::result_precision()

 

Hi, Alexander!

Looks ok. One question below

On Dec 15, Alexander Barkov wrote:
> commit 72817bb386320080de87f9cfe899e6f74341d251
> Author: Alexander Barkov <bar@xxxxxxxxxxx>
> Date:   Thu Dec 15 19:40:09 2016 +0400
> 
>     MDEV-10524 Assertion `arg1_int >= 0' failed in Item_func_additive_op::result_precision()
>     
>     This change is a backport from 10.0 to 5.5 for:
>     1. The full patch for:
>          MDEV-4841 Wrong character set of ADDTIME() and DATE_ADD()
>          9adb6e991ec87b65d04929f115d9d0c899e4ab19
>     
>     2. A small fragment of:
>          MDEV-5298 Illegal mix of collations on timestamp
>          03f6778d61a74bdd7d09103a16473a2a5624cf66
>        which overrides Item_temporal_hybrid_func::cmp_type(),
>        and adds a new line into cache_temporal_4265.result.
> 
> diff --git a/sql/item_func.h b/sql/item_func.h
> index 667be3c..cfa97ea 100644
> --- a/sql/item_func.h
> +++ b/sql/item_func.h
> @@ -46,6 +47,8 @@ class Item_func :public Item_result_field
>    void count_datetime_length(Item **item, uint nitems);
>    bool count_string_result_length(enum_field_types field_type,
>                                    Item **item, uint nitems);
> +  /* maybe_null can't be changed by parameters or used table state */
> +  bool persistent_maybe_null;

What's this? it didn't come from 10.0, as far as I can see.
Nor is it used anywhere in the patch.

>  public:
>    uint arg_count;
>    table_map used_tables_cache, not_null_tables_cache;

Regards,
Sergei
Chief Architect MariaDB
and security@xxxxxxxxxxx


Follow ups

References