Kristian Nielsen <kniel...@knielsen-hq.org> writes:

> From: Sergei Golubchik <s...@mariadb.org>

> @@ -2724,6 +2725,10 @@ bool Item_func_encode::seed()
>    hash_password(rand_nr, key->ptr(), key->length());
>    sql_crypt.init(rand_nr);
>  
> +  push_warning_printf(thd, Sql_condition::WARN_LEVEL_WARN, 
> ER_WARN_DEPRECATED_SYNTAX,
> +                      ER_THD(thd, ER_WARN_DEPRECATED_SYNTAX_NO_REPLACEMENT),
> +                      func_name_cstring().str); // since 11.3
> +

NAK.
As I already explained in the MDEV-31872, deprecating these functions is not
appropriate and will hurt users, not help them. Don't do this.

You need to see this from the user's point of view. She is a DBA, she has an
application with columns encoded with ENCODE(). What do you expect her to
do, rewrite the application because you or someone does not like these
functions? That's very disrespectful.

If you want to give a warning for these functions, then you need to create
an SQL mode or some other handle for the DBA to disable the warning and keep
their application running. And the warning should explain why it's there,
and what should be done to avoid it. And you need to carefully justify how
burdening the DBA with this task of tracking down the source of the new
warning and the way to remove it, is worth the benefit.

And deprecation suggests eventual removal, which is even worse, please don't
do that.

You haven't even updated the documentation https://mariadb.com/kb/en/encode/
to eg. say "encode" or "scramble" instead of encrypt. "base64_encode" also
does not do encryption, nor is rot13 cryptographically safe, but that
doesn't justify removing them either. Most columns in mariadb databases are
not encrypted or encoded at all, how is ENCODE() any less secure that that?

 - Kristian.
_______________________________________________
developers mailing list -- developers@lists.mariadb.org
To unsubscribe send an email to developers-le...@lists.mariadb.org

Reply via email to