← Back to team overview

maria-developers team mailing list archive

Re: 75aa95ada6b: Tricky static asserts did not compile on some platforms. Commenting out.

 

Hi, Alexander,

On Mar 16, Alexander Barkov wrote:
> revision-id: 75aa95ada6b (mariadb-10.6.1-338-g75aa95ada6b)
> parent(s): e90062c20f1
> author: Alexander Barkov
> committer: Alexander Barkov
> timestamp: 2022-03-09 13:07:35 +0400
> message:
> 
> Tricky static asserts did not compile on some platforms. Commenting out.

Details? What doesn't compile and where?

I'd suggest to try to keep the assert in some form

> diff --git a/sql/structs.h b/sql/structs.h
> index abfafb635b1..23958490c7b 100644
> --- a/sql/structs.h
> +++ b/sql/structs.h
> @@ -602,13 +602,16 @@ class DDL_options: public DDL_options_st
>  
>  struct Lex_length_and_dec_st
>  {
> +  /*
> +  Does not compile on some platforms:
>    static constexpr uint collation_type_bits= 2;
>    static_assert(((1<<collation_type_bits)-1) >=
>                  Lex_charset_collation_st::TYPE_LAST);
> +  */
>  protected:
>    uint32 m_length;
>    uint8  m_dec;
> -  uint8  m_collation_type:collation_type_bits;
> +  uint8  m_collation_type:2; /*collation_type_bits;*/
>    bool   m_has_explicit_length:1;
>    bool   m_has_explicit_dec:1;
>  public:

Regards,
Sergei
VP of MariaDB Server Engineering
and security@xxxxxxxxxxx