GSoC/GCI Archive
Google Summer of Code 2014


License: GNU General Public License version 2.0 (GPLv2)

Web Page:

Mailing List:,

MariaDB is a database server that offers drop-in replacement functionality for MySQL. MariaDB is built by some of the original authors of MySQL, with assistance from the broader community of free and open source software developers. In addition to the core functionality of MySQL, MariaDB offers a rich set of feature enhancements including alternate storage engines, server optimizations, and patches. MariaDB is feature enhanced, community developed and backward compatible with MySQL. MariaDB is also backed by the MariaDB Foundation.


  • CREATE OR REPLACE, CREATE IF NOT EXISTS, and DROP IF EXISTS This project is to add support for OR REPLACE and IF EXISTS/IF NOT EXISTS to all CREATE and DROP variants for all objects. The objects include functions, procedures, packages, types, synonyms, trigger and views.
  • Self-Tuning Optimizer One of the reasons of bad query plans is inadequate cost estimation of individual operations. The optimizer sometimes uses hard-coded constants for cost estimation. One problem with the calibration procedure of these constants is that they depend on the actual hardware where MariaDB is run. The aim of this project is to provide a framework to use self-tuning cost coefficients, which would help in user specific optimal cost estimation.
  • Statistically optimize mysql-test runs by running less tests - Pablo E. Software engineering relies heavily on thorough testing. This is especially true for systems programming. The goal of this project is to produce a small piece of software that will leverage historical testing data from mysql-test runs on MariaDB, so that instead of using a ‘brute force’ approach and running as many test suites as possible, we can intelligently select a smaller set of test suites that are more likely to find defects.
  • Support of UseServerPrepStmts to MariaDB Java Connector Prepared Statements are handled locally on the client side till JDBC 1.1.6, what if prepared statements are handled on the server as well, which can improve the performance of the MariaDB Java Connector for large data processing.