mariadb/storage/innodb_plugin
Satya B e011c02e2f Applying InnoDB Plugin 1.0.5 snapshot ,part 12
From r5995 to r6043

Detailed revision comments:

r5995 | marko | 2009-09-28 03:52:25 -0500 (Mon, 28 Sep 2009) | 17 lines
branches/zip: Do not write to PAGE_INDEX_ID after page creation,
not even when restoring an uncompressed page after a compression failure.

btr_page_reorganize_low(): On compression failure, do not restore
those page header fields that should not be affected by the
reorganization.  Instead, compare the fields.

page_zip_decompress(): Add the parameter ibool all, for copying all
page header fields.  Pass the parameter all=TRUE on block read
completion, redo log application, and page_zip_validate(); pass
all=FALSE in all other cases.

page_zip_reorganize(): Do not restore the uncompressed page on
failure.  It will be restored (to pre-modification state) by the
caller anyway.

rb://167, Issue #346
r5996 | marko | 2009-09-28 07:46:02 -0500 (Mon, 28 Sep 2009) | 4 lines
branches/zip: Address Issue #350 in comments.

lock_rec_queue_validate(), lock_rec_queue_validate(): Note that
this debug code may violate the latching order and cause deadlocks.
r5997 | marko | 2009-09-28 08:03:58 -0500 (Mon, 28 Sep 2009) | 12 lines
branches/zip: Remove an assertion failure when the InnoDB data dictionary
is inconsistent with the MySQL .frm file.

ha_innobase::index_read(): When the index cannot be found,
return an error.

ha_innobase::change_active_index(): When prebuilt->index == NULL,
set also prebuilt->index_usable = FALSE.  This is not needed for
correctness, because prebuilt->index_usable is only checked by
row_search_for_mysql(), which requires prebuilt->index != NULL.

This addresses Issue #349.  Approved by Heikki Tuuri over IM.
r6005 | vasil | 2009-09-29 03:09:52 -0500 (Tue, 29 Sep 2009) | 4 lines
branches/zip:

ChangeLog: wrap around 78th column, not earlier.

r6006 | vasil | 2009-09-29 05:15:25 -0500 (Tue, 29 Sep 2009) | 4 lines
branches/zip:

Add ChangeLog entry for the release of 1.0.4.

r6007 | vasil | 2009-09-29 08:19:59 -0500 (Tue, 29 Sep 2009) | 6 lines
branches/zip:

Fix the year, should be 2009.

Pointed by:	Calvin

r6026 | marko | 2009-09-30 02:18:24 -0500 (Wed, 30 Sep 2009) | 1 line
branches/zip: Add some debug assertions for checking FSEG_MAGIC_N.
r6028 | marko | 2009-09-30 08:55:23 -0500 (Wed, 30 Sep 2009) | 3 lines
branches/zip: recv_no_log_write: New debug flag for tracking down
Mantis Issue #347.  No modifications should be made to the database
while recv_apply_hashed_log_recs() is about to complete.
r6029 | calvin | 2009-09-30 15:32:02 -0500 (Wed, 30 Sep 2009) | 4 lines
branches/zip: non-functional changes

Fix typo.

r6031 | marko | 2009-10-01 06:24:33 -0500 (Thu, 01 Oct 2009) | 49 lines
branches/zip: Clean up after a crash during DROP INDEX.
When InnoDB crashes while dropping an index, ensure that
the index will be completely dropped during crash recovery.

row_merge_drop_index(): Before dropping an index, rename the index to
start with TEMP_INDEX_PREFIX_STR and commit the change, so that
row_merge_drop_temp_indexes() will drop the index after crash
recovery if the server crashes while dropping the index.

fseg_inode_try_get(): New function, forked from fseg_inode_get().
Return NULL if the file segment index node is free.

fseg_inode_get(): Assert that the file segment index node is not free.

fseg_free_step(): If the file segment index node is already free,
print a diagnostic message and return TRUE.

fsp_free_seg_inode(): Write a nonzero number to FSEG_MAGIC_N, so that
allocated-and-freed file segment index nodes can be better
distinguished from uninitialized ones.

This is rb://174, addressing Issue #348.

Tested by restarting mysqld upon the completion of the added
log_write_up_to() invocation below, during DROP INDEX.  The index was
dropped after crash recovery, and re-issuing the DROP INDEX did not
crash the server.

Index: btr/btr0btr.c
===================================================================
--- btr/btr0btr.c	(revision 6026)
+++ btr/btr0btr.c	(working copy)
@@ -42,6 +42,7 @@ Created 6/2/1994 Heikki Tuuri
 #include "ibuf0ibuf.h"
 #include "trx0trx.h"
+#include "log0log.h"
 
 /*
 Latching strategy of the InnoDB B-tree
 --------------------------------------
@@ -873,6 +874,8 @@ leaf_loop:
 
 		goto leaf_loop;
 	}
+
+	log_write_up_to(mtr.end_lsn, LOG_WAIT_ALL_GROUPS, TRUE);
 top_loop:
 	mtr_start(&mtr);
 
r6033 | calvin | 2009-10-01 15:19:46 -0500 (Thu, 01 Oct 2009) | 4 lines
branches/zip: fix a typo in error message

Reported as bug#47763.

r6043 | inaam | 2009-10-05 09:45:35 -0500 (Mon, 05 Oct 2009) | 12 lines
branches/zip  rb://176

Do not invalidate buffer pool while an LRU batch is active. Added
code to buf_pool_invalidate() to wait for the running batches to finish.

This patch also resets the state of buf_pool struct at invalidation. This
addresses the concern where buf_pool->freed_page_clock becomes non-zero
because we read in a system tablespace page for file format info at
startup.

Approved by: Marko
2009-10-09 19:43:15 +05:30
..
btr Applying InnoDB Plugin 1.0.5 snapshot ,part 12 2009-10-09 19:43:15 +05:30
buf Applying InnoDB Plugin 1.0.5 snapshot ,part 12 2009-10-09 19:43:15 +05:30
data Update to innoplug-1.0.4. 2009-07-30 17:42:56 +05:00
dict Applying InnoDB Plugin 1.0.5 snapshot , part 9 2009-10-09 18:22:18 +05:30
dyn Adding innodb_plugin-1.0.4 as storage/innodb_plugin. 2009-05-27 15:15:59 +05:30
eval Adding innodb_plugin-1.0.4 as storage/innodb_plugin. 2009-05-27 15:15:59 +05:30
fil Applying InnoDB Plugin 1.0.5 snapshot, part 11 2009-10-09 19:32:18 +05:30
fsp Applying InnoDB Plugin 1.0.5 snapshot ,part 12 2009-10-09 19:43:15 +05:30
fut Adding innodb_plugin-1.0.4 as storage/innodb_plugin. 2009-05-27 15:15:59 +05:30
ha Update to innoplug-1.0.4. 2009-07-30 17:42:56 +05:00
handler Applying InnoDB Plugin 1.0.5 snapshot ,part 12 2009-10-09 19:43:15 +05:30
ibuf Update to innoplug-1.0.4. 2009-07-30 17:42:56 +05:00
include Applying InnoDB Plugin 1.0.5 snapshot ,part 12 2009-10-09 19:43:15 +05:30
lock Applying InnoDB Plugin 1.0.5 snapshot ,part 12 2009-10-09 19:43:15 +05:30
log Applying InnoDB Plugin 1.0.5 snapshot ,part 12 2009-10-09 19:43:15 +05:30
mach Adding innodb_plugin-1.0.4 as storage/innodb_plugin. 2009-05-27 15:15:59 +05:30
mem Applying InnoDB Plugin 1.0.5 snapshot, part 2 2009-10-08 15:30:49 +05:30
mtr Applying InnoDB Plugin 1.0.5 snapshot ,part 12 2009-10-09 19:43:15 +05:30
mysql-test Applying InnoDB Plugin 1.0.5 snapshot , part 1 2009-10-08 14:43:16 +05:30
os Applying InnoDB Plugin 1.0.5 snapshot, part 11 2009-10-09 19:32:18 +05:30
page Applying InnoDB Plugin 1.0.5 snapshot ,part 12 2009-10-09 19:43:15 +05:30
pars Adding innodb_plugin-1.0.4 as storage/innodb_plugin. 2009-05-27 15:15:59 +05:30
que Update to innoplug-1.0.4. 2009-07-30 17:42:56 +05:00
read Adding innodb_plugin-1.0.4 as storage/innodb_plugin. 2009-05-27 15:15:59 +05:30
rem Applying InnoDB Plugin 1.0.5 snapshot, part 2 2009-10-08 15:30:49 +05:30
row Applying InnoDB Plugin 1.0.5 snapshot ,part 12 2009-10-09 19:43:15 +05:30
scripts Adding innodb_plugin-1.0.4 as storage/innodb_plugin. 2009-05-27 15:15:59 +05:30
srv Applying InnoDB Plugin 1.0.5 snapshot , part 9 2009-10-09 18:22:18 +05:30
sync Applying InnoDB Plugin 1.0.5 snapshot , part 8 2009-10-09 17:49:13 +05:30
thr Applying InnoDB Plugin 1.0.5 snapshot, part 2 2009-10-08 15:30:49 +05:30
trx Applying InnoDB Plugin 1.0.5 snapshot ,part 12 2009-10-09 19:43:15 +05:30
usr Adding innodb_plugin-1.0.4 as storage/innodb_plugin. 2009-05-27 15:15:59 +05:30
ut Applying InnoDB Plugin 1.0.5 snapshot , part 8 2009-10-09 17:49:13 +05:30
win-plugin Adding innodb_plugin-1.0.4 as storage/innodb_plugin. 2009-05-27 15:15:59 +05:30
ChangeLog Applying InnoDB Plugin 1.0.5 snapshot ,part 12 2009-10-09 19:43:15 +05:30
CMakeLists.txt Applying InnoDB Plugin 1.0.5 snapshot, part 11 2009-10-09 19:32:18 +05:30
compile-innodb Adding innodb_plugin-1.0.4 as storage/innodb_plugin. 2009-05-27 15:15:59 +05:30
compile-innodb-debug Adding innodb_plugin-1.0.4 as storage/innodb_plugin. 2009-05-27 15:15:59 +05:30
COPYING Adding innodb_plugin-1.0.4 as storage/innodb_plugin. 2009-05-27 15:15:59 +05:30
COPYING.Google Adding innodb_plugin-1.0.4 as storage/innodb_plugin. 2009-05-27 15:15:59 +05:30
COPYING.Percona Update to innoplug-1.0.4. 2009-07-30 17:42:56 +05:00
COPYING.Sun_Microsystems Update to innoplug-1.0.4. 2009-07-30 17:42:56 +05:00
Doxyfile Update to innoplug-1.0.4. 2009-07-30 17:42:56 +05:00
ha_innodb.def Adding innodb_plugin-1.0.4 as storage/innodb_plugin. 2009-05-27 15:15:59 +05:30
Makefile.am Applying InnoDB Plugin 1.0.5 snapshot, part 11 2009-10-09 19:32:18 +05:30
plug.in Applying InnoDB Plugin 1.0.5 snapshot, part 7 2009-10-08 18:35:59 +05:30
README Adding innodb_plugin-1.0.4 as storage/innodb_plugin. 2009-05-27 15:15:59 +05:30
setup.sh Adding innodb_plugin-1.0.4 as storage/innodb_plugin. 2009-05-27 15:15:59 +05:30

This is the source of the InnoDB Plugin 1.0.4 for MySQL 5.1
===========================================================

Instructions for compiling the plugin:
--------------------------------------

1. Get the latest MySQL 5.1 sources from
   http://dev.mysql.com/downloads/mysql/5.1.html#source

2. Replace the contents of the mysql-5.1.N/storage/innobase/ directory
   with the contents of this directory.

3. Optional (only necessary if you are going to run tests from the
   mysql-test suite): cd into the innobase directory and run ./setup.sh

4. Compile MySQL as usual.

5. Enjoy!

See the online documentation for more detailed instructions:
http://www.innodb.com/doc/innodb_plugin-1.0/innodb-plugin-installation.html

For more information about InnoDB visit
http://www.innodb.com

Please report any problems or issues with the plugin in the InnoDB Forums
http://forums.innodb.com/ or in the MySQL Bugs database http://bugs.mysql.com

Thank you for using the InnoDB plugin!