diff -Eur innodb_plugin-1.0.1-orig/handler/i_s.cc innodb_plugin-1.0.1/handler/i_s.cc
--- innodb_plugin-1.0.1-orig/handler/i_s.cc	2008-05-06 19:10:09.000000000 +0700
+++ innodb_plugin-1.0.1/handler/i_s.cc	2008-08-04 21:45:30.000000000 +0700
@@ -273,6 +273,15 @@
 	 STRUCT_FLD(old_name,		""),
 	 STRUCT_FLD(open_method,	SKIP_OPEN_TABLE)},
 
+#define IDX_TRX_N_TABLES_LOCKED	8
+	{STRUCT_FLD(field_name,		"trx_n_tables_locked"),
+	 STRUCT_FLD(field_length,	MY_INT64_NUM_DECIMAL_DIGITS),
+	 STRUCT_FLD(field_type,		MYSQL_TYPE_LONGLONG),
+	 STRUCT_FLD(value,		0),
+	 STRUCT_FLD(field_flags,	MY_I_S_UNSIGNED),
+	 STRUCT_FLD(old_name,		""),
+	 STRUCT_FLD(open_method,	SKIP_OPEN_TABLE)},
+
 	END_OF_ST_FIELD_INFO
 };
 
@@ -351,6 +360,10 @@
 		OK(fields[IDX_TRX_MYSQL_THREAD_ID]->store(
 			   row->trx_mysql_thread_id));
 
+    /* trx_n_tables_locked */
+		OK(fields[IDX_TRX_N_TABLES_LOCKED]->store(
+			   row->trx_n_tables_locked));
+
 		/* trx_query */
 		OK(field_store_string(fields[IDX_TRX_QUERY],
 				      row->trx_query));
diff -Eur innodb_plugin-1.0.1-orig/include/trx0i_s.h innodb_plugin-1.0.1/include/trx0i_s.h
--- innodb_plugin-1.0.1-orig/include/trx0i_s.h	2008-03-04 14:57:07.000000000 +0600
+++ innodb_plugin-1.0.1/include/trx0i_s.h	2008-08-04 22:22:57.000000000 +0700
@@ -65,6 +65,7 @@
 	ib_time_t		trx_wait_started;
 	ullint			trx_weight;
 	ulint			trx_mysql_thread_id;
+	ulint			trx_n_tables_locked;
 	const char*		trx_query;
 } i_s_trx_row_t;
 
diff -Eur innodb_plugin-1.0.1-orig/trx/trx0i_s.c innodb_plugin-1.0.1/trx/trx0i_s.c
--- innodb_plugin-1.0.1-orig/trx/trx0i_s.c	2008-03-04 14:57:07.000000000 +0600
+++ innodb_plugin-1.0.1/trx/trx0i_s.c	2008-08-04 21:48:52.000000000 +0700
@@ -392,6 +392,7 @@
 	row->trx_weight = (ullint) ut_conv_dulint_to_longlong(TRX_WEIGHT(trx));
 
 	row->trx_mysql_thread_id = ib_thd_get_thread_id(trx->mysql_thd);
+  row->trx_n_tables_locked = trx->mysql_n_tables_locked;
 
 	if (trx->mysql_query_str != NULL && *trx->mysql_query_str != NULL) {
 

