diff options
author | Satya B <satya.bn@sun.com> | 2009-11-30 19:05:20 +0530 |
---|---|---|
committer | Satya B <satya.bn@sun.com> | 2009-11-30 19:05:20 +0530 |
commit | b3aa91ef22e909e9b2756abfbf8d18ef355e268f (patch) | |
tree | 5b3d6e1eb2abed166a0db44075619a1612d390c1 /storage | |
parent | fc7ce5d1b31d4ac5564e13fc113d30853f90f5b2 (diff) | |
download | mariadb-git-b3aa91ef22e909e9b2756abfbf8d18ef355e268f.tar.gz |
Applying InnoDB Plugin 1.0.6 snapshot, part 9. Fixes BUG#48526, BUG#48317
applied revisions: r6197, r6198, r6199
r6197 - BUG#48317
r6199 - BUG#48526
Detailed revision comments:
r6197 | calvin | 2009-11-19 09:32:55 +0200 (Thu, 19 Nov 2009) | 6 lines
branches/zip: merge the fix of bug#48317 (CMake file)
Due to MySQL changes to the CMake, it is no longer able
to build InnoDB plugin as a static library on Windows.
The fix is proposed by Vlad of MySQL.
r6198 | vasil | 2009-11-19 09:44:31 +0200 (Thu, 19 Nov 2009) | 4 lines
branches/zip:
Add ChangeLog entry for r6197.
r6199 | vasil | 2009-11-19 12:10:12 +0200 (Thu, 19 Nov 2009) | 31 lines
branches/zip: Merge r6159:6198 from branches/5.1:
------------------------------------------------------------------------
r6187 | jyang | 2009-11-18 05:27:30 +0200 (Wed, 18 Nov 2009) | 9 lines
Changed paths:
M /branches/5.1/btr/btr0btr.c
branches/5.1: Fix bug #48469 "when innodb tablespace is
configured too small, crash and corruption!". Function
btr_create() did not check the return status of fseg_create(),
and continue the index creation even there is no sufficient
space.
rb://205 Approved by Marko
------------------------------------------------------------------------
r6188 | jyang | 2009-11-18 07:14:23 +0200 (Wed, 18 Nov 2009) | 8 lines
Changed paths:
M /branches/5.1/data/data0type.c
branches/5.1: Fix bug #48526 "Data type for float and
double is incorrectly reported in InnoDB table monitor".
Certain datatypes are not printed correctly in
dtype_print().
rb://204 Approved by Marko.
------------------------------------------------------------------------
Diffstat (limited to 'storage')
-rw-r--r-- | storage/innodb_plugin/CMakeLists.txt | 12 | ||||
-rw-r--r-- | storage/innodb_plugin/ChangeLog | 17 | ||||
-rw-r--r-- | storage/innodb_plugin/btr/btr0btr.c | 12 | ||||
-rw-r--r-- | storage/innodb_plugin/data/data0type.c | 16 |
4 files changed, 54 insertions, 3 deletions
diff --git a/storage/innodb_plugin/CMakeLists.txt b/storage/innodb_plugin/CMakeLists.txt index 25cd212a473..21d83ea2b5f 100644 --- a/storage/innodb_plugin/CMakeLists.txt +++ b/storage/innodb_plugin/CMakeLists.txt @@ -81,4 +81,14 @@ SET(INNODB_PLUGIN_SOURCES btr/btr0btr.c btr/btr0cur.c btr/btr0pcur.c btr/btr0sea ut/ut0byte.c ut/ut0dbg.c ut/ut0mem.c ut/ut0rnd.c ut/ut0ut.c ut/ut0vec.c ut/ut0list.c ut/ut0wqueue.c) ADD_DEFINITIONS(-DHAVE_WINDOWS_ATOMICS -DIB_HAVE_PAUSE_INSTRUCTION) -MYSQL_STORAGE_ENGINE(INNODB_PLUGIN) + +IF (MYSQL_VERSION_ID GREATER "50137") + MYSQL_STORAGE_ENGINE(INNOBASE) + # Use ha_innodb for plugin name, if plugin is built + GET_TARGET_PROPERTY(LIB_LOCATION ha_innobase LOCATION) + IF(LIB_LOCATION) + SET_TARGET_PROPERTIES(ha_innobase PROPERTIES OUTPUT_NAME ha_innodb) + ENDIF(LIB_LOCATION) +ELSE (MYSQL_VERSION_ID GREATER "50137") + IF (NOT SOURCE_SUBLIBS) + ADD_DEFINITIONS(-D_WIN32 -DMYSQL_SERVER) diff --git a/storage/innodb_plugin/ChangeLog b/storage/innodb_plugin/ChangeLog index 47c20fd9851..b801a3c23b2 100644 --- a/storage/innodb_plugin/ChangeLog +++ b/storage/innodb_plugin/ChangeLog @@ -1,3 +1,20 @@ +2009-11-19 The InnoDB Team + + * btr/btr0btr.c: + Fix Bug#48469 when innodb tablespace is configured too small, crash + and corruption! + +2009-11-19 The InnoDB Team + + * data/data0type.c: + Fix Bug#48526 Data type for float and double is incorrectly reported + in InnoDB table monitor + +2009-11-19 The InnoDB Team + + * CMakeLists.txt: + Fix Bug#48317 cannot build innodb as static library + 2009-11-18 The InnoDB Team * handler/handler0alter.cc: diff --git a/storage/innodb_plugin/btr/btr0btr.c b/storage/innodb_plugin/btr/btr0btr.c index 94b34ecece1..9f06a41aa1e 100644 --- a/storage/innodb_plugin/btr/btr0btr.c +++ b/storage/innodb_plugin/btr/btr0btr.c @@ -790,8 +790,16 @@ btr_create( } else { /* It is a non-ibuf tree: create a file segment for leaf pages */ - fseg_create(space, page_no, - PAGE_HEADER + PAGE_BTR_SEG_LEAF, mtr); + if (!fseg_create(space, page_no, + PAGE_HEADER + PAGE_BTR_SEG_LEAF, mtr)) { + /* Not enough space for new segment, free root + segment before return. */ + fseg_free(space, page_no, + PAGE_HEADER + PAGE_BTR_SEG_TOP); + + return(FIL_NULL); + } + /* The fseg create acquires a second latch on the page, therefore we must declare it: */ buf_block_dbg_add_level(block, SYNC_TREE_NODE_NEW); diff --git a/storage/innodb_plugin/data/data0type.c b/storage/innodb_plugin/data/data0type.c index 8429775e7d8..e834fd2ec55 100644 --- a/storage/innodb_plugin/data/data0type.c +++ b/storage/innodb_plugin/data/data0type.c @@ -237,6 +237,22 @@ dtype_print( fputs("DATA_SYS", stderr); break; + case DATA_FLOAT: + fputs("DATA_FLOAT", stderr); + break; + + case DATA_DOUBLE: + fputs("DATA_DOUBLE", stderr); + break; + + case DATA_DECIMAL: + fputs("DATA_DECIMAL", stderr); + break; + + case DATA_VARMYSQL: + fputs("DATA_VARMYSQL", stderr); + break; + default: fprintf(stderr, "type %lu", (ulong) mtype); break; |