[MDEV-29582] deprecate mysql* names Created: 2022-09-21  Updated: 2023-11-23  Resolved: 2023-02-10

Status: Closed
Project: MariaDB Server
Component/s: Server
Fix Version/s: 11.0.1

Type: Task Priority: Critical
Reporter: Daniel Black Assignee: Sergei Golubchik
Resolution: Fixed Votes: 0
Labels: Preview_11.0

Issue Links:
PartOf
is part of MDEV-30201 Remove MySQL names Open
Relates
relates to MDEV-30431 No deprecation message shown for mysq... Open
relates to MDEV-30448 No deprecation message shown for mysq... Closed
relates to MDEV-30449 No deprecation message shown for mysq... Open

 Description   

There's too many old and new people referring to MariaDB as MySQL. We need to encourage the transition in naming.

Because mariadb names have began in 10.4, lets step up the conversion process by adding a deprecation notice on mysql names.

There may be some people that want to use previous names scripts, we'll add an environment variable to suppress the warning (wasn't implemented)



 Comments   
Comment by Daniel Black [ 2022-09-21 ]

serg, ralf.gebhardt, what do you think? Time do deprecate mysql* names with a warning? (pull request 2273)

Comment by Elena Stepanova [ 2022-09-21 ]

Where would this warning be printed, and when? Is it like, whenever I say mysql --version in the command line, an extra line would pop up in the output, etc.?
I imagine it would break countless scripts around the world.

Upd: missed the "pull request" part, and yes, it seems that's pretty much what it does.

Comment by Ralf Gebhardt [ 2022-09-21 ]

danblack, too late for 10.11 but I agree, we should prepare the next step of the conversion process still in 10.x.
maxmether^^

Comment by Sergei Golubchik [ 2022-09-21 ]

No warning, please.
According to the plan, the next step after MDEV-21303 was supposed to be — put all aliases in a separate package (may be several separate packages), like, MariaDB-client-aliases (or -compat). But still install it by default.

And the next step ­— don't install it by default.

Comment by Andrew Hutchings [ 2022-09-27 ]

"And the next step ­— don't install it by default."

This part is a breaking change that will irritate users who aren't aware it is coming. I know, they should read the docs, changelog, etc... But you know that doesn't always happen.

If we don't deprecate first using a method people will notice with something like the PR, then we will cause issues. Doing the step PR gives us an avenue for that.

Comment by Andrew Hutchings [ 2022-09-27 ]

As an added point, we shouldn't be concerned about breaking scripts by having stderr output. Particularly in a major version change where you would have to revalidate your scripts anyway.

Comment by Ralf Gebhardt [ 2022-10-10 ]

With this change we also need to look at the user experience to install MariaDB Server, docs, scripts, ..s

Comment by Sergei Golubchik [ 2022-10-15 ]

To comment on the https://github.com/MariaDB/server/pull/2273/commits/3745ebdd9b77eaa79f98dda274a7636c26874f94:

  1. For users it's not about pride, don't use this word anywhere. We merely warn users that eventually mysql* compatibility symlinks will go away, as MariaDB and MySQL keep diverging and we do not want to make it impossible to install MariaDB and MySQL side-by-side when users want it.
  2. make mysql* compatibility symlinks optional. No need to do it in bintars, but it should be possible to install MariaDB from rpm or deb packages without symlinks.
Comment by Eric Herman [ 2022-10-17 ]

I fully support making the links optional. Dropping them from the default, is likely to lead to a break. Rather than emit warning messages, I'd like to see thought put into the version numbering.

I'd like to avoid the kind of surprises that we had with the change of the user tables: I was surprised that I had to change an automated install procedure, something I didn't expect upgrading within the 10.x series, which I expected to only add stuff, not break a workflow.

We can argue about what should truly constitute the user-space API, but if a reasonable person can be negatively impacted by a surprise change, this argues that perhaps it's not a "minor" version change, but a "major" one.

If these script name changes make it feel like perhaps it's a "major" upgrade, then https://mariadb.com/kb/en/version_major/ and semver.org would indicate that we should increment the first digit.

Comment by Sergei Golubchik [ 2022-10-17 ]

Eric_Herman, right. Dropping links from the default installation is definitely not part of this task.

Comment by Ralf Gebhardt [ 2022-10-18 ]

I agree, dropping links (and other mysql->mariadb replacements) should be a 11.0 task

Comment by Sergei Golubchik [ 2022-12-27 ]

see the latest version in the bb-11.0-serg branch

Comment by Angelique Sklavounos (Inactive) [ 2023-02-07 ]

OK to push. However, in the end no environment variable to suppress warnings was implemented, so this should be reflected in the ticket description and any documentation.

Comment by Aleksey Midenkov [ 2023-11-22 ]

serg Please remove this message or make conditional:

/home/midenok/src/mariadb/10.6/build/opt/bin/mysqld: Deprecated program name. It will be removed in a future release, use '/home/midenok/src/mariadb/10.6/build/sql/mariadbd' instead

Who does need it? Packages contain the right name. Everybody else can figure out themselves when that happens. These kind of nagging messages do not do any good but take attention each time that happens (a lot!). At least some environment variable PLEASE_DO_NOT_NAG_ME should be made.

Generated at Thu Feb 08 10:09:43 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.