foreign->n_fields in order to preserve ON UPDATE CASCADE and
ON DELETE CASCADE flags. For some reason, gcc does not warn about
shifting a 10-bit field to right by 24 bits. (Bug #24741)
This bug was introduced while reducing the memory footprint of the
InnoDB data dictionary (Bug #20877).
innodb.test, innodb.result: Add a test case.
ChangeSet
2006/10/09 19:51:41+04:00 gkodinov@macbook.local
Bug #22781: SQL_BIG_RESULT fails to influence sort plan
Currently SQL_BIG_RESULT is checked only at compile time.
However, additional optimizations may take place after
this check that change the sort method from 'filesort'
to sorting via index. As a result the actual plan
executed is not the one specified by the SQL_BIG_RESULT
hint. Similarly, there is no such test when executing
EXPLAIN, resulting in incorrect output.
The patch corrects the problem by testing for
SQL_BIG_RESULT both during the explain and execution
phases.
ha_innodb.cc: innodb_mutex_show_status(): Add (ulong) casts to
ulonglong expressions being passed to fprintf %lu. The warnings
were apparently introduced by MySQL AB developers.
mysql_declare_plugin(innobase): Add PLUGIN_LICENSE_GPL.
have_innodb.inc: Merge changes from MySQL AB.
innodb_unsafe_binlog, innodb_handler, innodb-big, innodb_cache-master,
innodb-deadlock, innodb_cache: Remove. These have been renamed in the
MySQL tree.
innodb_mysql: Update.
innodb_mysql.test, innodb_mysql.result:
Bug #16798: Uninitialized row buffer reads in ref-or-null optimizer
Bug #12882: min/max inconsistent on empty table
Test of behaviour with CREATE ... SELECT
Moved from group_min_max.test:
Bug #12672: primary key implicitly included in every innodb index
Bug #6142: a problem with empty innodb table
Bug #9798: group by with rollup
ChangeSet@2006/06/01 21:47:15+03:00 bell@sanja.is.com.ua
# interface for transaction log management added to handlerton
# iterators creation interface added to handlerton
ha_innodb.cc: Add get_log_status = create_iterator = NULL
ChangeSet@2006/06/04 18:52:22+03:00 monty@mysql.com
# This changeset is largely a handler cleanup changeset (WL#3281),
# but includes fixes and cleanups that was found necessary while
# testing the handler changes
# sql/ha_innodb.h
# 2006/06/04 18:52:09+03:00 monty@mysql.com +6 -13
# Update to 'newer' table handler interface
# - table_flags are now ulonglong
# - Added reset() method
# - Removed not needed ha_retrieve_all_cols() and ha_retrieve_all_pk()
# columns.
# - Made build_template() a class function to be able to easier access
# class variables
# sql/ha_innodb.cc
# 2006/06/04 18:52:09+03:00 monty@mysql.com +37 -44
# Update to 'newer' table handler interface
# - Update innobase_create_handler() to new interface
# - Removed HA_NOT_EXACT_COUNT (not needed)
# - Renamed HA_PRIMARY_KEY_ALLOW_RANDOM_ACCESS
# to HA_PRIMARY_KEY_REQUIRED_FOR_POSITION.
# - Prefixed base status variables with 'stats'
# - Use table column bitmaps instead of ha_get_bit_in_read_set()
# - Added ::reset(), with code from ::extra(HA_EXTRA_RESET)
# - Removed HA_EXTRA_RETRIVE_ALL_COLS and HA_EXTRA_RETRIEVE_PRIMARY_KEY as
# the table->read_set and table->write_set bitmaps now are accurate
ChangeSet@2006/06/02 22:21:32+02:00 guilhem@mysql.com
# First push for WL#3146 "less locking in auto_increment". It is a
# 0-real-change patch.
# New prototype for get_auto_increment() (but new arguments not yet used),
# to be able to reserve a finite interval of auto_increment values from
# cooperating engines.
# A hint on how many values to reserve is found in
# handler::estimation_rows_to_insert,
# filled by ha_start_bulk_insert(), new wrapper around start_bulk_insert().
# NOTE: this patch changes nothing, for all engines.
# But it makes the API ready for those
# engines which will want to do reservation.
# More csets will come to complete WL#3146.
ha_innodb.h, ha_innodb.cc: update to new prototype of get_auto_increment
ChangeSet@2006/05/28 14:51:01+02:00 serg@sergbook.mysql.com
# handlerton cleanup:
# duplicate fields removed, st_mysql_storage_engine added to support
# run-time handlerton initialization (no compiler warnings), handler API
# is now tied to MySQL version, handlerton->plugin mapping added
# (slot-based), dummy default_hton removed, plugin-type-specific
# initialization generalized, built-in plugins are now initialized too,
# --default-storage-engine no longer needs a list of storage engines
# in handle_options().
#
# sql/ha_innodb.h
# 2006/05/28 14:50:53+02:00 serg@sergbook.mysql.com +1 -1
# handlerton cleanup: remove duplicate fields, add st_mysql_storage_engine,
# initialize handlerton run-time to avoid compiler warnings
#
# sql/ha_innodb.cc
# 2006/05/28 14:50:53+02:00 serg@sergbook.mysql.com +37 -52
# handlerton cleanup: remove duplicate fields, add st_mysql_storage_engine,
# initialize handlerton run-time to avoid compiler warnings
ChangeSet@2006/06/01 23:59:34+02:00 serg@serg.mylan
# second patch for make distcheck
ha_innodb.cc: enclose in #ifdef WITH_INNOBASE_STORAGE_ENGINE / #endif
dict_scan_table_name(): Remove fallback to differently encoded name when
the table is not found. The encoding is handled at a higher level.
innodb.result: Adjust the results for changes in the foreign key error
messages.
DB_ROW_ID", by refusing tables that use reserved column names.
Add dict_mem_table_free(), use it instead of duplicating the code everywhere.
Use already existing dict_mem_index_free().
Fix memory leaks in row_create_table_for_mysql() in rare corner cases.
test cases to a one test case and wait their lock timeout after all
have been send to the server. Remove unnecessary option
--loose_innodb_lock_wait_timeout.
weakens the locks for this session similarly like the option
innodb_locks_unsafe_for_binlog. This patch removes almost all
gap locking (used in next-key locking) and makes MySQL to release
the row locks on the rows which does not belong to result set.
Additionally, nonlocking selects on INSERT INTO SELECT,
UPDATE ... (SELECT ...), and CREATE ... SELECT ... use a
nonlocking consistent read. If a binlog is used, then binlog
format should be set to row based binloging to make the execution
of the complex SQL statements.
probably caching. Fixed test results.
This patch implements a high-granularity read view to be used with
cursors. In this high-granularity consistent read view modifications
done by the creating transaction after the cursor is created or
future transactions are not visible. But those modifications that
transaction did before the cursor was created are visible.
that were not part of r154. (Bug #3300)
innodb.test, innodb.result: Remove binlog related tests, because they
are not InnoDB specific; they merely require a transactional table.
ha_innobase::ha_innobase(): Add HA_PRIMARY_KEY_ALLOW_RANDOM_ACCESS
to table_flags.
ha_innobase::rnd_init(): Disable semi-consistent read for random access.
Make innodb_thread_concurrency 0 by default, and extend the useable
range from 0 to 1000 (0 disables the thread throttling).
Remove SRV_CONCURRENCY_THRESHOLD (20). The magic value to
disable the thread throttling is 0 from now on.
Do not mistake TABLENAME_ibfk_0 for auto-generated id (Bug #16387).
dict_table_get_highest_foreign_id(): Ignore foreign constraint identifiers
starting with the pattern TABLENAME_ibfk_0.
innodb.test, innodb.result: Add test case.
Fixed a bug #16229 MySQL/InnoDB uses full explicit table locks
in trigger processing. Take a InnoDB table lock only if user has explicitly
requested a table lock. Added some additional comments to store_lock() and
external_lock(). Added test cases for a bug. Fixed some code style errors.
Do not pad VARBINARY or BINARY columns. (Bug #14189)
innodb.test, innodb.result: Add test cases for foreign key constraints
between VARBINARY and BINARY columns, and between VARCHAR BINARY and
CHAR BINARY columns.
innobase_init(): Assert that
DATA_MYSQL_BINARY_CHARSET_COLL == my_charset_bin.number.
dtype_get_pad_char(): Do not pad VARBINARY or BINARY columns.
row_ins_cascade_calc_update_vec(): Refuse ON UPDATE CASCADE
when trying to change the length of a VARBINARY column
that refers to or is referenced by a BINARY column. BINARY
columns are no longer padded on comparison, and thus they
cannot be padded on storage either.
Mostly fix bug #13778, when FOREIGN_KEY_CHECKS=0 we still need to check
that datatypes between foreign key references are compatible.
Add test cases (also for bug #9802).