This was submitted by Marko to MySQL AB and merged to the MySQL tree by
Brian Aker in the following two changesets:
ChangeSet
2006/09/07 08:23:58-07:00 brian@zim.(none)
Moves Innodb handler to the Innodb storage directory.
ChangeSet
2006/09/07 16:17:16-07:00 brian@zim.(none)
Warning fixes for Windows, and an include fix for Windows for Innodb.
storage/innobase/CMakeLists.txt
2006/09/07 16:17:13-07:00 brian@zim.(none) +6 -1
Fixed includes for Windows
set type->len to the prefix_len of the index column, if it is a prefix index.
This should prevent bugs similar to Bug #21638 from occurring.
dict_index_copy_types(): Set type->len to prefix_len if prefix_len != 0.
row_build_index_entry(): Set type->len to prefix_len if prefix_len != 0,
also when the column in the tuple is SQL NULL, because the type information
may be used for interpreting other records during btr_page_reorganize().
ChangeSet
2006/08/23 15:12:42-07:00 brian@zim.(none)
This is a cleanup of warnings that windows is complaining about.
sql/ha_innodb.cc
2006/08/23 15:12:39-07:00 brian@zim.(none) +0 -1
Removed unused variables
ChangeSet
2006/08/22 16:24:12-07:00 brian@zim.(none)
This changest:
Plugins now when compiled or not compiled work correctly with status variables.
Status variables from plugins now set their own names (removed bit where plugin name was pre-appended this broke Innodb and Cluster)
A few Makefile cleanups.
sql/ha_innodb.cc
2006/08/22 16:24:08-07:00 brian@zim.(none) +16 -6
Cleanup to make status variables directly in engine
ChangeSet@1.2288, 2006-08-29 15:35:05+02:00, guilhem@gbichot3.local +2 -0
Fix for BUG#20866 "show table status on innodb raises assertion"
and its duplicate BUG#19057 "Test 'rpl_row_func003' fails on SuSE SLES9 x86".
It was an assertion failure, only in debug builds, not present
in released versions (nothing to document).
It happened when doing SHOW TABLE STATUS on an InnoDB table
having an auto_increment column, right after creating the table.
sql/ha_innodb.cc@1.288, 2006-08-29 15:35:02+02:00, guilhem@gbichot3.local +7 -1
Before a val_() calls on a Field object, if that field was not marked
for read, we need to mark it. This is explained here:
ChangeSet 1.2119.601.1 2006/06/04 18:52:22 monty@mysql.com
quoting the changeset's comment:
- If a handler needs to call Field->val() or Field->store() on columns
that are not used in the query, one should install a temporary
all-columns-used map while doing so. For this, we provide the following
functions:
my_bitmap_map *old_map= dbug_tmp_use_all_columns(table, table->read_set);
field->val();
dbug_tmp_restore_column_map(table->read_set, old_map);
and similar for the write map:
my_bitmap_map *old_map= dbug_tmp_use_all_columns(table, table->write_set);
field->val();
dbug_tmp_restore_column_map(table->write_set, old_map);
If this is not done, you will sooner or later hit a DBUG_ASSERT
in the field store() / val() functions.
(For not DBUG binaries, the dbug_tmp_restore_column_map() and
dbug_tmp_restore_column_map() are inline dummy functions and should
be optimized away be the compiler).
Note that I verified that the bug didn't exist in non-debug builds.
the doublewrite buffer magic number from uninitialized memory; the code
worked because it was extremely unlikely that the memory would contain the
magic number.
univ.i: Do not #define YYDEBUG, because it is only useful for debugging
the grammar of the Bison-generated InnoDB SQL parser.
row_build(): Remove type==ROW_COPY_ALSO_EXTERNALS, because it is never
passed.
ChangeSet
2006/08/23 13:59:16-07:00 brian@zim.(none)
This patch removes need for a innodb to have its own configure.
univ.i: Replace ../ib_config.h with config.h.
Makefile.i, Makefile.am: Change directory paths.
configure.in: Delete.
plug.in: New file, included from the top-level configure.in.
setup.sh: Replace configure.in with plug.in.
and lexer files). From now on, the following Emacs cc-mode settings apply
when indenting C function bodies in InnoDB:
(setq c-basic-offset 8)
(setq c-label-minimum-indentation 0)
(add-to-list 'c-offsets-alist '(c . 0))
(add-to-list 'c-offsets-alist '(label . [0]))
The indentation rules for function declarations still have not been
formalized, and they must be formatted manually.
Try to limit all lines to at most 79 characters (assuming TAB stops every
8 characters) by splitting lines before opening parenthesis, or at
string constants.
Fix some grammar mistakes in diagnostic output:
match to, match with -> match
found from -> found in
trying rename -> trying to rename
Fix an error in page_check_dir(): it said "supremum not pointed to"
when the infimum was not pointed to.
Enclose commented-out code snippets in #if 0 ... #endif instead of /* ... */.
Add (void*) casts to some %p parameters in fprintf() calls. Try to
split lines before a binary operator, not after one. (These three fixes
were not made everywhere.)
ChangeSet@1.2181.173.1 2006-08-02 17:57:06+02:00 ingo@local
Bug#18775 - Temporary table from alter table visible to other threads
Continued implementation of WL#1324 (table name to filename encoding)
Changed back the encoded temp file prefix to #sql.