List:Commits« Previous MessageNext Message »
From:vasil.dimov Date:November 14 2011 2:31pm
Subject:bzr push into mysql-trunk branch (vasil.dimov:3605 to 3606)
View as plain text  
 3606 Vasil Dimov	2011-11-14
      In row_mysql_store_col_in_innobase_format(): explicitly note that buf
      should be kept as long as dfield is used because dfield->data may end
      up pointing inside 'buf' after row_mysql_store_col_in_innobase_format()
      returns.

    modified:
      storage/innobase/include/row0mysql.h
      storage/innobase/row/row0mysql.c
 3605 Marko Mäkelä	2011-11-14
      Bug#12682554 FAILED ASSERT AT HANDLER0ALTER.CC IN MANY TESTS
      
      ha_innobase::add_index(): Lock the data dictionary even when dropping
      a created PRIMARY KEY table (new_primary=TRUE). This should fix the assertion
      ut_a(!new_primary || prebuilt->table->n_ref_count == 1);
      
      Approved on IM by Jimmy Yang.

    modified:
      storage/innobase/handler/handler0alter.cc
=== modified file 'storage/innobase/include/row0mysql.h'
--- a/storage/innobase/include/row0mysql.h	revid:marko.makela@stripped
+++ b/storage/innobase/include/row0mysql.h	revid:vasil.dimov@stripped
@@ -127,7 +127,10 @@ row_mysql_store_col_in_innobase_format(
 					this function is called! */
 	byte*		buf,		/*!< in/out: buffer for a converted
 					integer value; this must be at least
-					col_len long then! */
+					col_len long then! NOTE that dfield
+					may also get a pointer to 'buf',
+					therefore do not discard this as long
+					as dfield is used! */
 	ibool		row_format_col,	/*!< TRUE if the mysql_data is from
 					a MySQL row, FALSE if from a MySQL
 					key value;

=== modified file 'storage/innobase/row/row0mysql.c'
--- a/storage/innobase/row/row0mysql.c	revid:marko.makela@strippedo99yv
+++ b/storage/innobase/row/row0mysql.c	revid:vasil.dimov@stripped
@@ -332,7 +332,10 @@ row_mysql_store_col_in_innobase_format(
 					this function is called! */
 	byte*		buf,		/*!< in/out: buffer for a converted
 					integer value; this must be at least
-					col_len long then! */
+					col_len long then! NOTE that dfield
+					may also get a pointer to 'buf',
+					therefore do not discard this as long
+					as dfield is used! */
 	ibool		row_format_col,	/*!< TRUE if the mysql_data is from
 					a MySQL row, FALSE if from a MySQL
 					key value;

No bundle (reason: useless for push emails).
Thread
bzr push into mysql-trunk branch (vasil.dimov:3605 to 3606) vasil.dimov14 Nov