← Back to team overview

maria-developers team mailing list archive

Re: 2467eb2d314: MDEV-27743 Remove Lex::charset

 

Hi, Alexander,

I'd suggest to rename it the way you want in the server,
but keep it in libmariadb as is.

It's apparently part of the API and may be (just may be) some clients
use it.

On Mar 15, Alexander Barkov wrote:
> >> +
> >> +  void set_lex_collation(const Lex_collation_st &lc)
> >> +  {
> >> +    charset= lc.collation();
> >> +    if (lc.is_contextually_typed_collation())
> >> +      flags|= BINCMP_FLAG;
> >> +    else
> >> +      flags&= ~BINCMP_FLAG;
> > 
> > Isn't COLLATE DEFAULT also contextually typed?
> 
> "COLLATE DEFAULT" and "COLLATE uca1400_as_ci" also
> reuse this flag. It should be renamed somehow.
> 
> What about CONTEXTUAL_COLLATION_FLAG ?
> 
> Note, it's defined in two places:
> 
> In the server:
> 
> include/mysql_com.h
> #define BINCMP_FLAG	131072U		/* Intern: Used by sql_yacc */
> 
> In the client library:
> 
> libmariadb/include/mariadb_com.h
> #define BINCMP_FLAG       131072
> 
> The client library defines, but does not actually use it.
> Should we rename it in the client library? Or remove it?
> 
Regards,
Sergei
VP of MariaDB Server Engineering
and security@xxxxxxxxxxx


References