- 06 May, 2008 4 commits
-
-
sunny authored
-
calvin authored
Implement the system tablespace tagging described on the wiki: https://svn.innodb.com/innobase/InnoDB_version_and_feature_compatibility A brief description of the changes: * The file format tag will be saved in the trx system page, starting at (UNIV_PAGE_SIZE - 16) for 8 bytes. * The configuration parameter innodb_file_format_check is introduced. This variable can be set to on/off and any of the supported file formats in the configuration file, but can only be set to any of the supported file formats during runtime. The default is on. * During table create/open, check the current file format against the max in file_format_max. If the current file format is newer, update file_format_max and tag the system tablespace with the newer one in a normal mtr. * During startup, write the tag to the error log and check it against DICT_TF_FORMAT_MAX. Refuse to start with error, if -- DICT_TF_FORMAT_MAX < the tag, and -- innodb_file_format_check is ON Print out a warning , if -- DICT_TF_FORMAT_MAX < the tag, but -- innodb_file_format_check is off * The system tablespace tag is re-settable using: set innodb_file_format_check = <file_format> Approved by: Sunny
-
vasil authored
Add InnoDB version in these places: * In INFORMATION_SCHEMA.PLUGINS.PLUGIN_VERSION, only 1.2 out of 1.2.3 because MySQL supports only one dot there * At startup: "080501 12:28:06 InnoDB Plugin 1.0.1 started; log sequence number 46509" * In a server variable innodb_version; mysql> select @@innodb_version; +------------------+ | @@innodb_version | +------------------+ | 1.0.1 | +------------------+ Approved by: Sunny
-
vasil authored
Allow InnoDB I_S plugins to be installed when InnoDB storage engine is not installed but show empty tables when SELECTing from them in this case. Set srv_was_started to FALSE at the end of innobase_shutdown_for_mysql() so the I_S plugins can detect if InnoDB is uninstalled. This is needed to workaround the MySQL Bug#36399 Double free bug when INFORMATION_SCHEMA plugin init function fails and is more flexible as it allows I_S plugins to be installed before the InnoDB plugin and detects if the latter is uninstalled after this. Approved by: Heikki
-
- 05 May, 2008 1 commit
-
-
sunny authored
SYNC_LEVEL_VARYING would cause an assertion failure when a thread tried to release it. We still have to check because it's a varying lock and could have been added later, so if the lookup fails then we simply ignore it and return TRUE.
-
- 04 May, 2008 2 commits
- 30 Apr, 2008 6 commits
-
-
vasil authored
------------------------------------------------------------------------ r2429 | vasil | 2008-04-30 11:19:06 +0300 (Wed, 30 Apr 2008) | 10 lines branches/5.1: * Use INNODB_CFLAGS insead of cluttering CFLAGS with InnoDB specific flags. CFLAGS are used to compile every file in the MySQL source tree. * Add INNODB_DYNAMIC_CFLAGS to the flags of the dynamic plugin and use -prefer-non-pic to make the dynamic plugin faster on i386. Approved by: Sunny ------------------------------------------------------------------------ r2430 | vasil | 2008-04-30 11:48:35 +0300 (Wed, 30 Apr 2008) | 8 lines branches/5.1: Use CFLAGS instead of INNODB_CFLAGS to avoid having incompatible flags inserted in CFLAGS and INNODB_CFLAGS and to avoid compiling mysql and innodb with different flags. Discussed with: Sunny ------------------------------------------------------------------------ r2431 | vasil | 2008-04-30 11:54:49 +0300 (Wed, 30 Apr 2008) | 4 lines branches/5.1: Fix r2430, it should be CFLAGS="$CFLAGS ..." not CFLAGS="..." ------------------------------------------------------------------------ r2432 | vasil | 2008-04-30 11:58:38 +0300 (Wed, 30 Apr 2008) | 4 lines branches/5.1: Non-functional change: use tabs for indentation in plug.in. ------------------------------------------------------------------------ r2433 | vasil | 2008-04-30 12:02:35 +0300 (Wed, 30 Apr 2008) | 5 lines branches/5.1: Add vim modeline to hint it that plug.in is a config file so it can be colorized. ------------------------------------------------------------------------ r2434 | vasil | 2008-04-30 18:45:44 +0300 (Wed, 30 Apr 2008) | 17 lines branches/5.1: Merge changes from MySQL: ChangeSet@1.2645, 2007-12-19 13:24:43+00:00, jperkin@chorlton.adsl.perkin.org.uk +14 -0 Add new pkgplugindir handling to seperate plugins from libraries, and allow override for binary distributions. Extend mysql_config to print compiled-in plugin location for third-party plugins to use. Resolves bug#31736. and ChangeSet@1.2646, 2008-01-02 13:00:46+00:00, jperkin@chorlton.adsl.perkin.org.uk +11 -0 Use pkglibdir to simplify pkgplugindir, and fix the path in a couple of Makefiles. Continuation of the fix for bug#31736. ------------------------------------------------------------------------ r2435 | vasil | 2008-04-30 19:04:36 +0300 (Wed, 30 Apr 2008) | 10 lines branches/5.1: Merge change from MySQL: ChangeSet@1.2563, 2008-03-18 19:42:04+04:00, gluh@mysql.com +1 -0 Bug#35406 5.1-opt crashes on select from I_S.REFERENTIAL_CONSTRAINTS added intialization of f_key_info.referenced_key_name for the case when referenced table is dropped ------------------------------------------------------------------------ r2436 | vasil | 2008-04-30 19:15:46 +0300 (Wed, 30 Apr 2008) | 7 lines branches/5.1: Non-functional white space change in Makefile.am: Use tabs for indentation and be consistent about spaces around the equal sign. ------------------------------------------------------------------------ r2437 | vasil | 2008-04-30 20:36:11 +0300 (Wed, 30 Apr 2008) | 8 lines branches/5.1: Fix Bug#36434 ha_innodb.so is installed in the wrong directory Change pkglib_LTLIBRARIES with pkgplugin_LTLIBRARIES which has been forgotten in this commit: http://lists.mysql.com/commits/40206 ------------------------------------------------------------------------
-
vasil authored
Suggested by: Ken
-
vasil authored
Suggested by: Ken
-
vasil authored
Formatted in compliance with many GNU tools, roughly described in http://www.gnu.org/software/guile/changelogs/guile-changelogs_toc.html
-
vasil authored
------------------------------------------------------------------------ r2386 | vasil | 2008-03-27 07:45:02 +0200 (Thu, 27 Mar 2008) | 22 lines branches/5.1: Merge change from MySQL (this fixes the failing innodb test): ChangeSet@1.1810.3601.4, 2008-02-07 02:33:21+04:00, gshchepa@host.loc +9 -0 Fixed bug#30059. Server handles truncation for assignment of too-long values into CHAR/VARCHAR/TEXT columns in a different ways when the truncated characters are spaces: 1. CHAR(N) columns silently ignore end-space truncation; 2. TEXT columns post a truncation warning/error in the non-strict/strict mode. 3. VARCHAR columns always post a truncation note in any mode. Space truncation processing has been synchronised over CHAR/VARCHAR/TEXT columns: current behavior of VARCHAR columns has been propagated as standard. Binary-encoded string/BLOB columns are not affected. ------------------------------------------------------------------------ r2387 | vasil | 2008-03-27 08:49:05 +0200 (Thu, 27 Mar 2008) | 8 lines branches/5.1: Check whether *trx->mysql_query_str is != NULL in addition to trx->mysql_query_str. This adds more safety. This may or may not fix Bug#35226 RBR event crashes slave. ------------------------------------------------------------------------ r2388 | vasil | 2008-03-27 14:02:34 +0200 (Thu, 27 Mar 2008) | 7 lines branches/5.1: Swap the order in which mysql_thd, mysql_query_str and *mysql_query_str are checked for non-NULL. Suggested by: Marko ------------------------------------------------------------------------ r2419 | vasil | 2008-04-23 19:08:06 +0300 (Wed, 23 Apr 2008) | 9 lines branches/5.1: Change the fix for Bug#32440 to show bytes instead of kilobytes in INFORMATION_SCHEMA.TABLES.DATA_FREE. Suggested by: Domas Mituzas <domas@mysql.com> Approved by: Heikki ------------------------------------------------------------------------ r2420 | calvin | 2008-04-24 15:25:30 +0300 (Thu, 24 Apr 2008) | 4 lines branches/5.1: Fix bug#29507 TRUNCATE shows to many rows effected In InnoDB, the row count is only a rough estimate used by SQL optimization. InnoDB is now return row count 0 for TRUNCATE operation. ------------------------------------------------------------------------ r2421 | calvin | 2008-04-24 15:32:30 +0300 (Thu, 24 Apr 2008) | 6 lines branches/5.1: Fix bug#35537 - Innodb doesn't increment handler_update and handler_delete Add the calls to ha_statistic_increment() in ha_innobase::delete_row() and ha_innobase::update_row(). ------------------------------------------------------------------------ r2422 | vasil | 2008-04-24 16:00:30 +0300 (Thu, 24 Apr 2008) | 11 lines branches/5.1: Fix Bug#36169 create innodb compressed table with too large row size crashed Sometimes it is possible that row_drop_table_for_mysql(index->table_name, trx, FALSE); is invoked in row_create_index_for_mysql() when the index object is freed so copy the table name to a safe place beforehand and use the copy. Approved by: Sunny ------------------------------------------------------------------------
-
- 29 Apr, 2008 1 commit
-
-
vasil authored
Fix Mantis issue#34 https://svn.innodb.com/mantis/view.php?id=34 "I_S plugins should refuse to load if the storage engine plugin is not loaded" and MySQL Bug#36310 http://bugs.mysql.com/36310 "InnoDB plugin crash" * Make srv_was_started public * Set srv_was_started at the end of innobase_start_or_create_for_mysql() so it is not set to TRUE if innodb encounters some startup error * Refuse to start any of the I_S plugins if srv_was_started is not TRUE Approved by: Heikki
-
- 23 Apr, 2008 1 commit
-
-
vasil authored
Fix Bug#36169 create innodb compressed table with too large row size crashed Sometimes it is possible that row_drop_table_for_mysql(index->table_name, trx, FALSE); is invoked in row_create_index_for_mysql() when the index object is freed, so copy the table name to a safe place beforehand and use the copy. Approved by: Sunny
-
- 12 Apr, 2008 1 commit
-
-
sunny authored
that in the fix but the earlier check fails because it tries to be too strict and assumes that if the block is on the clean list then it can only be in state io fix NONE.
-
- 11 Apr, 2008 3 commits
- 10 Apr, 2008 2 commits
-
-
calvin authored
described in Mantis#30. Specifically: - Allow innodb_file_format to take string arguments - Make innodb_file_format system variable a string instead of a number - Implement the callback functions - Update warning messages Three new functions are implemented: file_format_name_lookup(): Validate the file format name and return its corresponding id. innodb_file_format_check(): Check if it is a valid file format. This function is registered as a callback with MySQL. innodb_file_format_update(): Update the global variable using the "saved" value. This functions is registered as a callback with MySQL.
-
sunny authored
has a config variable that has since been renamed, we use a mapping table to check for matches.
-
- 09 Apr, 2008 3 commits
-
-
vasil authored
-
sunny authored
make_binary_release.sh which is passed to dynconfig. If the target architecture is i[3456]86 then we disable the --with-pic flag.
-
inaam authored
Introduced a new session level config param innodb_strict_mode. If it is set we do extra checking at time of table creation and fail if any invalid combination of KEY_BLOCK_SIZE or ROW_FORMAT is specified. Reviewed by: Sunny
-
- 07 Apr, 2008 2 commits
- 04 Apr, 2008 5 commits
-
-
vasil authored
-
vasil authored
Reflect the rename of build-plugin.sh.
-
vasil authored
Rename build-plugin.sh to make_binary_release.sh.
-
vasil authored
Add an aux script for preparing the source archives of the plugin that we are going to ship.
-
vasil authored
Add a README file containing simple instructions how to build the plugin from source.
-
- 28 Mar, 2008 6 commits
-
-
marko authored
statistics, but only the cumulated count and duration of relocation operations.
-
marko authored
in INFORMATION_SCHEMA.INNODB_CMP*. i_s_cmp_fields_info, i_s_cmpmem_fields_info: Define the field lengths as MY_INT32_NUM_DECIMAL_DIGITS or MY_INT64_NUM_DECIMAL_DIGITS. i_s_cmpmem_fields_info: Define "relocation_ops" as MYSQL_TYPE_LONGLONG.
-
marko authored
and columns as suggested by Ken. INNODB_COMPRESSION, INNODB_COMPRESSION_RESET: Rename to INNODB_CMP, INNODB_CMP_RESET, with the following columns: page_size compress_ops compress_ops_ok compress_time uncompress_ops uncompress_time INNODB_COMPRESSION_BUDDY, INNODB_COMPRESSION_BUDDY_RESET: Rename to INNODB_CMPMEM, INNODB_CMPMEM_RESET, with the following columns: page_size pages_used pages_free relocation_ops relocation_time
-
marko authored
INNODB_COMPRESSION_BUDDY and INNODB_COMPRESSION_BUDDY_RESET. buf_buddy_stat_struct, buf_buddy_stat_t, buf_buddy_stat[]: Statistics of the buddy system grouped by block size. i_s_innodb_compression_buddy, i_s_innodb_compression_buddy_reset: New INFORMATION_SCHEMA plugins. i_s_compression_buddy_fields_info[]: Define the fields: size, used, free, relocated, relocated_sec. i_s_compression_buddy_fill_low(), i_s_compression_buddy_fill(), i_s_compression_buddy_reset_fill(): Fill the fields. i_s_compression_buddy_init(), i_s_compression_buddy_reset_init(): Initialize the tables.
-
marko authored
i_s_compression_fill_low(): Do not acquire or release the buffer pool mutex. The page_zip_stat[] is not protected by any mutex. i_s_innodb_compression, i_s_innodb_compression_reset: Change the description to say "compression" instead of "compressed buffer pool".
-
marko authored
INNODB_ZIP and INNODB_ZIP_RESET to INNODB_COMPRESSION and INNODB_COMPRESSION_RESET, and remove the statistics of the buddy system. This change was discussed with Ken. It makes the tables shorter and easier to understand. The removed data will be represented in the tables INNODB_COMPRESSION_BUDDY and INNODB_COMPRESSION_BUDDY_RESET that will be added later. i_s_innodb_zip, i_s_innodb_zip_reset, i_s_zip_fields_info[], i_s_zip_fill_low(), i_s_zip_fill(), i_s_zip_reset_fill(), i_s_zip_init(), i_s_zip_reset_init(): Replace "zip" with "compression". i_s_compression_fields_info[]: Remove "used", "free", "relocated", "relocated_usec". In "compressed_usec" and "decompressed_usec", replace microseconds with seconds ("usec" with "sec"). page_zip_decompress(): Correct a typo in the function comment. PAGE_ZIP_SSIZE_BITS, PAGE_ZIP_NUM_SSIZE: New constants. page_zip_stat_t, page_zip_stat: Statistics of the compression, grouped by page size. page_zip_simple_validate(): Assert that page_zip->ssize is reasonable.
-
- 27 Mar, 2008 1 commit
-
-
vasil authored
Add the prototype of check_global_access() if MySQL version is less than 5.1.24 to make zip compile with 5.1.23. This was removed when MySQL added the prototype in their code in 5.1.24 but we still need zip to compile with older versions.
-
- 26 Mar, 2008 1 commit
-
-
marko authored
-
- 19 Mar, 2008 1 commit
-
-
marko authored
This patch tries to enable resizeable buffer pool by polling the configuration parameter for the buffer pool size, which is not a good solution. The right way could be to have an update function callback of a settable MySQL variable to send an event to the master thread. It could also make sense to expose the buffer pool chunks to the user. The first chunk would never be freed. Other chunks than the first one would only be used for allocating page frames (uncompressed or compressed) and block descriptors of of compressed pages (buf_page_t). That is, other users of the buffer pool, such as mem_heap_create_block() and the lock table, would be restricted to the first chunk. This would allow other chunks to be freed by simply flushing any dirty blocks that they contain. It might also be worthwhile to create multiple chunks initially, based on the initial buffer pool size and the HugeTLB page size. In that way, the buffer pool could be reduced from the initial configuration at runtime.
-