3936 magnus.blaudd@stripped 2012-05-31 [merge]
Merge
modified:
sql/log_event.cc
3935 Inaam Rana 2012-05-31
Bug#14141617 - MISSING ASSIGNMENT TO PREV_PAGES VARIABLE IN ADAPTIVE FLUSHING
approved by: Dimitri Kravtchuk
prev_pages is never assigned a value which causes age_factor to be zero
all the time.
modified:
storage/innobase/buf/buf0flu.cc
=== modified file 'sql/log_event.cc'
--- a/sql/log_event.cc 2012-05-30 11:04:55 +0000
+++ b/sql/log_event.cc 2012-05-31 14:29:44 +0000
@@ -10015,6 +10015,24 @@ int Rows_log_event::do_index_scan_and_up
/* we dont have a PK, or PK is not usable */
goto INDEX_SCAN;
+ if ((table->file->ha_table_flags() & HA_READ_BEFORE_WRITE_REMOVAL))
+ {
+ /*
+ Read removal is possible since the engine supports write without
+ previous read using full primary key
+ */
+ DBUG_PRINT("info", ("using read before write removal"));
+ DBUG_ASSERT(m_key_index == m_table->s->primary_key);
+
+ /*
+ Tell the handler to ignore if key exists or not, since it's
+ not yet known if the key does exist(when using rbwr)
+ */
+ table->file->extra(HA_EXTRA_IGNORE_NO_KEY);
+
+ goto end;
+ }
+
if ((table->file->ha_table_flags() & HA_PRIMARY_KEY_REQUIRED_FOR_POSITION))
{
/*
No bundle (reason: useless for push emails).
| Thread |
|---|
| • bzr push into mysql-trunk branch (magnus.blaudd:3935 to 3936) | magnus.blaudd | 31 May |