If you want to contribute to MariaDB but have a doubt about what to work on, this page lists possible projects. The projects are picked to be
- features that are considered to be needed/relevant (so, there will be interest to accept the code into MariaDB)
- features that will not require the implementer to work in "difficult" parts of the code and/or make high-risk changes that could be rejected out of concern that they could destabilize the codebase
Progress reporting for ALTER TABLE ... ADD INDEX
- Description: MariaDB has support for
progress reporting during DDL statements. In some
scenarios, progress reporting actually works. In
ALTER TABLE ... ADD INDEXbeing the most important of them) it has not been implemented. The task is to place progress reporting statements at appropriate places in the code, so that
ALTER TABLE ... ADD INDEXprovides some clues about which fraction of work it has done/has left. The progress reporting page has a section which gives clues what kind of statements will need to be inserted. Finding where to put them is left as an exercise for the implementer :)
- Background required: C, C++
- Mentors: Sergei Petrunia
extend perror to know about server errors
- Description: The
perrortool is used to print a text message corresponding to an error number. It has a hard-coded list of error numbers and error messages. It needs to be fixed to read errmsg.sys files, just like the server does.
- Background required: C
- Mentors: Sergei Golubchik
- Description: To create a MacOSX installer for MariaDB. Make the build scripts work, and integrate it with BuildBot so we get automated MacOSX builds for MariaDB.
- Background required: Knowledge of Apple toolchain, plus the GNU toolchain. PackageMaker knowledge useful, as is some Perl knowledge. Understanding shell scripting also.
- Mentor: Colin Charles
MariaDB management console snapin and WMI Provider (Windows)
- Description: Since Windows 2000, the standard/recommended/integrated solution for implementing software management tools on Windows has been Microsoft Management Console. Another system mechanism known as WMI (Windows management instrumentation) adds the ability to manage software remotely. In MariaDB, we would like to have a management console to handle different database instances - create /remove /upgrade /start /stop MariaDB services, show and analyze error log, modify configuration parameters. It should be able to work with local database instances, as well as remote ones, using WMI. The task would be to implement WMI provider and MMC snapin.
- Background required: C++/COM or .NET, WMI, MMC. Powershell knowlegde is a plus.
Active Directory authentication plugin
The Microsoft Windows world is all about Active Directory and upstream MySQL Enterprise already has this feature (though it's a paid offering). It would be great to have an open source equivalent.
Skills: C/C++, working knowledge of Active Directory/SAMBA, Windows-based development environment
Mentor: Sergei Golubchik, Colin Charles
Keystone authentication plugin
Keystone is the OpenStack Identity Service. The idea would be to ensure that MariaDB can authenticate to Keystone directly.
Skills: Python, C/C++
Mentor: Mark Riddoch