InnoDB always keeps all tablespaces in the fil_system cache. The fil_system.LRU is only for closing file handles; the fil_space_t and fil_node_t for all data files will remain in main memory. Between startup to shutdown, they can only be created and removed by DDL statements. Therefore, we can let dict_table_t::space point directly to the fil_space_t. dict_table_t::space_id: A numeric tablespace ID for the corner cases where we do not have a tablespace. The most prominent examples are ALTER TABLE...DISCARD TABLESPACE or a missing or corrupted file. There are a few functional differences; most notably: (1) DROP TABLE will delete matching .ibd and .cfg files, even if they were not attached to the data dictionary. (2) Some error messages will report file names instead of numeric IDs. There still are many functions that use numeric tablespace IDs instead of fil_space_t*, and many functions could be converted to fil_space_t member functions. Also, Tablespace and Datafile should be merged with fil_space_t and fil_node_t. page_id_t and buf_page_get_gen() could use fil_space_t& instead of a numeric ID, and after moving to a single buffer pool (MDEV-15058), buf_pool_t::page_hash could be moved to fil_space_t::page_hash. FilSpace: Remove. Only few calls to fil_space_acquire() will remain, and gradually they should be removed. mtr_t::set_named_space_id(ulint): Renamed from set_named_space(), to prevent accidental calls to this slower function. Very few callers remain. fseg_create(), fsp_reserve_free_extents(): Take fil_space_t* as a parameter instead of a space_id. fil_space_t::rename(): Wrapper for fil_rename_tablespace_check(), fil_name_write_rename(), fil_rename_tablespace(). Mariabackup passes the parameter log=false; InnoDB passes log=true. dict_mem_table_create(): Take fil_space_t* instead of space_id as parameter. dict_process_sys_tables_rec_and_mtr_commit(): Replace the parameter 'status' with 'bool cached'. dict_get_and_save_data_dir_path(): Avoid copying the fil_node_t::name. fil_ibd_open(): Return the tablespace. fil_space_t::set_imported(): Replaces fil_space_set_imported(). truncate_t: Change many member function parameters to fil_space_t*, and remove page_size parameters. row_truncate_prepare(): Merge to its only caller. row_drop_table_from_cache(): Assert that the table is persistent. dict_create_sys_indexes_tuple(): Write SYS_INDEXES.SPACE=FIL_NULL if the tablespace has been discarded. row_import_update_discarded_flag(): Remove a constant parameter. |
8 years ago | |
---|---|---|
BUILD | Merge remote-tracking branch 'origin/10.2' into bb-10.2-ext | 8 years ago |
Docs | Minor spelling fixes in code comments, docs and output | 8 years ago |
client | Merge branch '10.2' into 10.3 | 8 years ago |
cmake | Merge branch '10.2' into 10.3 | 8 years ago |
dbug | Re-enable 'S' for --debug (sf_sanity checking for each call) | 8 years ago |
debian | Create 'main' test directory and move 't' and 'r' there | 8 years ago |
extra | MDEV-12266: Change dict_table_t::space to fil_space_t* | 8 years ago |
include | Merge branch '10.2' into 10.3 | 8 years ago |
libmariadb@668757aaa9 | Update Connector/C | 8 years ago |
libmysqld | MDEV-14953 - rename libmysqld.so to libmariadbd.so | 8 years ago |
libservices | Remove compiler warnings | 8 years ago |
man | Minor spelling fixes in code comments, docs and output | 8 years ago |
mysql-test | MDEV-12266: Change dict_table_t::space to fil_space_t* | 8 years ago |
mysys | Ensure that map->mutex is reset in my_bitmap_init | 8 years ago |
mysys_ssl | MDEV-14567: CRYPTO_set_mem_functions fails in FIPS mode | 8 years ago |
pcre | Fix and reenable Windows compiler warning C4800 (size_t conversion). | 8 years ago |
plugin | Merge branch '10.2' into 10.3 | 8 years ago |
randgen/conf | Group commit for maria engine. | 16 years ago |
scripts | Merge branch '10.2' into 10.3 | 8 years ago |
sql | Merge 10.2 into 10.3 | 8 years ago |
sql-bench | MDEV-15448 Remove "innodb_additional_mem_pool_size" setting from my-innodb-heavy-4G.cnf file | 8 years ago |
sql-common | Make possible to use clang on Windows (clang-cl) | 8 years ago |
storage | MDEV-12266: Change dict_table_t::space to fil_space_t* | 8 years ago |
strings | MDEV-15561 json_extract returns NULL with numbers in scientific notation. | 8 years ago |
support-files | MDEV-15474 Update server.cnf section to mariadb-10.3 | 8 years ago |
tests | Merge branch '10.2' into 10.3 | 8 years ago |
unittest | Merge bb-10.2-ext into 10.3 | 8 years ago |
vio | Make possible to use clang on Windows (clang-cl) | 8 years ago |
win | Merge branch 'bb-10.2-ext' into 10.3 | 8 years ago |
wsrep | Prevent building WSREP without INNODB | 8 years ago |
zlib | Build improvements and cleanups. | 8 years ago |
.gitattributes | Merge branch 'connect/10.1' into 10.1 | 9 years ago |
.gitignore | Merge bb-10.2-ext into 10.3 | 8 years ago |
.gitmodules | Use https instead of ssh(git@) for rocksdb submodule. | 9 years ago |
.travis.compiler.sh | Lean down compilation when running travis with rpl | 8 years ago |
.travis.yml | Travis-CI: clean up cruft and add more in-line commments | 8 years ago |
BUILD-CMAKE | Minor spelling fixes in code comments, docs and output | 8 years ago |
CMakeLists.txt | Merge branch 'bb-10.2-ext' into 10.3 | 8 years ago |
COPYING | Use a new version of "COPYING", the GPL text. | 16 years ago |
COPYING.thirdparty | Correct FSF address | 9 years ago |
CREDITS | Update sponsors | 8 years ago |
EXCEPTIONS-CLIENT | MDEV-5262: Missing retry after temp error in parallel replication | 12 years ago |
INSTALL-SOURCE | Update AskMonty and Atlassian references to MariaDB | 10 years ago |
INSTALL-WIN-SOURCE | Update AskMonty and Atlassian references to MariaDB | 10 years ago |
KNOWN_BUGS.txt | various documentation updates | 14 years ago |
README.md | README.md - Secure (HTTPS) Links | 8 years ago |
VERSION | bump the VERSION | 8 years ago |
appveyor.yml | Add some hints for finding bison on its usual locations on Windows. | 8 years ago |
config.h.cmake | Merge bb-10.2-ext into 10.3 | 8 years ago |
configure.cmake | Merge branch '10.2' into 10.3 | 8 years ago |
README.md
MariaDB: drop-in replacement for MySQL
MariaDB is 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. 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 Foundation and the MariaDB Corporation, 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-features/ https://mariadb.com/kb/en/mariadb-versus-mysql-compatibility/
As MariaDB is a full replacement of MySQL, the MySQL manual at http://dev.mysql.com/doc is generally applicable.
Help:
More help is available from the Maria Discuss mailing list https://launchpad.net/~maria-discuss and the #maria IRC channel on Freenode.
License:
NOTE:
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, COPYING.LESSER, and COPYING.thirdparty files.
Bug Reports:
Bug and/or error reports regarding MariaDB should be submitted at https://mariadb.org/jira
Bugs in the MySQL code can also be submitted at https://bugs.mysql.com
The code for MariaDB, including all revision history, can be found at: https://github.com/MariaDB/server