MariaDB server is a community developed fork of MySQL server. Started by core members of the original MySQL team, MariaDB actively works with outside developers to deliver the most featureful, stable, and sanely licensed open SQL server in the industry.
  • MariaDB\ 71.8%
  • C++ 16.4%
  • C 10.4%
  • Shell 0.5%
  • Perl 0.4%
  • Other 0.3%
Find a file
Thirunarayanan Balathandayuthapani 8629d23a87 MDEV-38842 Server fails to drop .ibd file when vector table creation fails
Problem:
========
When creating tables with vector indexes, if the secondary table
creation fails after the main table is successfully created,
the server was not properly cleaning up the main table's .ibd file.
Stale file exists because create_table_impl() always called
ddl_log_complete() on any error, which disables DDL log entries
instead of executing them for cleanup. The main table would be
left behind even though the overall CREATE TABLE operation failed.

Solution:
=========
Add ha_create_status enum to distinguish between different table
creation failure scenarios in ha_create_table():

- HA_CREATE_SUCCESS: Table created successfully
- HA_CREATE_FAILED_EARLY: Failure before storage engine file creation
- HA_CREATE_FAILED_SECONDARY: Failure during secondary table creation

This enum is being used in create_table_impl():

When HA_CREATE_FAILED_SECONDARY is returned, it indicates that the
main table files were successfully created but secondary table
creation failed. In this case, create_table_impl() calls
ddl_log_revert() to execute DDL log entries and clean up the
partially created main table files.

When HA_CREATE_FAILED_EARLY is returned, it indicates failure before
any files were created. In this case, create_table_impl() calls
ddl_log_complete() to disable the DDL log entries since there's
nothing to clean up.
2026-03-17 22:32:22 +05:30
.github Merge branch '11.4' into bb-11.8-release 2025-10-24 12:25:01 +02:00
BUILD Merge branch '10.6' into 10.11 2026-01-28 14:22:20 +01:00
client Merge branch '11.4' into 11.8 2026-01-31 14:08:54 +01:00
cmake Merge branch '11.4' into 11.8 2026-01-31 14:08:54 +01:00
dbug Reënable ATTRIBUTE_FORMAT on DBUG_PRINT & t/eprint 2025-02-12 10:17:44 +01:00
debian Merge branch '11.4' into 11.8 2026-01-31 14:08:54 +01:00
Docs Merge branch '10.11' into 11.4 2026-01-28 21:52:18 +01:00
extra Merge branch '11.4' into 11.8 2026-01-31 14:08:54 +01:00
include Merge branch '11.4' into 11.8 2026-01-31 14:08:54 +01:00
libmariadb@7bb4e6cdf7 update C/C 2026-01-23 09:28:24 +01:00
libmysqld Merge branch '11.4' into 11.8 2025-07-28 21:29:29 +02:00
libservices Merge 10.6 into 10.11 2024-02-08 15:04:46 +02:00
man Merge branch '11.4' into 11.8 2026-01-31 14:08:54 +01:00
mysql-test MDEV-38842 Server fails to drop .ibd file when vector table creation fails 2026-03-17 22:32:22 +05:30
mysys Merge branch '11.4' into 11.8 2026-01-31 14:08:54 +01:00
mysys_ssl Merge branch '11.4' into 11.7 2025-02-06 16:46:36 +01:00
plugin Merge branch '11.4' into 11.8 2026-01-31 14:08:54 +01:00
randgen/conf Group commit for maria engine. 2010-02-12 15:12:28 +02:00
scripts Merge branch '11.4' into 11.8 2026-01-31 14:08:54 +01:00
sql MDEV-38842 Server fails to drop .ibd file when vector table creation fails 2026-03-17 22:32:22 +05:30
sql-bench Updated sql-bench to run with PostgreSQL 14.9 2023-09-09 15:14:45 +03:00
sql-common Merge branch '11.4' into 11.8 2026-01-31 14:08:54 +01:00
storage Merge branch '11.4' into 11.8 2026-01-31 14:08:54 +01:00
strings Merge branch '11.4' into 11.8 2026-01-31 14:08:54 +01:00
support-files Merge branch '11.4' into 11.8 2026-01-31 14:08:54 +01:00
tests Merge branch '11.4' into 11.8 2026-01-05 20:34:44 +01:00
tpool Merge 11.4 into 11.8 2025-09-29 18:25:09 +03:00
unittest Merge 11.4 into 11.8 2025-11-28 14:17:28 +02:00
vio Merge branch '10.11' into 11.4 2025-06-17 09:50:22 +02:00
win Merge branch '11.4' into 11.8 2026-01-31 14:08:54 +01:00
wsrep-lib@7010f0ab58 MDEV-31517 Wrong variable name in the configuration leads Galera to 2025-12-01 12:37:56 +02:00
zlib Merge branch 'merge-zlib' (1.3.1) into 10.4 2024-04-26 13:50:03 +02:00
.clang-format Remove duplicate key "Language" from .clang-format 2024-04-17 16:52:37 +02:00
.gitattributes Merge branch '10.5' into 10.6 2022-02-03 17:01:31 +01:00
.gitignore Merge 11.4 into 11.8 2025-11-28 14:17:28 +02:00
.gitlab-ci.yml All-green GitLab CI in main branch in January 2025 2025-01-29 10:56:08 +11:00
.gitmodules Merge remote-tracking branch '10.4' into 10.5 2023-03-31 21:32:41 +02:00
appveyor.yml Merge remote-tracking branch 'github/bb-11.4-release' into bb-11.8-serg 2025-04-27 19:40:00 +02:00
BUILD-CMAKE Minor spelling fixes in code comments, docs and output 2018-01-12 16:49:02 +02:00
CMakeLists.txt Merge branch '11.4' into bb-11.8-release 2025-10-24 12:25:01 +02:00
CODING_STANDARDS.md MDEV-35837: Update CODING_STANDARDS to C++17 [skip ci] 2025-04-29 13:55:22 +10:00
config.h.cmake Merge branch '11.4' into 11.8 2025-07-28 21:29:29 +02:00
configure.cmake Merge branch '11.6' into 11.7 2024-11-10 19:22:21 +01:00
CONTRIBUTING.md Merge branch '10.11' into 11.4 2026-01-28 21:52:18 +01:00
COPYING Update FSF Address 2019-05-11 21:29:06 +03:00
CREDITS MDEV-37908: Replace KB links with MariaDB Documentation links 2026-01-08 14:54:47 +11:00
INSTALL-SOURCE Update AskMonty and Atlassian references to MariaDB 2016-03-08 15:24:01 +02:00
INSTALL-WIN-SOURCE Update AskMonty and Atlassian references to MariaDB 2016-03-08 15:24:01 +02:00
KNOWN_BUGS.txt Changed some MySQL names in messages to MariaDB 2018-12-09 20:49:05 +02:00
mariadb-plugin-columnstore.install.generated Fixed that perfschema.misc_session_status is ignored with valgrind builds 2025-11-19 14:02:54 +02:00
README.md Merge branch '10.11' into 11.1 2024-05-31 10:54:31 +10:00
SECURITY.md Create SECURITY.md 2023-06-05 08:28:06 +10:00
THIRDPARTY Merge branch '10.6' into 10.11 2024-01-30 08:17:58 +01:00
VERSION bump the VERSION 2026-02-04 17:07:18 -05:00

Code status:

  • Appveyor CI status ci.appveyor.com

MariaDB: The innovative open source database

MariaDB was designed as a drop-in replacement of MySQL(R) with more features, new storage engines, fewer bugs, and better performance.

MariaDB is brought to you by the MariaDB Foundation and the MariaDB Corporation. Please read the CREDITS file for details about the MariaDB Foundation, and who is developing MariaDB.

MariaDB is developed by many of the original developers of MySQL who now work for the MariaDB Corporation, the MariaDB Foundation and by many people in the community.

MySQL, which is the base of MariaDB, is a product and trademark of Oracle Corporation, Inc. For a list of developers and other contributors, see the Credits appendix. You can also run 'SHOW authors' to get a list of active contributors.

A description of the MariaDB project and a manual can be found at:

https://mariadb.org

https://mariadb.com/kb/en/

https://mariadb.com/kb/en/mariadb-vs-mysql-features/

https://mariadb.com/kb/en/mariadb-versus-mysql-compatibility/

https://mariadb.com/kb/en/new-and-old-releases/

Getting the code, building it and testing it

Refer to the following guide: https://mariadb.org/get-involved/getting-started-for-developers/get-code-build-test/ which outlines how to build the source code correctly and run the MariaDB testing framework, as well as which branch to target for your contributions.

Help

More help is available from the Maria Discuss mailing list https://lists.mariadb.org/postorius/lists/discuss.lists.mariadb.org/ and MariaDB's Zulip instance, https://mariadb.zulipchat.com/

Licensing


MariaDB is specifically available only under version 2 of the GNU General Public License (GPLv2). (I.e. Without the "any later version" clause.) This is inherited from MySQL. Please see the README file in the MySQL distribution for more information.

License information can be found in the COPYING file. Third party license information can be found in the THIRDPARTY file.


Bug Reports

Bug and/or error reports regarding MariaDB should be submitted at: https://jira.mariadb.org

For reporting security vulnerabilities, see our security-policy.

The code for MariaDB, including all revision history, can be found at: https://github.com/MariaDB/server