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@mariadb.org