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.
Bug #16979: AUTO_INC lock in InnoDB works a table level lock
- this is a major change in InnoDB auto-inc handling.
Bug #27950: Duplicate entry error in auto-inc after mysqld restart
- Init AUTOINC from delete_row().
Bug #28781: InnoDB increments auto-increment value incorrectly with ON DUPLICATE KEY UPDATE
- Use value specified by MySQL, in update_row().
Patch by: Monty Taylor <mtaylor@mysql.com>
Fixes by: Stewart Smith
Added the ability to run ndb_size.pl on mulitple databases and also to exclude lists of databases and tables from analysis.
---
Added schema name information to index table calculations as well.
---
Made database an optional parameter, the exclusion of which causes all databases to be examined.
If selecting from information_schema fails, attempt to fall back to show tables from
---
Added support for setting an optional "real_table_name" for a table to deal with unique indexe size calcs.
---
Fixed report title for the case where we are using operating on more than one database.
---
Fixed some perl style concerns timothy had.
Cull the list of databases in perl rather than passing both an in and a not in list to MySQL
Get this full list of databases from show databases if needed.
storage/ndb/tools/ndb_size.pl@stripped, 2007-05-25 13:45:44-07:00, mtaylor@qualinost.(none) +102 -28
Added the ability to run ndb_size.pl on mulitple databases and also to exclude lists of databases and tables from analysis.
---
Added schema name information to index table calculations as well.
---
Made database an optional parameter, the exclusion of which causes all databases to be examined.
If selecting from information_schema fails, attempt to fall back to show tables from
---
Added support for setting an optional "real_table_name" for a table to deal with unique indexe size calcs.
---
Fixed report title for the case where we are using operating on more than one database.
---
Fixed some perl style concerns timothy had.
Cull the list of databases in perl rather than passing both an in and a not in list to MySQL
Get this full list of databases from show databases if needed.
Index: ndb-work/storage/ndb/tools/ndb_size.pl
===================================================================
Faster thr_alarm()
Added 'Opened_files' status variable to track calls to my_open()
Don't give warnings when running mysql_install_db
Added option --source-install to mysql_install_db
I had to do the following renames() as used polymorphism didn't work with Forte compiler on 64 bit systems
index_read() -> index_read_map()
index_read_idx() -> index_read_idx_map()
index_read_last() -> index_read_last_map()
Additional changes for bug#29903
- Changed to do embedded build part as normal build, when
WITH_EMBEDDED_SERVER is set.
- Allow both normal and debug build with embedded.
- Build static embedded library by pointing out all source and compile
it all, i.e. not building libraries from libraries, not portable.
- Let embedded use generated files from the "sql" directory, added
dependencies to make sure built before embedded.
- Mark library "dbug" in TARGET_LINK_LIBRARIES() with "debug", so only
linked in when debug target is used.
- Removed change of target name with "mysqld${MYSQLD_EXE_SUFFIX}", as
others can't depend on it, not defined at configure time. Instead
set the output file name.
- Created work around for bug in CMake 2.4.6 and output names, to
set the "mysqld<suffix>.pdb" name to the same base name.
- Set the correct manifest "name" (patch by iggy)