mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
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.
amazon-web-servicesdatabasefulltext-searchgalerageographical-information-systeminnodbjsonmariadbmysqlrdbmsrelational-databasessqlstorage-enginevector-database
a859c59454
Bug #16979: AUTO_INC lock in InnoDB works a table level lock Add a table level counter that tracks the number of AUTOINC locks that are pending and/or granted on a table. We peek at this value to determine whether a transaction doing a simple INSERT in innodb_autoinc_lock_mode = 1, needs to acquire the AUTOINC lock or not. This change is related to Bug# 16979. Bug #27950: Duplicate entry error in auto-inc after mysqld restart We check whether the AUTOINC sub-system has been initialized (first) by holding the AUTOINC mutex and if initialization is required then we initialize using our normal procedure. storage/innobase/dict/dict0boot.c: Apply InnoDB snapshot innodb-5.1-ss1751. storage/innobase/dict/dict0crea.c: Apply InnoDB snapshot innodb-5.1-ss1751. storage/innobase/dict/dict0load.c: Apply InnoDB snapshot innodb-5.1-ss1751. storage/innobase/dict/dict0mem.c: Apply InnoDB snapshot innodb-5.1-ss1751. Revision r1749: Add a table level counter that tracks the number of AUTOINC locks that are pending and/or granted on a table. We peek at this value to determine whether a transaction doing a simple INSERT in innodb_autoinc_lock_mode = 1, needs to acquire the AUTOINC lock or not. This change is related to Bug# 16979. storage/innobase/handler/ha_innodb.cc: Apply InnoDB snapshot innodb-5.1-ss1751. Revision r1735: Add variable "innodb_autoinc_lock_mode" to control the behavior of the AUTOINC locking. There are three modes, 0 for backward compatibility, 1 for the new style locking (default, safe for statement-based replication) and 2 for no AUTOINC locking (unsafe for statement-based replication). Revision r1750: We check whether the AUTOINC sub-system has been initialized (first) by holding the AUTOINC mutex and if initialization is required then we initialize using our normal procedure. This change is related to Bug#27950. Revision r1746: Remove some code from ha_innodb.cc that was already enclosed in #if 0. The code was related to replication and group commit, and it was unreachable already as of MySQL 5.0. Approved by Heikki Revision r1749: Add a table level counter that tracks the number of AUTOINC locks that are pending and/or granted on a table. We peek at this value to determine whether a transaction doing a simple INSERT in innodb_autoinc_lock_mode = 1, needs to acquire the AUTOINC lock or not. This change is related to Bug# 16979. storage/innobase/include/dict0mem.h: Apply InnoDB snapshot innodb-5.1-ss1751. Revision r1749: Add a table level counter that tracks the number of AUTOINC locks that are pending and/or granted on a table. We peek at this value to determine whether a transaction doing a simple INSERT in innodb_autoinc_lock_mode = 1, needs to acquire the AUTOINC lock or not. This change is related to Bug# 16979. Revision r1747: Correct an outdated comment about dict_table_t:col_names that should have been adjusted in r1719, or r1264 in branches/zip. storage/innobase/include/mem0mem.ic: Apply InnoDB snapshot innodb-5.1-ss1751. Revision r1744: Merge r1739 from branches/zip: mem_heap_free_heap_top(): Declare the memory freed with UNIV_MEM_FREE(). Before this change, the memory freed by mem_heap_empty() was not completely flagged free in UNIV_DEBUG_VALGRIND builds. After this change, Valgrind will hopefully catch all errors caught by UNIV_MEM_DEBUG. storage/innobase/include/sync0rw.ic: Apply InnoDB snapshot innodb-5.1-ss1751. Revision r1751: rw_lock_s_lock_func(): Correct a typo in a comment. storage/innobase/include/trx0trx.h: Apply InnoDB snapshot innodb-5.1-ss1751. Revision r1742: Remove some unused fields of trx_t: mysql_master_log_file_name, mysql_master_log_pos, repl_wait_binlog_name, repl_wait_binlog_pos. Approved by Heikki. storage/innobase/lock/lock0lock.c: Apply InnoDB snapshot innodb-5.1-ss1751. Revision r1749: Add a table level counter that tracks the number of AUTOINC locks that are pending and/or granted on a table. We peek at this value to determine whether a transaction doing a simple INSERT in innodb_autoinc_lock_mode = 1, needs to acquire the AUTOINC lock or not. This change is related to Bug# 16979. storage/innobase/mtr/mtr0log.c: Apply InnoDB snapshot innodb-5.1-ss1751. storage/innobase/pars/pars0pars.c: Apply InnoDB snapshot innodb-5.1-ss1751. storage/innobase/srv/srv0srv.c: Apply InnoDB snapshot innodb-5.1-ss1751. storage/innobase/trx/trx0sys.c: Apply InnoDB snapshot innodb-5.1-ss1751. Revision r1743: trx_sys_print_mysql_binlog_offset_from_page(): Enclose the definition in #ifdef UNIV_HOTBACKUP, to match the function declaration. storage/innobase/trx/trx0trx.c: Apply InnoDB snapshot innodb-5.1-ss1751. Revision r1742: Remove some unused fields of trx_t: mysql_master_log_file_name, mysql_master_log_pos, repl_wait_binlog_name, repl_wait_binlog_pos. Approved by Heikki. |
||
---|---|---|
BitKeeper | ||
BUILD | ||
client | ||
cmd-line-utils | ||
config/ac-macros | ||
dbug | ||
debian | ||
Docs | ||
extra | ||
include | ||
libmysql | ||
libmysql_r | ||
libmysqld | ||
man | ||
mysql-test | ||
mysys | ||
netware | ||
plugin | ||
pstack | ||
regex | ||
scripts | ||
server-tools | ||
sql | ||
sql-bench | ||
sql-common | ||
storage | ||
strings | ||
support-files | ||
tests | ||
unittest | ||
vio | ||
win | ||
zlib | ||
.bzrignore | ||
.cvsignore | ||
CMakeLists.txt | ||
configure.in | ||
COPYING | ||
EXCEPTIONS-CLIENT | ||
Makefile.am | ||
README |
This is a release of MySQL, a dual-license SQL database server. MySQL is brought to you by the MySQL team at MySQL AB. License information can be found in these files: - For GPL (free) distributions, see the COPYING file and the EXCEPTIONS-CLIENT file. - For commercial distributions, see the LICENSE.mysql file. For further information about MySQL or additional documentation, see: - The latest information about MySQL: http://www.mysql.com - The current MySQL documentation: http://dev.mysql.com/doc Some manual sections of special interest: - If you are migrating from an older version of MySQL, please read the "Upgrading from..." section first! - To see what MySQL can do, take a look at the features section. - For installation instructions, see the Installing and Upgrading chapter. - For the new features/bugfix history, see the Change History appendix. - For the currently known bugs/misfeatures (known errors) see the Problems and Common Errors appendix. - For a list of developers and other contributors, see the Credits appendix. A local copy of the MySQL Reference Manual can be found in the Docs directory in GNU Info format. You can also browse the manual online or download it in any of several formats at the URL given earlier in this file. ************************************************************ IMPORTANT: Bug or error reports should be sent to http://bugs.mysql.com.