=== modified file 'storage/innobase/handler/ha_innodb.cc'
--- storage/innobase/handler/ha_innodb.cc	2013-01-08 11:52:19 +0000
+++ storage/innobase/handler/ha_innodb.cc	2013-04-10 13:32:59 +0000
@@ -4894,7 +4894,7 @@ ha_innobase::open(
 	}
 
 	/* Index block size in InnoDB: used by MySQL in query optimization */
-	stats.block_size = UNIV_PAGE_SIZE;
+	//stats.block_size = UNIV_PAGE_SIZE;
 
 	/* Init table lock structure */
 	thr_lock_data_init(&share->lock,&lock,(void*) 0);
@@ -10215,7 +10215,7 @@ ha_innobase::rename_table(
 
 	DBUG_RETURN(convert_error_code_to_mysql(error, 0, NULL));
 }
-
+#if 0
 /*********************************************************************//**
 Estimates the number of index records in a range.
 @return	estimated number of rows */
@@ -10337,7 +10337,7 @@ ha_innobase::records_in_range(
 
 	DBUG_RETURN((ha_rows) n_rows);
 }
-
+#endif
 /*********************************************************************//**
 Gives an UPPER BOUND to the number of rows in a table. This is used in
 filesort.cc.
@@ -10388,7 +10388,7 @@ ha_innobase::estimate_rows_upper_bound()
 
 	DBUG_RETURN((ha_rows) estimate);
 }
-
+#if 0
 /*********************************************************************//**
 How many seeks it will take to read through the table. This is to be
 comparable to the number returned by records_in_range so that we can
@@ -10469,6 +10469,7 @@ ha_innobase::read_time(
 
 	return(ranges + (double) rows / (double) total_rows * time_for_scan);
 }
+#endif
 
 /******************************************************************//**
 Return the size of the InnoDB memory buffer. */
@@ -10789,7 +10790,8 @@ ha_innobase::info_low(
 			page_size = UNIV_PAGE_SIZE;
 		}
 
-		stats.records = (ha_rows) n_rows;
+		//stats.records = (ha_rows) n_rows;
+		stats.records = 1000;
 		stats.deleted = 0;
 		stats.data_file_length
 			= ((ulonglong) stat_clustered_index_size)
@@ -10974,10 +10976,11 @@ ha_innobase::info_low(
 				if (rec_per_key == 0) {
 					rec_per_key = 1;
 				}
-
+#if 0
 				table->key_info[i].rec_per_key[j] =
 				  rec_per_key >= ~(ulong) 0 ? ~(ulong) 0 :
 				  (ulong) rec_per_key;
+#endif                                
 			}
 		}
 

=== modified file 'storage/innobase/handler/ha_innodb.h'
--- storage/innobase/handler/ha_innodb.h	2012-12-13 12:38:18 +0000
+++ storage/innobase/handler/ha_innodb.h	2013-04-10 12:59:29 +0000
@@ -125,8 +125,14 @@ class ha_innobase: public handler
 	int open(const char *name, int mode, uint test_if_locked);
 	handler* clone(const char *name, MEM_ROOT *mem_root);
 	int close(void);
+#if 0        
 	double scan_time();
 	double read_time(uint index, uint ranges, ha_rows rows);
+#endif
+  virtual double scan_time() { return (double) (stats.records+stats.deleted) / 20.0+10; }
+  virtual double read_time(uint, uint, ha_rows rows)
+  { return (double) rows /  20.0+1; }
+
 	longlong get_memory_buffer_size() const;
 
 	int write_row(uchar * buf);
@@ -170,8 +176,10 @@ class ha_innobase: public handler
 	int transactional_table_lock(THD *thd, int lock_type);
 	int start_stmt(THD *thd, thr_lock_type lock_type);
 	void position(uchar *record);
+        
 	ha_rows records_in_range(uint inx, key_range *min_key, key_range
-								*max_key);
+								*max_key)
+                                                                {return 10;}
 	ha_rows estimate_rows_upper_bound();
 
 	void update_create_info(HA_CREATE_INFO* create_info);

