Bug #87725 Remove C legacy
Submitted: 11 Sep 2017 10:23 Modified: 27 Sep 2017 1:48
Reporter: Steinar Gunderson Email Updates:
Status: Closed Impact on me:
Category:MySQL Server: Compiling Severity:S3 (Non-critical)
Version: OS:Any
Assigned to: CPU Architecture:Any

[11 Sep 2017 10:23] Steinar Gunderson
Even after large-scale moves from C to C++ over the last few releases, we still have a fair amount of C legacy (tests for __cplusplus, classes that can't have initializers, etc.) in our code and headers. We should move the remaining C files to C++ so that everything is one language, save for external source code. After this, we can remove various artifacts.

How to repeat:

Suggested fix:
[27 Sep 2017 1:48] Paul DuBois
Posted by developer:
Fixed in 9.0.0.

Code cleanup. No changelog entry needed.
[5 Jul 2018 13:36] Steinar Gunderson
Posted by developer:
Closing this; we've still got lots of legacy, but this specific cleanup is done. No documentation needed.
[5 Jul 2018 14:13] Paul DuBois
Posted by developer:
Fixed in 8.0.13.

Code cleanup. No changelog entry needed.
[8 Nov 2018 18:52] Paul DuBois
Correction, this does need a changelog entry:

Previously, MySQL plugins could be written in C or C++. MySQL header
files used by plugins now contain C++ code, which means that plugins
must be written in C++, not C.
[8 Feb 2019 19:42] Jon Stephens
As this effects NDB API applications, also documented this change as follows in the NDB 8.0.13 changelog:

    The file storage/ndb/src/ndbapi/ndberror.c was renamed to 

(No change in status.)