Commit 6250c1d9 authored by monty@mashka.mysql.fi's avatar monty@mashka.mysql.fi
Browse files

Merge work:/home/bk/mysql into mashka.mysql.fi:/home/my/mysql-3.23

parents 00cdc6a0 91ba1345
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -116,7 +116,7 @@ btr_page_insert_fits(

/******************************************************************
Gets the root node of a tree and x-latches it. */
static

page_t*
btr_root_get(
/*=========*/
+9 −0
Original line number Diff line number Diff line
@@ -55,6 +55,15 @@ UNIQUE definition on secondary indexes when we decide if we can use the
insert buffer to speed up inserts */
#define BTR_IGNORE_SEC_UNIQUE	2048	

/******************************************************************
Gets the root node of a tree and x-latches it. */

page_t*
btr_root_get(
/*=========*/
				/* out: root page, x-latched */
	dict_tree_t*	tree,	/* in: index tree */
	mtr_t*		mtr);	/* in: mtr */
/******************************************************************
Gets a buffer page and declares its latching order level. */
UNIV_INLINE
+3 −1
Original line number Diff line number Diff line
@@ -429,6 +429,8 @@ row_purge_upd_exist_or_extern(

			mtr_x_lock(dict_tree_get_lock(index->tree), &mtr);

			btr_root_get(index->tree, &mtr);

			/* We assume in purge of externally stored fields
			that the space id of the undo log record is 0! */

+19 −19
Original line number Diff line number Diff line
@@ -977,14 +977,14 @@ ha_innobase::open(
				      		     norm_name, NULL);
 	if (NULL == ib_table) {

	        sql_print_error("InnoDB error:\n\
Cannot find table %s from the internal data dictionary\n\
of InnoDB though the .frm file for the table exists. Maybe you\n\
have deleted and recreated InnoDB data files but have forgotten\n\
to delete the corresponding .frm files of InnoDB tables, or you\n\
have moved .frm files to another database?\n\
Look from section 15.1 of http://www.innodb.com/ibman.html\n\
how you can resolve the problem.\n",
	        sql_print_error("InnoDB error:\n"
"Cannot find table %s from the internal data dictionary\n"
"of InnoDB though the .frm file for the table exists. Maybe you\n"
"have deleted and recreated InnoDB data files but have forgotten\n"
"to delete the corresponding .frm files of InnoDB tables, or you\n"
"have moved .frm files to another database?\n"
"Look from section 15.1 of http://www.innodb.com/ibman.html\n"
"how you can resolve the problem.\n",
			  norm_name);

	        free_share(share);
@@ -3062,9 +3062,9 @@ ha_innobase::records_in_range(

   	DBUG_ENTER("records_in_range");

	/* Warning: since it is not sure that MySQL calls external_lock
	before calling this function, the trx field in prebuilt can be
	obsolete! */
   	update_thd(current_thd);

	trx_search_latch_release_if_reserved(prebuilt->trx);
   	
	active_index = keynr;

@@ -3118,11 +3118,11 @@ ha_innobase::estimate_number_of_rows(void)
	ulonglong	estimate;
	ulonglong	data_file_length;

	/* Warning: since it is not sure that MySQL calls external_lock
	before calling this function, the trx field in prebuilt can be
	obsolete! */
 	DBUG_ENTER("estimate_number_of_rows");

 	DBUG_ENTER("info");
   	update_thd(current_thd);

	trx_search_latch_release_if_reserved(prebuilt->trx);

	index = dict_table_get_first_index_noninline(prebuilt->table);
 	
@@ -3178,9 +3178,9 @@ ha_innobase::info(

 	DBUG_ENTER("info");

	/* Warning: since it is not sure that MySQL calls external_lock
	before calling this function, the trx field in prebuilt can be
	obsolete! */
   	update_thd(current_thd);

	trx_search_latch_release_if_reserved(prebuilt->trx);
   	   	
 	ib_table = prebuilt->table;