List:Commits« Previous MessageNext Message »
From:marko.makela Date:August 30 2012 7:54am
Subject:bzr push into mysql-5.6 branch (marko.makela:4213 to 4214) Bug#14543059
View as plain text  
 4214 Marko Mäkelä	2012-08-30
      Bug#14543059 DUPLICATE STRUCT TYPE DEFINITIONS IN INNODB SOURCE CODE
      Thi is a backport from mysql-trunk to mysql-5.6; original
      bzr revision id: marko.makela@stripped2616-pwnoijknfxudifa7
      
      Declare all structs with a type name that ends in _t instead of _struct.
      
      Replace all instances of
      
      typedef struct foo_struct foo_t;
      
      with forward declarations like this:
      
      struct foo_struct;
      
      Remove unnecessary forward declarations of structs.
      
      The bulk conversion was performed by a Perl snippet:
      perl -i -pe 's/_struct/_t/g;
      s/^typedef struct\s+([a-zA-Z][a-zA-Z0-9_]*_t)\s+\1\;$/struct $1\;/g;' \
      storage/innobase/*/*[ch]
      
      After this, some manual adjustments were made, and the code was
      grepped for 'typedef struct' and 'typedef enum'.
      
      The patch itself was grepped for '^-.*"' to ensure that no strings
      were changed (there is trx_lock_structs in the INFORMATION_SCHEMA
      tables).
      
      rb:1246 approved by Sunny Bains

    modified:
      storage/innobase/api/api0api.cc
      storage/innobase/btr/btr0cur.cc
      storage/innobase/dict/dict0dict.cc
      storage/innobase/dict/dict0stats.cc
      storage/innobase/dict/dict0stats_bg.cc
      storage/innobase/fil/fil0fil.cc
      storage/innobase/fts/fts0fts.cc
      storage/innobase/fts/fts0opt.cc
      storage/innobase/fts/fts0pars.cc
      storage/innobase/fts/fts0que.cc
      storage/innobase/handler/ha_innodb.cc
      storage/innobase/handler/ha_innodb.h
      storage/innobase/handler/handler0alter.cc
      storage/innobase/handler/i_s.cc
      storage/innobase/include/api0api.h
      storage/innobase/include/btr0btr.h
      storage/innobase/include/btr0cur.h
      storage/innobase/include/btr0pcur.h
      storage/innobase/include/btr0sea.h
      storage/innobase/include/btr0types.h
      storage/innobase/include/buf0buf.h
      storage/innobase/include/buf0buf.ic
      storage/innobase/include/buf0dblwr.h
      storage/innobase/include/buf0lru.h
      storage/innobase/include/buf0types.h
      storage/innobase/include/data0data.h
      storage/innobase/include/data0type.h
      storage/innobase/include/data0types.h
      storage/innobase/include/dict0crea.h
      storage/innobase/include/dict0dict.h
      storage/innobase/include/dict0load.h
      storage/innobase/include/dict0mem.h
      storage/innobase/include/dict0stats.h
      storage/innobase/include/dict0types.h
      storage/innobase/include/dyn0dyn.h
      storage/innobase/include/dyn0dyn.ic
      storage/innobase/include/fil0fil.h
      storage/innobase/include/fts0ast.h
      storage/innobase/include/fts0fts.h
      storage/innobase/include/fts0types.h
      storage/innobase/include/ha0ha.h
      storage/innobase/include/ha0storage.h
      storage/innobase/include/ha0storage.ic
      storage/innobase/include/ha_prototypes.h
      storage/innobase/include/hash0hash.h
      storage/innobase/include/ibuf0ibuf.ic
      storage/innobase/include/ibuf0types.h
      storage/innobase/include/lock0iter.h
      storage/innobase/include/lock0lock.h
      storage/innobase/include/lock0priv.h
      storage/innobase/include/lock0types.h
      storage/innobase/include/log0log.h
      storage/innobase/include/log0recv.h
      storage/innobase/include/mem0mem.h
      storage/innobase/include/mem0pool.h
      storage/innobase/include/mtr0mtr.h
      storage/innobase/include/mtr0types.h
      storage/innobase/include/os0file.h
      storage/innobase/include/os0sync.h
      storage/innobase/include/page0cur.h
      storage/innobase/include/page0types.h
      storage/innobase/include/pars0pars.h
      storage/innobase/include/pars0sym.h
      storage/innobase/include/pars0types.h
      storage/innobase/include/que0que.h
      storage/innobase/include/que0types.h
      storage/innobase/include/read0read.h
      storage/innobase/include/read0types.h
      storage/innobase/include/row0ext.h
      storage/innobase/include/row0import.h
      storage/innobase/include/row0ins.h
      storage/innobase/include/row0merge.h
      storage/innobase/include/row0mysql.h
      storage/innobase/include/row0purge.h
      storage/innobase/include/row0quiesce.h
      storage/innobase/include/row0sel.h
      storage/innobase/include/row0types.h
      storage/innobase/include/row0undo.h
      storage/innobase/include/row0upd.h
      storage/innobase/include/srv0mon.h
      storage/innobase/include/srv0srv.h
      storage/innobase/include/sync0arr.h
      storage/innobase/include/sync0rw.h
      storage/innobase/include/sync0sync.h
      storage/innobase/include/trx0i_s.h
      storage/innobase/include/trx0purge.h
      storage/innobase/include/trx0roll.h
      storage/innobase/include/trx0rseg.h
      storage/innobase/include/trx0sys.h
      storage/innobase/include/trx0trx.h
      storage/innobase/include/trx0trx.ic
      storage/innobase/include/trx0types.h
      storage/innobase/include/trx0undo.h
      storage/innobase/include/usr0sess.h
      storage/innobase/include/usr0types.h
      storage/innobase/include/ut0bh.h
      storage/innobase/include/ut0dbg.h
      storage/innobase/include/ut0list.h
      storage/innobase/include/ut0lst.h
      storage/innobase/include/ut0rbt.h
      storage/innobase/include/ut0ut.h
      storage/innobase/include/ut0vec.h
      storage/innobase/include/ut0wqueue.h
      storage/innobase/lock/lock0lock.cc
      storage/innobase/mem/mem0dbg.cc
      storage/innobase/mem/mem0pool.cc
      storage/innobase/os/os0file.cc
      storage/innobase/os/os0sync.cc
      storage/innobase/row/row0ins.cc
      storage/innobase/row/row0merge.cc
      storage/innobase/row/row0mysql.cc
      storage/innobase/srv/srv0conc.cc
      storage/innobase/srv/srv0srv.cc
      storage/innobase/sync/sync0arr.cc
      storage/innobase/sync/sync0sync.cc
      storage/innobase/trx/trx0i_s.cc
      storage/innobase/trx/trx0sys.cc
      storage/innobase/trx/trx0trx.cc
      storage/innobase/ut/ut0mem.cc
 4213 Vasil Dimov	2012-08-29
      Fix Bug#14525151 DATAFILES TOUCHED BY 5.6 ARE NOT READABLE BY 5.5
      
      Revert parts of sergey.vojtovich@stripped
      in order to restore the default value of innodb_checksum_algorithm to
      'innodb'.

    modified:
      mysql-test/suite/sys_vars/r/innodb_checksum_algorithm_basic.result
      storage/innobase/handler/ha_innodb.cc
=== modified file 'storage/innobase/api/api0api.cc'
--- a/storage/innobase/api/api0api.cc	revid:vasil.dimov@stripped0829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/api/api0api.cc	revid:marko.makela@strippedz0lx5y467otb3
@@ -86,36 +86,36 @@ enum ib_qry_type_t{
 };
 
 /** Query graph types. */
-typedef struct ib_qry_grph_struct {
+struct ib_qry_grph_t {
 	que_fork_t*	ins;		/*!< Innobase SQL query graph used
 					in inserts */
 	que_fork_t*	upd;		/*!< Innobase SQL query graph used
 					in updates or deletes */
 	que_fork_t*	sel;		/*!< dummy query graph used in
 					selects */
-} ib_qry_grph_t;
+};
 
 /** Query node types. */
-typedef struct ib_qry_node_struct {
+struct ib_qry_node_t {
 	ins_node_t*	ins;		/*!< Innobase SQL insert node
 					used to perform inserts to the table */
 	upd_node_t*	upd;		/*!< Innobase SQL update node
 					used to perform updates and deletes */
 	sel_node_t*	sel;		/*!< Innobase SQL select node
 					used to perform selects on the table */
-} ib_qry_node_t;
+};
 
 /** Query processing fields. */
-typedef struct ib_qry_proc_struct {
+struct ib_qry_proc_t {
 
 	ib_qry_node_t	node;		/*!< Query node*/
 
 	ib_qry_grph_t	grph;		/*!< Query graph */
-} ib_qry_proc_t;
+};
 
 /** Cursor instance for traversing tables/indexes. This will eventually
 become row_prebuilt_t. */
-typedef struct ib_cursor_struct {
+struct ib_cursor_t {
 	mem_heap_t*	heap;		/*!< Instance heap */
 
 	mem_heap_t*	query_heap;	/*!< Heap to use for query graphs */
@@ -127,10 +127,10 @@ typedef struct ib_cursor_struct {
 	row_prebuilt_t*	prebuilt;	/*!< For reading rows */
 
 	bool		valid_trx;	/*!< Valid transaction attached */
-} ib_cursor_t;
+};
 
 /** InnoDB table columns used during table and index schema creation. */
-typedef struct ib_col_struct {
+struct ib_col_t {
 	const char*	name;		/*!< Name of column */
 
 	ib_col_type_t	ib_col_type;	/*!< Main type of the column */
@@ -139,19 +139,19 @@ typedef struct ib_col_struct {
 
 	ib_col_attr_t	ib_col_attr;	/*!< Column attributes */
 
-} ib_col_t;
+};
 
 /** InnoDB index columns used during index and index schema creation. */
-typedef struct ib_key_col_struct {
+struct ib_key_col_t {
 	const char*	name;		/*!< Name of column */
 
 	ulint		prefix_len;	/*!< Column index prefix len or 0 */
-} ib_key_col_t;
+};
 
-typedef struct ib_table_def_struct ib_table_def_t;
+struct ib_table_def_t;
 
 /** InnoDB index schema used during index creation */
-typedef struct ib_index_def_struct {
+struct ib_index_def_t {
 	mem_heap_t*	heap;		/*!< Heap used to build this and all
 					its columns in the list */
 
@@ -170,10 +170,10 @@ typedef struct ib_index_def_struct {
 
 	trx_t*		usr_trx;	/*!< User transacton covering the
 					DDL operations */
-} ib_index_def_t;
+};
 
 /** InnoDB table schema used during table creation */
-struct ib_table_def_struct {
+struct ib_table_def_t {
 	mem_heap_t*	heap;		/*!< Heap used to build this and all
 					its columns in the list */
 	const char*	name;		/*!< Table name */
@@ -190,7 +190,7 @@ struct ib_table_def_struct {
 };
 
 /** InnoDB tuple used for key operations. */
-typedef struct ib_tuple_struct {
+struct ib_tuple_t {
 	mem_heap_t*		heap;	/*!< Heap used to build
 					this and for copying
 					the column values. */
@@ -202,11 +202,7 @@ typedef struct ib_tuple_struct {
 
 	dtuple_t*		ptr;	/*!< The internal tuple
 					instance */
-} ib_tuple_t;
-
-/** I can't see what merge has to do with creating an Index. */
-typedef merge_index_def_t index_def_t;
-typedef merge_index_field_t index_field_t;
+};
 
 /** The following counter is used to convey information to InnoDB
 about server activity: in selects it is not sensible to call

=== modified file 'storage/innobase/btr/btr0cur.cc'
--- a/storage/innobase/btr/btr0cur.cc	revid:vasil.dimov@strippedgjky8v
+++ b/storage/innobase/btr/btr0cur.cc	revid:marko.makela@stripped
@@ -71,13 +71,13 @@ Created 10/16/1994 Heikki Tuuri
 #include "zlib.h"
 
 /** Buffered B-tree operation types, introduced as part of delete buffering. */
-typedef enum btr_op_enum {
+enum btr_op_t {
 	BTR_NO_OP = 0,			/*!< Not buffered */
 	BTR_INSERT_OP,			/*!< Insert, do not ignore UNIQUE */
 	BTR_INSERT_IGNORE_UNIQUE_OP,	/*!< Insert, ignoring UNIQUE */
 	BTR_DELETE_OP,			/*!< Purge a delete-marked record */
 	BTR_DELMARK_OP			/*!< Mark a record for deletion */
-} btr_op_t;
+};
 
 #ifdef UNIV_DEBUG
 /** If the following is set to TRUE, this module prints a lot of

=== modified file 'storage/innobase/dict/dict0dict.cc'
--- a/storage/innobase/dict/dict0dict.cc	revid:vasil.dimov@oracle.com-20120829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/dict/dict0dict.cc	revid:marko.makela@stripped0830074621-l9xz0lx5y467otb3
@@ -84,7 +84,7 @@ backround operations purge, rollback, fo
 in S-mode; we cannot trust that MySQL protects implicit or background
 operations a table drop since MySQL does not know of them; therefore
 we need this; NOTE: a transaction which reserves this must keep book
-on the mode in trx_struct::dict_operation_lock_mode */
+on the mode in trx_t::dict_operation_lock_mode */
 UNIV_INTERN rw_lock_t	dict_operation_lock;
 
 /** Percentage of compression failures that are allowed in a single

=== modified file 'storage/innobase/dict/dict0stats.cc'
--- a/storage/innobase/dict/dict0stats.cc	revid:vasil.dimov@stripped
+++ b/storage/innobase/dict/dict0stats.cc	revid:marko.makela@oracle.com-20120830074621-l9xz0lx5y467otb3
@@ -40,7 +40,7 @@ Created Jan 06, 2010 Vasil Dimov
 #include "pars0types.h" /* pars_info_t */
 #include "que0que.h" /* que_eval_sql() */
 #include "rem0cmp.h" /* REC_MAX_N_FIELDS,cmp_rec_rec_with_match() */
-#include "row0sel.h" /* sel_node_struct */
+#include "row0sel.h" /* sel_node_t */
 #include "row0types.h" /* sel_node_t */
 #include "trx0trx.h" /* trx_create() */
 #include "trx0roll.h" /* trx_rollback_to_savepoint() */
@@ -1325,14 +1325,14 @@ dict_stats_analyze_index_level(
 /* @} */
 
 /* aux enum for controlling the behavior of dict_stats_scan_page() @{ */
-typedef enum page_scan_method_enum {
+enum page_scan_method_t {
 	COUNT_ALL_NON_BORING_AND_SKIP_DEL_MARKED,/* scan all records on
 				the given page and count the number of
 				distinct ones, also ignore delete marked
 				records */
 	QUIT_ON_FIRST_NON_BORING/* quit when the first record that differs
 				from its right neighbor is found */
-} page_scan_method_t;
+};
 /* @} */
 
 /*********************************************************************//**
@@ -2574,11 +2574,11 @@ dict_stats_fetch_table_stats_step(
 
 /** Aux struct used to pass a table and a boolean to
 dict_stats_fetch_index_stats_step(). */
-typedef struct index_fetch_struct {
+struct index_fetch_t {
 	dict_table_t*	table;	/*!< table whose indexes are to be modified */
 	bool		stats_were_modified; /*!< will be set to true if at
 				least one index stats were modified */
-} index_fetch_t;
+};
 
 /*********************************************************************//**
 Called for the rows that are selected by

=== modified file 'storage/innobase/dict/dict0stats_bg.cc'
--- a/storage/innobase/dict/dict0stats_bg.cc	revid:vasil.dimov@strippedzgjky8v
+++ b/storage/innobase/dict/dict0stats_bg.cc	revid:marko.makela@stripped
@@ -31,7 +31,7 @@ using namespace std;
 #include "dict0dict.h" /* dict_table_open_on_id() */
 #include "dict0stats.h" /* DICT_STATS_RECALC_PERSISTENT */
 #include "dict0stats_bg.h"
-#include "dict0mem.h" /* dict_table_struct */
+#include "dict0mem.h" /* dict_table_t */
 #include "dict0types.h" /* table_id_t */
 #include "ha0storage.h" /* ha_storage_* */
 #include "os0thread.h" /* DECLARE_THREAD, os_thread_*, mysql_pfs_key_t */

=== modified file 'storage/innobase/fil/fil0fil.cc'
--- a/storage/innobase/fil/fil0fil.cc	revid:vasil.dimov@strippedmbin5gzgjky8v
+++ b/storage/innobase/fil/fil0fil.cc	revid:marko.makela@stripped
@@ -137,7 +137,7 @@ UNIV_INTERN mysql_pfs_key_t	fil_space_la
 #endif /* UNIV_PFS_RWLOCK */
 
 /** File node of a tablespace or the log data space */
-struct fil_node_struct {
+struct fil_node_t {
 	fil_space_t*	space;	/*!< backpointer to the space where this node
 				belongs */
 	char*		name;	/*!< path to the file */
@@ -171,11 +171,11 @@ struct fil_node_struct {
 	ulint		magic_n;/*!< FIL_NODE_MAGIC_N */
 };
 
-/** Value of fil_node_struct::magic_n */
+/** Value of fil_node_t::magic_n */
 #define	FIL_NODE_MAGIC_N	89389
 
 /** Tablespace or log data space: let us call them by a common name space */
-struct fil_space_struct {
+struct fil_space_t {
 	char*		name;	/*!< space name = the path to the first file in
 				it */
 	ulint		id;	/*!< space id */
@@ -244,17 +244,13 @@ struct fil_space_struct {
 	ulint		magic_n;/*!< FIL_SPACE_MAGIC_N */
 };
 
-/** Value of fil_space_struct::magic_n */
+/** Value of fil_space_t::magic_n */
 #define	FIL_SPACE_MAGIC_N	89472
 
-/** The tablespace memory cache */
-typedef	struct fil_system_struct	fil_system_t;
-
 /** The tablespace memory cache; also the totality of logs (the log
 data space) is stored here; below we talk about tablespaces, but also
 the ib_logfiles form a 'space' and it is handled here */
-
-struct fil_system_struct {
+struct fil_system_t {
 #ifndef UNIV_HOTBACKUP
 	ib_mutex_t		mutex;		/*!< The mutex protecting the cache */
 #endif /* !UNIV_HOTBACKUP */

=== modified file 'storage/innobase/fts/fts0fts.cc'
--- a/storage/innobase/fts/fts0fts.cc	revid:vasil.dimov@oracle.com-20120829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/fts/fts0fts.cc	revid:marko.makela@stripped74621-l9xz0lx5y467otb3
@@ -59,9 +59,6 @@ UNIV_INTERN ulong	fts_min_token_size;
 ib_time_t elapsed_time = 0;
 ulint n_nodes = 0;
 
-typedef struct fts_schema_struct fts_schema_t;
-typedef struct fts_sys_table_struct fts_sys_table_t;
-
 /** Error condition reported by fts_utf8_decode() */
 const ulint UTF8_ERROR = 0xFFFFFFFF;
 
@@ -138,7 +135,7 @@ const char *fts_default_stopword[] =
 };
 
 /** For storing table info when checking for orphaned tables. */
-struct fts_sys_table_struct {
+struct fts_sys_table_t {
 	table_id_t	id;		/*!< Table id */
 	table_id_t	parent_id;	/*!< Parent table id */
 	table_id_t	index_id;	/*!< Table FT index id */

=== modified file 'storage/innobase/fts/fts0opt.cc'
--- a/storage/innobase/fts/fts0opt.cc	revid:vasil.dimov@stripped
+++ b/storage/innobase/fts/fts0opt.cc	revid:marko.makela@oracle.com-20120830074621-l9xz0lx5y467otb3
@@ -58,7 +58,7 @@ static	ulint	fts_optimize_sync_iterator
 #endif
 
 /** State of a table within the optimization sub system. */
-enum fts_state_enum {
+enum fts_state_t {
 	FTS_STATE_LOADED,
 	FTS_STATE_RUNNING,
 	FTS_STATE_SUSPENDED,
@@ -67,7 +67,7 @@ enum fts_state_enum {
 };
 
 /** FTS optimize thread message types. */
-enum fts_msg_type_enum {
+enum fts_msg_type_t {
 	FTS_MSG_START,			/*!< Start optimizing thread */
 
 	FTS_MSG_PAUSE,			/*!< Pause optimizing thread */
@@ -83,21 +83,9 @@ enum fts_msg_type_enum {
 					threads work queue */
 };
 
-typedef enum fts_state_enum fts_state_t;
-typedef	struct fts_zip_struct fts_zip_t;
-typedef struct fts_msg_struct fts_msg_t;
-typedef struct fts_slot_struct fts_slot_t;
-typedef struct fts_encode_struct fts_encode_t;
-typedef enum fts_msg_type_enum fts_msg_type_t;
-typedef struct fts_msg_del_struct fts_msg_del_t;
-typedef struct fts_msg_stop_struct fts_msg_stop_t;
-typedef struct fts_optimize_struct fts_optimize_t;
-typedef struct fts_msg_optimize_struct fts_msg_optimize_t;
-typedef struct fts_optimize_graph_struct fts_optimize_graph_t;
-
 /** Compressed list of words that have been read from FTS INDEX
 that needs to be optimized. */
-struct fts_zip_struct {
+struct fts_zip_t {
 	ulint		status;		/*!< Status of (un)/zip operation */
 
 	ulint		n_words;	/*!< Number of words compressed */
@@ -128,7 +116,7 @@ struct fts_zip_struct {
 };
 
 /** Prepared statemets used during optimize */
-struct fts_optimize_graph_struct {
+struct fts_optimize_graph_t {
 					/*!< Delete a word from FTS INDEX */
 	que_t*		delete_nodes_graph;
 					/*!< Insert a word into FTS INDEX */
@@ -140,7 +128,7 @@ struct fts_optimize_graph_struct {
 };
 
 /** Used by fts_optimize() to store state. */
-struct fts_optimize_struct {
+struct fts_optimize_t {
 	trx_t*		trx;		/*!< The transaction used for all SQL */
 
 	ib_alloc_t*	self_heap;	/*!< Heap to use for allocations */
@@ -183,14 +171,14 @@ struct fts_optimize_struct {
 };
 
 /** Used by the optimize, to keep state during compacting nodes. */
-struct fts_encode_struct {
+struct fts_encode_t {
 	doc_id_t	src_last_doc_id;/*!< Last doc id read from src node */
 	byte*		src_ilist_ptr;	/*!< Current ptr within src ilist */
 };
 
 /** We use this information to determine when to start the optimize
 cycle for a table. */
-struct fts_slot_struct {
+struct fts_slot_t {
 	dict_table_t*	table;		/*!< Table to optimize */
 
 	fts_state_t	state;		/*!< State of this slot */
@@ -210,7 +198,7 @@ struct fts_slot_struct {
 };
 
 /** A table remove message for the FTS optimize thread. */
-struct fts_msg_del_struct {
+struct fts_msg_del_t {
 	dict_table_t*	table;		/*!< The table to remove */
 
 	os_event_t	event;		/*!< Event to synchronize acknowledgement
@@ -219,12 +207,12 @@ struct fts_msg_del_struct {
 };
 
 /** Stop the optimize thread. */
-struct fts_msg_optimize_struct {
+struct fts_msg_optimize_t {
 	dict_table_t*	table;		/*!< Table to optimize */
 };
 
 /** The FTS optimize message work queue message type. */
-struct fts_msg_struct {
+struct fts_msg_t {
 	fts_msg_type_t	type;		/*!< Message type */
 
 	void*		ptr;		/*!< The message contents */
@@ -2597,8 +2585,8 @@ fts_optimize_remove_table(
 	dict_table_t*	table)			/*!< in: table to remove */
 {
 	fts_msg_t*	msg;
-	os_event_t		event;
-	fts_msg_del_t* remove;
+	os_event_t	event;
+	fts_msg_del_t*	remove;
 
 	/* if the optimize system not yet initialized, return */
 	if (!fts_optimize_wq) {

=== modified file 'storage/innobase/fts/fts0pars.cc'
--- a/storage/innobase/fts/fts0pars.cc	revid:vasil.dimov@strippedv
+++ b/storage/innobase/fts/fts0pars.cc	revid:marko.makela@stripped
@@ -105,7 +105,7 @@ extern int ftserror(const char* p);
 typedef	int	(*fts_scanner_alt)(YYSTYPE* val, yyscan_t yyscanner);
 typedef	int	(*fts_scanner)();
 
-struct fts_lexer_struct {
+struct fts_lexer_t {
 	fts_scanner	scanner;
 	void*		yyscanner;
 };

=== modified file 'storage/innobase/fts/fts0que.cc'
--- a/storage/innobase/fts/fts0que.cc	revid:vasil.dimov@stripped
+++ b/storage/innobase/fts/fts0que.cc	revid:marko.makela@oracle.com-20120830074621-l9xz0lx5y467otb3
@@ -58,15 +58,10 @@ static const double FTS_NORMALIZE_COEFF
 /* For parsing the search phrase */
 static const char* FTS_PHRASE_DELIMITER = "\t ";
 
-typedef struct fts_match_struct fts_match_t;
-typedef	struct fts_query_struct fts_query_t;
-typedef struct fts_phrase_struct fts_phrase_t;
-typedef struct fts_select_struct fts_select_t;
-typedef struct fts_doc_freq_struct fts_doc_freq_t;
-typedef struct fts_word_freq_struct fts_word_freq_t;
+struct fts_word_freq_t;
 
 /** State of an FTS query. */
-struct fts_query_struct {
+struct fts_query_t {
 	mem_heap_t*	heap;		/*!< Heap to use for allocations */
 
 	trx_t*		trx;		/*!< The query transaction */
@@ -145,7 +140,7 @@ struct fts_query_struct {
 
 /** For phrase matching, first we collect the documents and the positions
 then we match. */
-struct fts_match_struct {
+struct fts_match_t {
 	doc_id_t	doc_id;		/*!< Document id */
 
 	ulint		start;		/*!< Start the phrase match from
@@ -159,7 +154,7 @@ struct fts_match_struct {
 /** For matching tokens in a phrase search. We use this data structure in
 the callback that determines whether a document should be accepted or
 rejected for a phrase search. */
-struct fts_select_struct {
+struct fts_select_t {
 	doc_id_t	doc_id;		/*!< The document id to match */
 
 	ulint		min_pos;	/*!< For found to be TRUE at least
@@ -175,7 +170,7 @@ struct fts_select_struct {
 };
 
 /** The match positions and tokesn to match */
-struct fts_phrase_struct {
+struct fts_phrase_t {
 	ibool		found;		/*!< Match result */
 
 	const fts_match_t*
@@ -192,13 +187,13 @@ struct fts_phrase_struct {
 };
 
 /** For storing the frequncy of a word/term in a document */
-struct fts_doc_freq_struct {
+struct fts_doc_freq_t {
 	doc_id_t	doc_id;		/*!< Document id */
 	ulint		freq;		/*!< Frequency of a word in a document */
 };
 
 /** To determine the word frequency per document. */
-struct fts_word_freq_struct {
+struct fts_word_freq_t {
 	byte*		word;		/*!< Word for which we need the freq,
 					it's allocated on the query heap */
 

=== modified file 'storage/innobase/handler/ha_innodb.cc'
--- a/storage/innobase/handler/ha_innodb.cc	revid:vasil.dimov@stripped
+++ b/storage/innobase/handler/ha_innodb.cc	revid:marko.makela@stripped
@@ -16135,7 +16135,7 @@ innobase_undo_logs_init_default_max()
 
 #ifdef UNIV_COMPILE_TEST_FUNCS
 
-typedef struct innobase_convert_name_test_struct {
+struct innobase_convert_name_test_t {
 	char*		buf;
 	ulint		buflen;
 	const char*	id;
@@ -16144,7 +16144,7 @@ typedef struct innobase_convert_name_tes
 	ibool		file_id;
 
 	const char*	expected;
-} innobase_convert_name_test_t;
+};
 
 void
 test_innobase_convert_name()

=== modified file 'storage/innobase/handler/ha_innodb.h'
--- a/storage/innobase/handler/ha_innodb.h	revid:vasil.dimov@strippedky8v
+++ b/storage/innobase/handler/ha_innodb.h	revid:marko.makela@stripped
@@ -27,14 +27,14 @@ this program; if not, write to the Free
 
 /* Structure defines translation table between mysql index and innodb
 index structures */
-typedef struct innodb_idx_translate_struct {
+struct innodb_idx_translate_t {
 	ulint		index_count;	/*!< number of valid index entries
 					in the index_mapping array */
 	ulint		array_size;	/*!< array size of index_mapping */
 	dict_index_t**	index_mapping;	/*!< index pointer array directly
 					maps to index in Innodb from MySQL
 					array index */
-} innodb_idx_translate_t;
+};
 
 
 /** InnoDB table share */
@@ -53,15 +53,8 @@ typedef struct st_innobase_share {
 } INNOBASE_SHARE;
 
 
-/** InnoDB B-tree index */
-struct dict_index_struct;
-/** Prebuilt structures in an Innobase table handle used within MySQL */
-struct row_prebuilt_struct;
-
-/** InnoDB B-tree index */
-typedef struct dict_index_struct dict_index_t;
-/** Prebuilt structures in an Innobase table handle used within MySQL */
-typedef struct row_prebuilt_struct row_prebuilt_t;
+/** Prebuilt structures in an InnoDB table handle used within MySQL */
+struct row_prebuilt_t;
 
 /** The class defining a handle to an Innodb table */
 class ha_innobase: public handler
@@ -444,7 +437,7 @@ void thd_get_autoinc(const MYSQL_THD thd
 __attribute__((nonnull));
 } /* extern "C" */
 
-typedef struct trx_struct trx_t;
+struct trx_t;
 
 extern const struct _ft_vft ft_vft_result;
 

=== modified file 'storage/innobase/handler/handler0alter.cc'
--- a/storage/innobase/handler/handler0alter.cc	revid:vasil.dimov@oracle.com-20120829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/handler/handler0alter.cc	revid:marko.makela@stripped20120830074621-l9xz0lx5y467otb3
@@ -1356,7 +1356,7 @@ innobase_create_index_field_def(
 						if a new clustered index is
 						not being created */
 	const KEY_PART_INFO*	key_part,	/*!< in: MySQL key definition */
-	merge_index_field_t*	index_field)	/*!< out: index field
+	index_field_t*		index_field)	/*!< out: index field
 						definition for key_part */
 {
 	const Field*	field;
@@ -1407,7 +1407,7 @@ innobase_create_index_def(
 						on the table */
 	bool			key_clustered,	/*!< in: true if this is
 						the new clustered index */
-	merge_index_def_t*	index,		/*!< out: index definition */
+	index_def_t*		index,		/*!< out: index definition */
 	mem_heap_t*		heap)		/*!< in: heap where memory
 						is allocated */
 {
@@ -1420,7 +1420,7 @@ innobase_create_index_def(
 	DBUG_ENTER("innobase_create_index_def");
 	DBUG_ASSERT(!key_clustered || new_clustered);
 
-	index->fields = static_cast<merge_index_field_t*>(
+	index->fields = static_cast<index_field_t*>(
 		mem_heap_alloc(heap, n_fields * sizeof *index->fields));
 
 	index->ind_type = 0;
@@ -1679,7 +1679,7 @@ ENDIF
 
 @return	key definitions */
 static __attribute__((nonnull, warn_unused_result, malloc))
-merge_index_def_t*
+index_def_t*
 innobase_create_key_defs(
 /*=====================*/
 	mem_heap_t*			heap,
@@ -1704,8 +1704,8 @@ innobase_create_key_defs(
 			/*!< in: whether we need to add new DOC ID
 			index for FTS index */
 {
-	merge_index_def_t*	indexdef;
-	merge_index_def_t*	indexdefs;
+	index_def_t*		indexdef;
+	index_def_t*		indexdefs;
 	bool			new_primary;
 	const uint*const	add
 		= ha_alter_info->index_add_buffer;
@@ -1755,7 +1755,7 @@ innobase_create_key_defs(
 		|| innobase_need_rebuild(ha_alter_info);
 	/* Reserve one more space if new_primary is true, and we might
 	need to add the FTS_DOC_ID_INDEX */
-	indexdef = indexdefs = static_cast<merge_index_def_t*>(
+	indexdef = indexdefs = static_cast<index_def_t*>(
 		mem_heap_alloc(
 			heap, sizeof *indexdef
 			* (ha_alter_info->key_count
@@ -1770,7 +1770,7 @@ innobase_create_key_defs(
 			primary_key_number = *add;
 		} else if (got_default_clust) {
 			/* Create the GEN_CLUST_INDEX */
-			merge_index_def_t*	index = indexdef++;
+			index_def_t*	index = indexdef++;
 
 			index->fields = NULL;
 			index->n_fields = 0;
@@ -1856,9 +1856,9 @@ created_clustered:
 	DBUG_ASSERT(indexdefs + n_add == indexdef);
 
 	if (add_fts_doc_idx) {
-		merge_index_def_t*	index = indexdef++;
+		index_def_t*	index = indexdef++;
 
-		index->fields = static_cast<merge_index_field_t*>(
+		index->fields = static_cast<index_field_t*>(
 			mem_heap_alloc(heap, sizeof *index->fields));
 		index->n_fields = 1;
 		index->fields->col_no = fts_doc_id_col;
@@ -2468,7 +2468,7 @@ prepare_inplace_alter_table_dict(
 	dict_index_t**		add_index;	/* indexes to be created */
 	ulint*			add_key_nums;	/* MySQL key numbers */
 	ulint			n_add_index;
-	merge_index_def_t*	index_defs;	/* index definitions */
+	index_def_t*		index_defs;	/* index definitions */
 	dict_index_t*		fts_index	= NULL;
 	dict_table_t*		indexed_table	= user_table;
 	ulint			new_clustered	= 0;
@@ -2859,7 +2859,7 @@ prepare_inplace_alter_table_dict(
 	if (fts_index) {
 		/* Ensure that the dictionary operation mode will
 		not change while creating the auxiliary tables. */
-		enum trx_dict_op	op = trx_get_dict_operation(trx);
+		trx_dict_op_t	op = trx_get_dict_operation(trx);
 
 #ifdef UNIV_DEBUG
 		switch (op) {

=== modified file 'storage/innobase/handler/i_s.cc'
--- a/storage/innobase/handler/i_s.cc	revid:vasil.dimov@strippedom-20120829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/handler/i_s.cc	revid:marko.makela@stripped621-l9xz0lx5y467otb3
@@ -58,14 +58,12 @@ Created July 18, 2007 Vasil Dimov
 
 /** structure associates a name string with a file page type and/or buffer
 page state. */
-struct buffer_page_desc_str_struct{
+struct buf_page_desc_t{
 	const char*	type_str;	/*!< String explain the page
 					type/state */
 	ulint		type_value;	/*!< Page type or page state */
 };
 
-typedef struct buffer_page_desc_str_struct	buf_page_desc_str_t;
-
 /** Any states greater than FIL_PAGE_TYPE_LAST would be treated as unknown. */
 #define	I_S_PAGE_TYPE_UNKNOWN		(FIL_PAGE_TYPE_LAST + 1)
 
@@ -74,7 +72,7 @@ in i_s_page_type[] array */
 #define I_S_PAGE_TYPE_INDEX		1
 
 /** Name string for File Page Types */
-static buf_page_desc_str_t	i_s_page_type[] = {
+static buf_page_desc_t	i_s_page_type[] = {
 	{"ALLOCATED", FIL_PAGE_TYPE_ALLOCATED},
 	{"INDEX", FIL_PAGE_INDEX},
 	{"UNDO_LOG", FIL_PAGE_UNDO_LOG},
@@ -99,7 +97,7 @@ static buf_page_desc_str_t	i_s_page_type
 /** This structure defines information we will fetch from pages
 currently cached in the buffer pool. It will be used to populate
 table INFORMATION_SCHEMA.INNODB_BUFFER_PAGE */
-struct buffer_page_info_struct{
+struct buf_page_info_t{
 	ulint		block_id;	/*!< Buffer Pool block ID */
 	unsigned	space_id:32;	/*!< Tablespace ID */
 	unsigned	page_num:32;	/*!< Page number/offset */
@@ -132,8 +130,6 @@ struct buffer_page_info_struct{
 	index_id_t	index_id;	/*!< Index ID if a index page */
 };
 
-typedef struct buffer_page_info_struct	buf_page_info_t;
-
 /** maximum number of buffer page info we would cache. */
 #define MAX_BUF_INFO_CACHED		10000
 

=== modified file 'storage/innobase/include/api0api.h'
--- a/storage/innobase/include/api0api.h	revid:vasil.dimov@stripped
+++ b/storage/innobase/include/api0api.h	revid:marko.makela@strippedom-20120830074621-l9xz0lx5y467otb3
@@ -398,7 +398,7 @@ tuple or a secondary index tuple. There
 type of index, making a total of four types of tuple handles. There
 is a tuple for reading the entire row contents and another for searching
 on the index key. */
-typedef struct ib_tpl_struct* ib_tpl_t;
+typedef struct ib_tuple_t* ib_tpl_t;
 
 /** InnoDB transaction handle, all database operations need to be covered
 by transactions. This handle represents a transaction. The handle can be
@@ -407,10 +407,10 @@ and undo your changes using ib_trx_rollb
 monitor rolls back the transaction then you need to free the transaction
 using the function ib_trx_release(). You can query the state of an InnoDB
 transaction by calling ib_trx_state(). */
-typedef struct ib_trx_struct* ib_trx_t;
+typedef struct trx_t* ib_trx_t;
 
 /** InnoDB cursor handle */
-typedef struct ib_crsr_struct* ib_crsr_t;
+typedef struct ib_cursor_t* ib_crsr_t;
 
 /*************************************************************//**
 This function is used to compare two data fields for which the data type

=== modified file 'storage/innobase/include/btr0btr.h'
--- a/storage/innobase/include/btr0btr.h	revid:vasil.dimov@oracle.com-20120829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/include/btr0btr.h	revid:marko.makela@stripped830074621-l9xz0lx5y467otb3
@@ -130,7 +130,7 @@ btr_corruption_report(
 #ifdef UNIV_BLOB_DEBUG
 # include "ut0rbt.h"
 /** An index->blobs entry for keeping track of off-page column references */
-struct btr_blob_dbg_struct
+struct btr_blob_dbg_t
 {
 	unsigned	blob_page_no:32;	/*!< first BLOB page number */
 	unsigned	ref_page_no:32;		/*!< referring page number */

=== modified file 'storage/innobase/include/btr0cur.h'
--- a/storage/innobase/include/btr0cur.h	revid:vasil.dimov@stripped5gzgjky8v
+++ b/storage/innobase/include/btr0cur.h	revid:marko.makela@stripped
@@ -707,8 +707,7 @@ limit, merging it to a neighbor is tried
 /** A slot in the path array. We store here info on a search path down the
 tree. Each slot contains data on a single level of the tree. */
 
-typedef struct btr_path_struct	btr_path_t;
-struct btr_path_struct{
+struct btr_path_t{
 	ulint	nth_rec;	/*!< index of the record
 				where the page cursor stopped on
 				this level (index in alphabetical
@@ -745,7 +744,7 @@ enum btr_cur_method {
 
 /** The tree cursor: the definition appears here only for the compiler
 to know struct size! */
-struct btr_cur_struct {
+struct btr_cur_t {
 	dict_index_t*	index;		/*!< index where positioned */
 	page_cur_t	page_cur;	/*!< page cursor */
 	purge_node_t*	purge_node;	/*!< purge node, for BTR_DELETE */

=== modified file 'storage/innobase/include/btr0pcur.h'
--- a/storage/innobase/include/btr0pcur.h	revid:vasil.dimov@strippedjky8v
+++ b/storage/innobase/include/btr0pcur.h	revid:marko.makela@stripped
@@ -461,7 +461,7 @@ btr_pcur_move_to_prev_on_page(
 /* The persistent B-tree cursor structure. This is used mainly for SQL
 selects, updates, and deletes. */
 
-struct btr_pcur_struct{
+struct btr_pcur_t{
 	btr_cur_t	btr_cur;	/*!< a B-tree cursor */
 	ulint		latch_mode;	/*!< see TODO note below!
 					BTR_SEARCH_LEAF, BTR_MODIFY_LEAF,

=== modified file 'storage/innobase/include/btr0sea.h'
--- a/storage/innobase/include/btr0sea.h	revid:vasil.dimov@strippedom-20120829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/include/btr0sea.h	revid:marko.makela@stripped074621-l9xz0lx5y467otb3
@@ -194,7 +194,7 @@ btr_search_validate(void);
 #endif /* defined UNIV_AHI_DEBUG || defined UNIV_DEBUG */
 
 /** The search info struct in an index */
-struct btr_search_struct{
+struct btr_search_t{
 	ulint	ref_count;	/*!< Number of blocks in this index tree
 				that have search index built
 				i.e. block->index points to this index.
@@ -243,16 +243,13 @@ struct btr_search_struct{
 #endif /* UNIV_SEARCH_PERF_STAT */
 #ifdef UNIV_DEBUG
 	ulint	magic_n;	/*!< magic number @see BTR_SEARCH_MAGIC_N */
-/** value of btr_search_struct::magic_n, used in assertions */
+/** value of btr_search_t::magic_n, used in assertions */
 # define BTR_SEARCH_MAGIC_N	1112765
 #endif /* UNIV_DEBUG */
 };
 
 /** The hash index system */
-typedef struct btr_search_sys_struct	btr_search_sys_t;
-
-/** The hash index system */
-struct btr_search_sys_struct{
+struct btr_search_sys_t{
 	hash_table_t*	hash_index;	/*!< the adaptive hash index,
 					mapping dtuple_fold values
 					to rec_t pointers on index pages */

=== modified file 'storage/innobase/include/btr0types.h'
--- a/storage/innobase/include/btr0types.h	revid:vasil.dimov@stripped
+++ b/storage/innobase/include/btr0types.h	revid:marko.makela@oracle.com-20120830074621-l9xz0lx5y467otb3
@@ -33,11 +33,11 @@ Created 2/17/1996 Heikki Tuuri
 #include "sync0rw.h"
 
 /** Persistent cursor */
-typedef struct btr_pcur_struct		btr_pcur_t;
+struct btr_pcur_t;
 /** B-tree cursor */
-typedef struct btr_cur_struct		btr_cur_t;
+struct btr_cur_t;
 /** B-tree search information for the adaptive hash index */
-typedef struct btr_search_struct	btr_search_t;
+struct btr_search_t;
 
 #ifndef UNIV_HOTBACKUP
 
@@ -68,7 +68,7 @@ extern char	btr_search_enabled;
 #ifdef UNIV_BLOB_DEBUG
 # include "buf0types.h"
 /** An index->blobs entry for keeping track of off-page column references */
-typedef struct btr_blob_dbg_struct btr_blob_dbg_t;
+struct btr_blob_dbg_t;
 
 /** Insert to index->blobs a reference to an off-page column.
 @param index	the index tree

=== modified file 'storage/innobase/include/buf0buf.h'
--- a/storage/innobase/include/buf0buf.h	revid:vasil.dimov@oracle.com-20120829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/include/buf0buf.h	revid:marko.makela@stripped20120830074621-l9xz0lx5y467otb3
@@ -100,7 +100,7 @@ extern buf_block_t*	back_block2;	/*!< se
 #define BUF_NO_CHECKSUM_MAGIC 0xDEADBEEFUL
 
 /** @brief States of a control block
-@see buf_page_struct
+@see buf_page_t
 
 The enumeration values must be 0..7. */
 enum buf_page_state {
@@ -130,7 +130,7 @@ enum buf_page_state {
 
 /** This structure defines information we will fetch from each buffer pool. It
 will be used to print table IO stats */
-struct buf_pool_info_struct{
+struct buf_pool_info_t{
 	/* General buffer pool info */
 	ulint	pool_unique_id;		/*!< Buffer Pool ID */
 	ulint	pool_size;		/*!< Buffer Pool size in pages */
@@ -201,8 +201,6 @@ struct buf_pool_info_struct{
 					interval */
 };
 
-typedef struct buf_pool_info_struct	buf_pool_info_t;
-
 #ifndef UNIV_HOTBACKUP
 /********************************************************************//**
 Acquire mutex on all buffer pool instances */
@@ -1404,10 +1402,10 @@ for compressed and uncompressed frames *
 /** Number of bits used for buffer page states. */
 #define BUF_PAGE_STATE_BITS	3
 
-struct buf_page_struct{
+struct buf_page_t{
 	/** @name General fields
 	None of these bit-fields must be modified without holding
-	buf_page_get_mutex() [buf_block_struct::mutex or
+	buf_page_get_mutex() [buf_block_t::mutex or
 	buf_pool->zip_mutex], since they can be stored in the same
 	machine word.  Some of these fields are additionally protected
 	by buf_pool->mutex. */
@@ -1538,7 +1536,7 @@ struct buf_page_struct{
 	/* @} */
 	/** @name LRU replacement algorithm fields
 	These fields are protected by buf_pool->mutex only (not
-	buf_pool->zip_mutex or buf_block_struct::mutex). */
+	buf_pool->zip_mutex or buf_block_t::mutex). */
 	/* @{ */
 
 	UT_LIST_NODE_T(buf_page_t) LRU;
@@ -1567,14 +1565,14 @@ struct buf_page_struct{
 					/*!< this is set to TRUE when
 					fsp frees a page in buffer pool;
 					protected by buf_pool->zip_mutex
-					or buf_block_struct::mutex. */
+					or buf_block_t::mutex. */
 # endif /* UNIV_DEBUG_FILE_ACCESSES || UNIV_DEBUG */
 #endif /* !UNIV_HOTBACKUP */
 };
 
 /** The buffer control block structure */
 
-struct buf_block_struct{
+struct buf_block_t{
 
 	/** @name General fields */
 	/* @{ */
@@ -1657,8 +1655,8 @@ struct buf_block_struct{
 	/** @name Hash search fields
 	These 5 fields may only be modified when we have
 	an x-latch on btr_search_latch AND
-	- we are holding an s-latch or x-latch on buf_block_struct::lock or
-	- we know that buf_block_struct::buf_fix_count == 0.
+	- we are holding an s-latch or x-latch on buf_block_t::lock or
+	- we know that buf_block_t::buf_fix_count == 0.
 
 	An exception to this is when we init or create a page
 	in the buffer pool in buf0buf.cc.
@@ -1717,7 +1715,7 @@ Compute the hash fold value for blocks i
 /* @} */
 
 /** @brief The buffer pool statistics structure. */
-struct buf_pool_stat_struct{
+struct buf_pool_stat_t{
 	ulint	n_page_gets;	/*!< number of page gets performed;
 				also successful searches through
 				the adaptive hash index are
@@ -1744,7 +1742,7 @@ struct buf_pool_stat_struct{
 };
 
 /** Statistics of buddy blocks of a given size. */
-struct buf_buddy_stat_struct {
+struct buf_buddy_stat_t {
 	/** Number of blocks allocated from the buddy system. */
 	ulint		used;
 	/** Number of blocks relocated by the buddy system. */
@@ -1758,7 +1756,7 @@ struct buf_buddy_stat_struct {
 NOTE! The definition appears here only for other modules of this
 directory (buf) to see it. Do not use from outside! */
 
-struct buf_pool_struct{
+struct buf_pool_t{
 
 	/** @name General fields */
 	/* @{ */

=== modified file 'storage/innobase/include/buf0buf.ic'
--- a/storage/innobase/include/buf0buf.ic	revid:vasil.dimov@oracle.com-20120829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/include/buf0buf.ic	revid:marko.makela@stripped0830074621-l9xz0lx5y467otb3
@@ -37,7 +37,7 @@ Created 11/5/1995 Heikki Tuuri
 #include "buf0rea.h"
 
 /** A chunk of buffers. The buffer pool is allocated in chunks. */
-struct buf_chunk_struct{
+struct buf_chunk_t{
 	ulint		mem_size;	/*!< allocated size of the chunk */
 	ulint		size;		/*!< size of frames[] and blocks[] */
 	void*		mem;		/*!< pointer to the memory area which

=== modified file 'storage/innobase/include/buf0dblwr.h'
--- a/storage/innobase/include/buf0dblwr.h	revid:vasil.dimov@stripped829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/include/buf0dblwr.h	revid:marko.makela@stripped-l9xz0lx5y467otb3
@@ -112,7 +112,7 @@ buf_dblwr_write_single_page(
 	buf_page_t*	bpage);	/*!< in: buffer block to write */
 
 /** Doublewrite control struct */
-struct buf_dblwr_struct{
+struct buf_dblwr_t{
 	ib_mutex_t	mutex;	/*!< mutex protecting the first_free field and
 				write_buf */
 	ulint	block1;		/*!< the page number of the first

=== modified file 'storage/innobase/include/buf0lru.h'
--- a/storage/innobase/include/buf0lru.h	revid:vasil.dimov@stripped
+++ b/storage/innobase/include/buf0lru.h	revid:marko.makela@strippedm-20120830074621-l9xz0lx5y467otb3
@@ -32,7 +32,7 @@ Created 11/5/1995 Heikki Tuuri
 #include "buf0types.h"
 
 // Forward declaration
-struct trx_struct;
+struct trx_t;
 
 /******************************************************************//**
 Returns TRUE if less than 25 % of the buffer pool is available. This can be
@@ -62,8 +62,7 @@ buf_LRU_flush_or_remove_pages(
 /*==========================*/
 	ulint		id,		/*!< in: space id */
 	buf_remove_t	buf_remove,	/*!< in: remove or flush strategy */
-	const trx_struct*
-			trx);		/*!< to check if the operation must
+	const trx_t*	trx);		/*!< to check if the operation must
 					be interrupted */
 
 #if defined UNIV_DEBUG || defined UNIV_BUF_DEBUG
@@ -278,15 +277,12 @@ extern uint	buf_LRU_old_threshold_ms;
 These statistics are not 'of' LRU but 'for' LRU.  We keep count of I/O
 and page_zip_decompress() operations.  Based on the statistics we decide
 if we want to evict from buf_pool->unzip_LRU or buf_pool->LRU. */
-struct buf_LRU_stat_struct
+struct buf_LRU_stat_t
 {
 	ulint	io;	/**< Counter of buffer pool I/O operations. */
 	ulint	unzip;	/**< Counter of page_zip_decompress operations. */
 };
 
-/** Statistics for selecting the LRU list for eviction. */
-typedef struct buf_LRU_stat_struct buf_LRU_stat_t;
-
 /** Current operation counters.  Not protected by any mutex.
 Cleared by buf_LRU_stat_update(). */
 extern buf_LRU_stat_t	buf_LRU_stat_cur;

=== modified file 'storage/innobase/include/buf0types.h'
--- a/storage/innobase/include/buf0types.h	revid:vasil.dimov@oracle.com-20120829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/include/buf0types.h	revid:marko.makela@stripped0830074621-l9xz0lx5y467otb3
@@ -27,19 +27,19 @@ Created 11/17/1995 Heikki Tuuri
 #define buf0types_h
 
 /** Buffer page (uncompressed or compressed) */
-typedef	struct buf_page_struct		buf_page_t;
+struct buf_page_t;
 /** Buffer block for which an uncompressed page exists */
-typedef	struct buf_block_struct		buf_block_t;
+struct buf_block_t;
 /** Buffer pool chunk comprising buf_block_t */
-typedef struct buf_chunk_struct		buf_chunk_t;
+struct buf_chunk_t;
 /** Buffer pool comprising buf_chunk_t */
-typedef	struct buf_pool_struct		buf_pool_t;
+struct buf_pool_t;
 /** Buffer pool statistics struct */
-typedef	struct buf_pool_stat_struct	buf_pool_stat_t;
+struct buf_pool_stat_t;
 /** Buffer pool buddy statistics struct */
-typedef	struct buf_buddy_stat_struct	buf_buddy_stat_t;
+struct buf_buddy_stat_t;
 /** Doublewrite memory struct */
-typedef struct buf_dblwr_struct		buf_dblwr_t;
+struct buf_dblwr_t;
 
 /** A buffer frame. @see page_t */
 typedef	byte	buf_frame_t;
@@ -77,7 +77,7 @@ enum buf_io_fix {
 
 /** Alternatives for srv_checksum_algorithm, which can be changed by
 setting innodb_checksum_algorithm */
-enum srv_checksum_algorithm_enum {
+enum srv_checksum_algorithm_t {
 	SRV_CHECKSUM_ALGORITHM_CRC32,		/*!< Write crc32, allow crc32,
 						innodb or none when reading */
 	SRV_CHECKSUM_ALGORITHM_STRICT_CRC32,	/*!< Write crc32, allow crc32
@@ -91,7 +91,6 @@ enum srv_checksum_algorithm_enum {
 	SRV_CHECKSUM_ALGORITHM_STRICT_NONE	/*!< Write none, allow none
 						when reading */
 };
-typedef enum srv_checksum_algorithm_enum	srv_checksum_algorithm_t;
 
 /** Parameters of binary buddy system for compressed pages (buf0buddy.h) */
 /* @{ */

=== modified file 'storage/innobase/include/data0data.h'
--- a/storage/innobase/include/data0data.h	revid:vasil.dimov@strippedky8v
+++ b/storage/innobase/include/data0data.h	revid:marko.makela@stripped
@@ -35,7 +35,7 @@ Created 5/30/1994 Heikki Tuuri
 
 /** Storage for overflow data in a big record, that is, a clustered
 index record which needs external storage of data fields */
-typedef struct big_rec_struct		big_rec_t;
+struct big_rec_t;
 
 #ifdef UNIV_DEBUG
 /*********************************************************************//**
@@ -480,7 +480,7 @@ dtuple_big_rec_free(
 /*######################################################################*/
 
 /** Structure for an SQL data field */
-struct dfield_struct{
+struct dfield_t{
 	void*		data;	/*!< pointer to data */
 	unsigned	ext:1;	/*!< TRUE=externally stored, FALSE=local */
 	unsigned	len:32;	/*!< data length; UNIV_SQL_NULL if SQL null */
@@ -488,7 +488,7 @@ struct dfield_struct{
 };
 
 /** Structure for an SQL data tuple of fields (logical record) */
-struct dtuple_struct {
+struct dtuple_t {
 	ulint		info_bits;	/*!< info bits of an index record:
 					the default is 0; this field is used
 					if an index record is built from
@@ -508,15 +508,13 @@ struct dtuple_struct {
 #ifdef UNIV_DEBUG
 	ulint		magic_n;	/*!< magic number, used in
 					debug assertions */
-/** Value of dtuple_struct::magic_n */
+/** Value of dtuple_t::magic_n */
 # define		DATA_TUPLE_MAGIC_N	65478679
 #endif /* UNIV_DEBUG */
 };
 
 /** A slot for a field in a big rec vector */
-typedef struct big_rec_field_struct	big_rec_field_t;
-/** A slot for a field in a big rec vector */
-struct big_rec_field_struct {
+struct big_rec_field_t {
 	ulint		field_no;	/*!< field number in record */
 	ulint		len;		/*!< stored data length, in bytes */
 	const void*	data;		/*!< stored data */
@@ -524,7 +522,7 @@ struct big_rec_field_struct {
 
 /** Storage format for overflow data in a big record, that is, a
 clustered index record which needs external storage of data fields */
-struct big_rec_struct {
+struct big_rec_t {
 	mem_heap_t*	heap;		/*!< memory heap from which
 					allocated */
 	ulint		n_fields;	/*!< number of stored fields */

=== modified file 'storage/innobase/include/data0type.h'
--- a/storage/innobase/include/data0type.h	revid:vasil.dimov@stripped20120829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/include/data0type.h	revid:marko.makela@stripped74621-l9xz0lx5y467otb3
@@ -33,17 +33,16 @@ extern ulint	data_mysql_default_charset_
 #define DATA_MYSQL_BINARY_CHARSET_COLL 63
 
 /* SQL data type struct */
-typedef struct dtype_struct		dtype_t;
+struct dtype_t;
 
 /* SQL Like operator comparison types */
-enum ib_like_enum {
+enum ib_like_t {
 	IB_LIKE_EXACT,                  /* e.g.  STRING */
 	IB_LIKE_PREFIX,                 /* e.g., STRING% */
 	IB_LIKE_SUFFIX,                 /* e.g., %STRING */
 	IB_LIKE_SUBSTR,                 /* e.g., %STRING% */
 	IB_LIKE_REGEXP                  /* Future */
 };
-typedef enum ib_like_enum               ib_like_t;
 
 /*-------------------------------------------*/
 /* The 'MAIN TYPE' of a column */
@@ -509,7 +508,7 @@ dtype_read_for_order_and_null_size()
 dtype_new_read_for_order_and_null_size()
 sym_tab_add_null_lit() */
 
-struct dtype_struct{
+struct dtype_t{
 	unsigned	prtype:32;	/*!< precise type; MySQL data
 					type, charset code, flags to
 					indicate nullability,

=== modified file 'storage/innobase/include/data0types.h'
--- a/storage/innobase/include/data0types.h	revid:vasil.dimov@strippedgjky8v
+++ b/storage/innobase/include/data0types.h	revid:marko.makela@stripped
@@ -27,10 +27,10 @@ Created 9/21/2000 Heikki Tuuri
 #define data0types_h
 
 /* SQL data field struct */
-typedef struct dfield_struct	dfield_t;
+struct dfield_t;
 
 /* SQL data tuple struct */
-typedef struct dtuple_struct	dtuple_t;
+struct dtuple_t;
 
 #endif
 

=== modified file 'storage/innobase/include/dict0crea.h'
--- a/storage/innobase/include/dict0crea.h	revid:vasil.dimov@stripped9163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/include/dict0crea.h	revid:marko.makela@stripped9xz0lx5y467otb3
@@ -180,7 +180,7 @@ dict_create_add_foreign_to_dictionary(
 	__attribute__((nonnull, warn_unused_result));
 
 /* Table create node structure */
-struct tab_node_struct{
+struct tab_node_t{
 	que_common_t	common;	/*!< node type: QUE_NODE_TABLE_CREATE */
 	dict_table_t*	table;	/*!< table to create, built as a memory data
 				structure with dict_mem_... functions */
@@ -209,7 +209,7 @@ struct tab_node_struct{
 
 /* Index create node struct */
 
-struct ind_node_struct{
+struct ind_node_t{
 	que_common_t	common;	/*!< node type: QUE_NODE_INDEX_CREATE */
 	dict_index_t*	index;	/*!< index to create, built as a memory data
 				structure with dict_mem_... functions */

=== modified file 'storage/innobase/include/dict0dict.h'
--- a/storage/innobase/include/dict0dict.h	revid:vasil.dimov@stripped
+++ b/storage/innobase/include/dict0dict.h	revid:marko.makela@oracle.com-20120830074621-l9xz0lx5y467otb3
@@ -1549,7 +1549,7 @@ extern dict_sys_t*	dict_sys;
 extern rw_lock_t	dict_operation_lock;
 
 /* Dictionary system struct */
-struct dict_sys_struct{
+struct dict_sys_t{
 	ib_mutex_t		mutex;		/*!< mutex protecting the data
 					dictionary; protects also the
 					disk-based dictionary system tables;
@@ -1601,7 +1601,7 @@ dict_ind_init(void);
 
 /* This struct is used to specify the name and type that a column must
 have when checking a table's schema. */
-struct dict_col_meta_struct {
+struct dict_col_meta_t {
 	const char*	name;		/* column name */
 	ulint		mtype;		/* required column main type */
 	ulint		prtype_mask;	/* required column precise type mask;
@@ -1610,12 +1610,11 @@ struct dict_col_meta_struct {
 					in the column's prtype */
 	ulint		len;		/* required column length */
 };
-typedef struct dict_col_meta_struct dict_col_meta_t;
 
 /* This struct is used for checking whether a given table exists and
 whether it has a predefined schema (number of columns and columns names
 and types) */
-struct dict_table_schema_struct {
+struct dict_table_schema_t {
 	const char*		table_name;	/* the name of the table whose
 						structure we are checking */
 	ulint			n_cols;		/* the number of columns the
@@ -1632,7 +1631,6 @@ struct dict_table_schema_struct {
 						table (where this table is
 						parent) */
 };
-typedef struct dict_table_schema_struct dict_table_schema_t;
 /* @} */
 
 /*********************************************************************//**

=== modified file 'storage/innobase/include/dict0load.h'
--- a/storage/innobase/include/dict0load.h	revid:vasil.dimov@stripped0120829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/include/dict0load.h	revid:marko.makela@stripped4621-l9xz0lx5y467otb3
@@ -35,7 +35,7 @@ Created 4/24/1996 Heikki Tuuri
 #include "btr0types.h"
 
 /** enum that defines all system table IDs. @see SYSTEM_TABLE_NAME[] */
-enum dict_system_table_id {
+enum dict_system_id_t {
 	SYS_TABLES = 0,
 	SYS_INDEXES,
 	SYS_COLUMNS,
@@ -49,10 +49,8 @@ enum dict_system_table_id {
 	SYS_NUM_SYSTEM_TABLES
 };
 
-typedef enum dict_system_table_id	dict_system_id_t;
-
 /** Status bit for dict_process_sys_tables_rec_and_mtr_commit() */
-enum dict_table_info {
+enum dict_table_info_t {
 	DICT_TABLE_LOAD_FROM_RECORD = 0,/*!< Directly populate a dict_table_t
 					structure with information from
 					a SYS_TABLES record */
@@ -60,8 +58,6 @@ enum dict_table_info {
 					is in the cache, if so, return it */
 };
 
-typedef enum dict_table_info	dict_table_info_t;
-
 /********************************************************************//**
 In a crash recovery we already have all the tablespace objects created.
 This function compares the space id information in the InnoDB data dictionary

=== modified file 'storage/innobase/include/dict0mem.h'
--- a/storage/innobase/include/dict0mem.h	revid:vasil.dimov@stripped
+++ b/storage/innobase/include/dict0mem.h	revid:marko.makela@oracle.com-20120830074621-l9xz0lx5y467otb3
@@ -48,7 +48,7 @@ Created 1/8/1996 Heikki Tuuri
 #include "fts0fts.h"
 
 /* Forward declaration. */
-typedef struct ib_rbt_struct ib_rbt_t;
+struct ib_rbt_t;
 
 /** Type flags of an index: OR'ing of the flags is allowed to define a
 combination of types */
@@ -378,7 +378,7 @@ dict_mem_referenced_table_name_lookup_se
 	ibool		do_alloc);	/*!< in: is an alloc needed */
 
 /** Data structure for a column in a table */
-struct dict_col_struct{
+struct dict_col_t{
 	/*----------------------*/
 	/** The following are copied from dtype_t,
 	so that all bit-fields can be packed tightly. */
@@ -454,7 +454,7 @@ be REC_VERSION_56_MAX_INDEX_COL_LEN (307
 #define DICT_MAX_FIXED_COL_LEN		DICT_ANTELOPE_MAX_INDEX_COL_LEN
 
 /** Data structure for a field in an index */
-struct dict_field_struct{
+struct dict_field_t{
 	dict_col_t*	col;		/*!< pointer to the table column */
 	const char*	name;		/*!< name of the column */
 	unsigned	prefix_len:12;	/*!< 0 or the length of the column
@@ -524,7 +524,7 @@ struct zip_pad_info_t {
 
 /** Data structure for an index.  Most fields will be
 initialized to 0, NULL or FALSE in dict_mem_index_create(). */
-struct dict_index_struct{
+struct dict_index_t{
 	index_id_t	id;	/*!< id of the index */
 	mem_heap_t*	heap;	/*!< memory heap */
 	const char*	name;	/*!< index name */
@@ -622,7 +622,7 @@ struct dict_index_struct{
 #endif /* UNIV_BLOB_DEBUG */
 #ifdef UNIV_DEBUG
 	ulint		magic_n;/*!< magic number */
-/** Value of dict_index_struct::magic_n */
+/** Value of dict_index_t::magic_n */
 # define DICT_INDEX_MAGIC_N	76789786
 #endif
 };
@@ -650,7 +650,7 @@ enum online_index_status {
 /** Data structure for a foreign key constraint; an example:
 FOREIGN KEY (A, B) REFERENCES TABLE2 (C, D).  Most fields will be
 initialized to 0, NULL or FALSE in dict_mem_foreign_create(). */
-struct dict_foreign_struct{
+struct dict_foreign_t{
 	mem_heap_t*	heap;		/*!< this object is allocated from
 					this memory heap */
 	char*		id;		/*!< id of the constraint as a
@@ -703,7 +703,7 @@ a foreign key constraint is enforced, th
 
 /** Data structure for a database table.  Most fields will be
 initialized to 0, NULL or FALSE in dict_mem_table_create(). */
-struct dict_table_struct{
+struct dict_table_t{
 	table_id_t	id;	/*!< id of the table */
 	mem_heap_t*	heap;	/*!< memory heap */
 	char*		name;	/*!< table name */
@@ -959,7 +959,7 @@ struct dict_table_struct{
 
 #ifdef UNIV_DEBUG
 	ulint		magic_n;/*!< magic number */
-/** Value of dict_table_struct::magic_n */
+/** Value of dict_table_t::magic_n */
 # define DICT_TABLE_MAGIC_N	76333786
 #endif /* UNIV_DEBUG */
 };

=== modified file 'storage/innobase/include/dict0stats.h'
--- a/storage/innobase/include/dict0stats.h	revid:vasil.dimov@stripped-d2mmbin5gzgjky8v
+++ b/storage/innobase/include/dict0stats.h	revid:marko.makela@stripped5y467otb3
@@ -32,7 +32,7 @@ Created Jan 06, 2010 Vasil Dimov
 #include "dict0types.h"
 #include "trx0types.h"
 
-enum dict_stats_upd_option {
+enum dict_stats_upd_option_t {
 	DICT_STATS_RECALC_PERSISTENT,/* (re) calculate the
 				statistics using a precise and slow
 				algo and save them to the persistent
@@ -54,8 +54,6 @@ enum dict_stats_upd_option {
 				otherwise do nothing */
 };
 
-typedef enum dict_stats_upd_option	dict_stats_upd_option_t;
-
 /*********************************************************************//**
 Calculates new estimates for table and index statistics. This function
 is relatively quick and is used to calculate transient statistics that

=== modified file 'storage/innobase/include/dict0types.h'
--- a/storage/innobase/include/dict0types.h	revid:vasil.dimov@oracle.com-20120829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/include/dict0types.h	revid:marko.makela@stripped-20120830074621-l9xz0lx5y467otb3
@@ -26,15 +26,15 @@ Created 1/8/1996 Heikki Tuuri
 #ifndef dict0types_h
 #define dict0types_h
 
-typedef struct dict_sys_struct		dict_sys_t;
-typedef struct dict_col_struct		dict_col_t;
-typedef struct dict_field_struct	dict_field_t;
-typedef struct dict_index_struct	dict_index_t;
-typedef struct dict_table_struct	dict_table_t;
-typedef struct dict_foreign_struct	dict_foreign_t;
+struct dict_sys_t;
+struct dict_col_t;
+struct dict_field_t;
+struct dict_index_t;
+struct dict_table_t;
+struct dict_foreign_t;
 
-typedef struct ind_node_struct		ind_node_t;
-typedef struct tab_node_struct		tab_node_t;
+struct ind_node_t;
+struct tab_node_t;
 
 /* Space id and page no where the dictionary header resides */
 #define	DICT_HDR_SPACE		0	/* the SYSTEM tablespace */
@@ -52,7 +52,7 @@ the table and index will be marked as "c
 be responsible to deal with corrupted table or index.
 Note: please define the IGNORE_ERR_* as bits, so their value can
 be or-ed together */
-enum dict_err_ignore {
+enum dict_err_ignore_t {
 	DICT_ERR_IGNORE_NONE = 0,	/*!< no error to ignore */
 	DICT_ERR_IGNORE_INDEX_ROOT = 1,	/*!< ignore error if index root
 					page is FIL_NULL or incorrect value */
@@ -60,8 +60,6 @@ enum dict_err_ignore {
 	DICT_ERR_IGNORE_ALL = 0xFFFF	/*!< ignore all errors */
 };
 
-typedef enum dict_err_ignore		dict_err_ignore_t;
-
 /** Quiescing states for flushing tables to disk. */
 enum ib_quiesce_t {
 	QUIESCE_NONE,

=== modified file 'storage/innobase/include/dyn0dyn.h'
--- a/storage/innobase/include/dyn0dyn.h	revid:vasil.dimov@stripped9163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/include/dyn0dyn.h	revid:marko.makela@strippedz0lx5y467otb3
@@ -31,10 +31,9 @@ Created 2/5/1996 Heikki Tuuri
 #include "mem0mem.h"
 
 /** A block in a dynamically allocated array */
-typedef struct dyn_block_struct		dyn_block_t;
+struct dyn_block_t;
 /** Dynamically allocated array */
-typedef dyn_block_t			dyn_array_t;
-
+typedef dyn_block_t		dyn_array_t;
 
 /** This is the initial 'payload' size of a dynamic array;
 this must be > MLOG_BUF_MARGIN + 30! */
@@ -159,7 +158,7 @@ dyn_push_string(
 /** @brief A block in a dynamically allocated array.
 NOTE! Do not access the fields of the struct directly: the definition
 appears here only for the compiler to know its size! */
-struct dyn_block_struct{
+struct dyn_block_t{
 	mem_heap_t*	heap;	/*!< in the first block this is != NULL
 				if dynamic allocation has been needed */
 	ulint		used;	/*!< number of data bytes used in this block;

=== modified file 'storage/innobase/include/dyn0dyn.ic'
--- a/storage/innobase/include/dyn0dyn.ic	revid:vasil.dimov@oracle.com-20120829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/include/dyn0dyn.ic	revid:marko.makela@stripped120830074621-l9xz0lx5y467otb3
@@ -23,9 +23,9 @@ The dynamically allocated array
 Created 2/5/1996 Heikki Tuuri
 *******************************************************/
 
-/** Value of dyn_block_struct::magic_n */
+/** Value of dyn_block_t::magic_n */
 #define DYN_BLOCK_MAGIC_N	375767
-/** Flag for dyn_block_struct::used that indicates a full block */
+/** Flag for dyn_block_t::used that indicates a full block */
 #define DYN_BLOCK_FULL_FLAG	0x1000000UL
 
 /************************************************************//**

=== modified file 'storage/innobase/include/fil0fil.h'
--- a/storage/innobase/include/fil0fil.h	revid:vasil.dimov@stripped
+++ b/storage/innobase/include/fil0fil.h	revid:marko.makela@stripped
@@ -40,7 +40,7 @@ Created 10/25/1995 Heikki Tuuri
 #endif /* !UNIV_HOTBACKUP */
 
 // Forward declaration
-struct trx_struct;
+struct trx_t;
 
 /** When mysqld is run, the default directory "." is the mysqld datadir,
 but in the MySQL Embedded Server Library and ibbackup it is not the default
@@ -64,12 +64,8 @@ typedef	byte	fil_faddr_t;	/*!< 'type' de
 
 #define	FIL_ADDR_SIZE	6	/* address size is 6 bytes */
 
-/** A struct for storing a space address FIL_ADDR, when it is used
-in C program data structures. */
-
-typedef struct fil_addr_struct	fil_addr_t;
 /** File space address */
-struct fil_addr_struct{
+struct fil_addr_t{
 	ulint	page;		/*!< page number within a space */
 	ulint	boffset;	/*!< byte offset within the page */
 };
@@ -434,8 +430,8 @@ UNIV_INTERN
 dberr_t
 fil_close_tablespace(
 /*=================*/
-	trx_struct*	trx,	/*!< in/out: Transaction covering the close */
-	ulint		id);	/*!< in: space id */
+	trx_t*	trx,	/*!< in/out: Transaction covering the close */
+	ulint	id);	/*!< in: space id */
 #ifndef UNIV_HOTBACKUP
 /*******************************************************************//**
 Discards a single-table tablespace. The tablespace must be cached in the
@@ -937,7 +933,7 @@ fil_get_space_id_for_table(
 	const char*	name);	/*!< in: table name in the standard
 				'databasename/tablename' format */
 
-typedef	struct fil_space_struct	fil_space_t;
+struct fil_space_t;
 
 #endif /* !UNIV_INNOCHECKSUM */
 

=== modified file 'storage/innobase/include/fts0ast.h'
--- a/storage/innobase/include/fts0ast.h	revid:vasil.dimov@stripped
+++ b/storage/innobase/include/fts0ast.h	revid:marko.makela@oracle.com-20120830074621-l9xz0lx5y467otb3
@@ -29,7 +29,7 @@ Created 2007/03/16/03 Sunny Bains
 #include "mem0mem.h"
 
 /* The type of AST Node */
-enum fts_ast_type_enum {
+enum fts_ast_type_t {
 	FTS_AST_OPER,				/*!< Operator */
 	FTS_AST_NUMB,				/*!< Number */
 	FTS_AST_TERM,				/*!< Term (or word) */
@@ -39,7 +39,7 @@ enum fts_ast_type_enum {
 };
 
 /* The FTS query operators that we support */
-enum fts_ast_oper_enum {
+enum fts_ast_oper_t {
 	FTS_NONE,				/*!< No operator */
 
 	FTS_IGNORE,				/*!< Ignore rows that contain
@@ -66,17 +66,10 @@ enum fts_ast_oper_enum {
 						fts_ast_visit() */
 };
 
-/* Enum types used by the FTS parser */
-typedef enum fts_ast_type_enum fts_ast_type_t;
-typedef enum fts_ast_oper_enum fts_ast_oper_t;
-
 /* Data types used by the FTS parser */
-typedef struct fts_lexer_struct fts_lexer_t;
-typedef struct fts_ast_text_struct fts_ast_text_t;
-typedef struct fts_ast_term_struct fts_ast_term_t;
-typedef struct fts_ast_node_struct fts_ast_node_t;
-typedef struct fts_ast_list_struct fts_ast_list_t;
-typedef struct fts_ast_state_struct fts_ast_state_t;
+struct fts_lexer_t;
+struct fts_ast_node_t;
+struct fts_ast_state_t;
 
 typedef ulint (*fts_ast_callback)(fts_ast_oper_t, fts_ast_node_t*, void*);
 
@@ -235,26 +228,26 @@ fts_lexer_free(
 	__attribute__((nonnull));
 
 /* Query term type */
-struct fts_ast_term_struct {
+struct fts_ast_term_t {
 	byte*		ptr;			/*!< Pointer to term string.*/
 	ibool		wildcard;		/*!< TRUE if wild card set.*/
 };
 
 /* Query text type */
-struct fts_ast_text_struct {
+struct fts_ast_text_t {
 	byte*		ptr;			/*!< Pointer to term string.*/
 	ulint		distance;		/*!< > 0 if proximity distance
 						set */
 };
 
 /* The list of nodes in an expr list */
-struct fts_ast_list_struct {
+struct fts_ast_list_t {
 	fts_ast_node_t*	head;			/*!< Children list head */
 	fts_ast_node_t*	tail;			/*!< Children list tail */
 };
 
 /* FTS AST node to store the term, text, operator and sub-expressions.*/
-struct fts_ast_node_struct {
+struct fts_ast_node_t {
 	fts_ast_type_t	type;			/*!< The type of node */
 	fts_ast_text_t	text;			/*!< Text node */
 	fts_ast_term_t	term;			/*!< Term node */
@@ -267,7 +260,7 @@ struct fts_ast_node_struct {
 };
 
 /* To track state during parsing */
-struct fts_ast_state_struct {
+struct fts_ast_state_t {
 	mem_heap_t*	heap;			/*!< Heap to use for alloc */
 	fts_ast_node_t*	root;			/*!< If all goes OK, then this
 						will point to the root.*/

=== modified file 'storage/innobase/include/fts0fts.h'
--- a/storage/innobase/include/fts0fts.h	revid:vasil.dimov@stripped
+++ b/storage/innobase/include/fts0fts.h	revid:marko.makela@oracle.com-20120830074621-l9xz0lx5y467otb3
@@ -114,16 +114,16 @@ to mark invalid states.
 
 NOTE: Do not change the order or value of these, fts_trx_row_get_new_state
 depends on them being exactly as they are. */
-typedef enum {
+enum fts_row_state {
 	FTS_INSERT = 0,
 	FTS_MODIFY,
 	FTS_DELETE,
 	FTS_NOTHING,
 	FTS_INVALID
-} fts_row_state;
+};
 
 /** The FTS table types. */
-enum fts_table_type_enum {
+enum fts_table_type_t {
 	FTS_INDEX_TABLE,		/*!< FTS auxiliary table that is
 					specific to a particular FTS index
 					on a table */
@@ -132,21 +132,11 @@ enum fts_table_type_enum {
 					for all FTS index on a table */
 };
 
-typedef struct fts_struct fts_t;
-typedef struct fts_doc_struct fts_doc_t;
-typedef struct fts_trx_struct fts_trx_t;
-typedef struct fts_table_struct fts_table_t;
-typedef struct fts_cache_struct fts_cache_t;
-typedef struct fts_token_struct fts_token_t;
-typedef struct fts_string_struct fts_string_t;
-typedef	struct fts_result_struct fts_result_t;
-typedef struct fts_ranking_struct fts_ranking_t;
-typedef struct fts_trx_row_struct fts_trx_row_t;
-typedef struct fts_doc_ids_struct fts_doc_ids_t;
-typedef enum fts_table_type_enum fts_table_type_t;
-typedef struct fts_trx_table_struct fts_trx_table_t;
-typedef	struct fts_savepoint_struct fts_savepoint_t;
-typedef struct fts_index_cache_struct fts_index_cache_t;
+struct fts_doc_t;
+struct fts_cache_t;
+struct fts_token_t;
+struct fts_doc_ids_t;
+struct fts_index_cache_t;
 
 
 /** Initialize the "fts_table" for internal query into FTS auxiliary
@@ -172,7 +162,7 @@ do {								\
 
 /** Information about changes in a single transaction affecting
 the FTS system. */
-struct fts_trx_struct {
+struct fts_trx_t {
 	trx_t*		trx;		/*!< InnoDB transaction */
 
 	ib_vector_t*	savepoints;	/*!< Active savepoints, must have at
@@ -184,7 +174,7 @@ struct fts_trx_struct {
 };
 
 /** Information required for transaction savepoint handling. */
-struct fts_savepoint_struct {
+struct fts_savepoint_t {
 	char*		name;		/*!< First entry is always NULL, the
 					default instance. Otherwise the name
 					of the savepoint */
@@ -193,7 +183,7 @@ struct fts_savepoint_struct {
 };
 
 /** Information about changed rows in a transaction for a single table. */
-struct fts_trx_table_struct {
+struct fts_trx_table_t {
 	dict_table_t*	table;		/*!< table */
 
 	fts_trx_t*	fts_trx;	/*!< link to parent */
@@ -209,7 +199,7 @@ struct fts_trx_table_struct {
 };
 
 /** Information about one changed row in a transaction. */
-struct fts_trx_row_struct {
+struct fts_trx_row_t {
 	doc_id_t	doc_id;		/*!< Id of the ins/upd/del document */
 
 	fts_row_state	state;		/*!< state of the row */
@@ -220,7 +210,7 @@ struct fts_trx_row_struct {
 /** List of document ids that were added during a transaction. This
 list is passed on to a background 'Add' thread and OPTIMIZE, so it
 needs its own memory heap. */
-struct fts_doc_ids_struct {
+struct fts_doc_ids_t {
 	ib_vector_t*	doc_ids;	/*!< document ids (each element is
 					of type doc_id_t). */
 
@@ -237,7 +227,7 @@ as our in-memory format. This typedef is
 typedef unsigned short ib_uc_t;
 
 /** An UTF-16 ro UTF-8 string. */
-struct fts_string_struct {
+struct fts_string_t {
 	byte*		f_str;		/*!< string, not necessary terminated in
 					any way */
 	ulint		f_len;		/*!< Length of the string in bytes */
@@ -245,7 +235,7 @@ struct fts_string_struct {
 };
 
 /** Query ranked doc ids. */
-struct fts_ranking_struct {
+struct fts_ranking_t {
 	doc_id_t	doc_id;		/*!< Document id */
 
 	fts_rank_t	rank;		/*!< Rank is between 0 .. 1 */
@@ -256,7 +246,7 @@ struct fts_ranking_struct {
 };
 
 /** Query result. */
-struct fts_result_struct {
+struct fts_result_t {
 	ib_rbt_node_t*	current;	/*!< Current element */
 
 	ib_rbt_t*	rankings_by_id;	/*!< RB tree of type fts_ranking_t
@@ -268,7 +258,7 @@ struct fts_result_struct {
 /** This is used to generate the FTS auxiliary table name, we need the
 table id and the index id to generate the column specific FTS auxiliary
 table name. */
-struct fts_table_struct {
+struct fts_table_t {
 	const char*	parent;		/*!< Parent table name, this is
 					required only for the database
 					name */
@@ -311,7 +301,7 @@ enum	fts_status {
 typedef	enum fts_status	fts_status_t;
 
 /** The state of the FTS sub system. */
-struct fts_struct {
+struct fts_t {
 					/*!< mutex protecting bg_threads* and
 					fts_add_wq. */
 	ib_mutex_t		bg_threads_mutex;
@@ -339,10 +329,10 @@ struct fts_struct {
 
 	ib_vector_t*	indexes;	/*!< Vector of FTS indexes, this is
 					mainly for caching purposes. */
-	mem_heap_t*	fts_heap;	/*!< heap for fts_struct allocation */
+	mem_heap_t*	fts_heap;	/*!< heap for fts_t allocation */
 };
 
-typedef struct fts_stopword_struct	fts_stopword_t;
+struct fts_stopword_t;
 
 /** status bits for fts_stopword_t status field. */
 #define STOPWORD_NOT_INIT               0x1

=== modified file 'storage/innobase/include/fts0types.h'
--- a/storage/innobase/include/fts0types.h	revid:vasil.dimov@strippedd2mmbin5gzgjky8v
+++ b/storage/innobase/include/fts0types.h	revid:marko.makela@stripped467otb3
@@ -32,31 +32,24 @@ Created 2007-03-27 Sunny Bains
 #include "ut0rbt.h"
 #include "fts0fts.h"
 
-/** Types (aliases) used within FTS. */
-typedef struct fts_que_struct fts_que_t;
-typedef struct fts_node_struct fts_node_t;
-typedef struct fts_word_struct fts_word_t;
-typedef struct fts_fetch_struct fts_fetch_t;
-typedef struct fts_update_struct fts_update_t;
-typedef struct fts_get_doc_struct fts_get_doc_t;
-typedef struct fts_utf8_str_struct fts_utf8_str_t;
-typedef struct fts_doc_stats_struct fts_doc_stats_t;
-typedef struct fts_tokenizer_word_struct fts_tokenizer_word_t;
-typedef struct fts_index_selector_struct fts_index_selector_t;
+/** Types used within FTS. */
+struct fts_que_t;
+struct fts_node_t;
+struct fts_utf8_str_t;
 
 /** Callbacks used within FTS. */
 typedef pars_user_func_cb_t fts_sql_callback;
 typedef void (*fts_filter)(void*, fts_node_t*, void*, ulint len);
 
 /** Statistics relevant to a particular document, used during retrieval. */
-struct fts_doc_stats_struct {
+struct fts_doc_stats_t {
 	doc_id_t	doc_id;		/*!< Document id */
 	ulint		word_count;	/*!< Total words in the document */
 };
 
 /** It's main purpose is to store the SQL prepared statements that
 are required to retrieve a document from the database. */
-struct fts_get_doc_struct {
+struct fts_get_doc_t {
 	fts_index_cache_t*
 			index_cache;	/*!< The index cache instance */
 
@@ -67,7 +60,7 @@ struct fts_get_doc_struct {
 
 /** Since we can have multiple FTS indexes on a table, we keep a
 per index cache of words etc. */
-struct fts_index_cache_struct {
+struct fts_index_cache_t {
 	dict_index_t*	index;		/*!< The FTS index instance */
 
 	ib_rbt_t*	words;		/*!< Nodes; indexed by fts_string_t*,
@@ -89,7 +82,7 @@ struct fts_index_cache_struct {
 /** For supporting the tracking of updates on multiple FTS indexes we need
 to track which FTS indexes need to be updated. For INSERT and DELETE we
 update all fts indexes. */
-struct fts_update_struct {
+struct fts_update_t {
 	doc_id_t	doc_id;		/*!< The doc id affected */
 
 	ib_vector_t*	fts_indexes;	/*!< The FTS indexes that need to be
@@ -101,7 +94,7 @@ struct fts_update_struct {
 };
 
 /** Stop word control infotmation. */
-struct fts_stopword_struct {
+struct fts_stopword_t {
 	ulint		status;		/*!< Status of the stopword tree */
 	ib_alloc_t*	heap;		/*!< The memory allocator to use */
 	ib_rbt_t*	cached_stopword;/*!< This stores all active stopwords */
@@ -110,7 +103,7 @@ struct fts_stopword_struct {
 
 /** The SYNC state of the cache. There is one instance of this struct
 associated with each ADD thread. */
-struct fts_sync_struct {
+struct fts_sync_t {
 	trx_t*		trx;		/*!< The transaction used for SYNCing
 					the cache to disk */
 	dict_table_t*	table;		/*!< Table with FTS index(es) */
@@ -132,12 +125,10 @@ struct fts_sync_struct {
         ib_time_t	start_time;	/*!< SYNC start time */
 };
 
-typedef struct fts_sync_struct	fts_sync_t;
-
 /** The cache for the FTS system. It is a memory-based inverted index
 that new entries are added to, until it grows over the configured maximum
 size, at which time its contents are written to the INDEX table. */
-struct fts_cache_struct {
+struct fts_cache_t {
 	rw_lock_t	lock;		/*!< lock protecting all access to the
 					memory buffer. FIXME: this needs to
 					be our new upgrade-capable rw-lock */
@@ -201,7 +192,7 @@ struct fts_cache_struct {
 };
 
 /** Columns of the FTS auxiliary INDEX table */
-struct fts_node_struct {
+struct fts_node_t {
 	doc_id_t	first_doc_id;	/*!< First document id in ilist. */
 
 	doc_id_t	last_doc_id;	/*!< Last document id in ilist. */
@@ -224,7 +215,7 @@ struct fts_node_struct {
 };
 
 /** A tokenizer word. Contains information about one word. */
-struct fts_tokenizer_word_struct {
+struct fts_tokenizer_word_t {
 	fts_string_t	text;		/*!< Token text. */
 
 	ib_vector_t*	nodes;		/*!< Word node ilists, each element is
@@ -232,7 +223,7 @@ struct fts_tokenizer_word_struct {
 };
 
 /** Word text plus it's array of nodes as on disk in FTS index */
-struct fts_word_struct {
+struct fts_word_t {
 	fts_string_t	text;		/*!< Word value in UTF-8 */
 	ib_vector_t*	nodes;		/*!< Nodes read from disk */
 
@@ -240,7 +231,7 @@ struct fts_word_struct {
 };
 
 /** Callback for reading and filtering nodes that are read from FTS index */
-struct fts_fetch_struct {
+struct fts_fetch_t {
 	void*		read_arg;	/*!< Arg for the sql_callback */
 
 	fts_sql_callback
@@ -249,7 +240,7 @@ struct fts_fetch_struct {
 };
 
 /** For horizontally splitting an FTS auxiliary index */
-struct fts_index_selector_struct {
+struct fts_index_selector_t {
 	ulint		value;		/*!< Character value at which
 					to split */
 
@@ -257,7 +248,7 @@ struct fts_index_selector_struct {
 };
 
 /** This type represents a single document. */
-struct fts_doc_struct {
+struct fts_doc_t {
 	fts_string_t	text;		/*!< document text */
 
 	ibool		found;		/*!< TRUE if the document was found
@@ -277,7 +268,7 @@ struct fts_doc_struct {
 };
 
 /** A token and its positions within a document. */
-struct fts_token_struct {
+struct fts_token_t {
 	fts_string_t	text;		/*!< token text */
 
 	ib_vector_t*	positions;	/*!< an array of the positions the

=== modified file 'storage/innobase/include/ha0ha.h'
--- a/storage/innobase/include/ha0ha.h	revid:vasil.dimov@stripped20120829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/include/ha0ha.h	revid:marko.makela@stripped1-l9xz0lx5y467otb3
@@ -221,10 +221,7 @@ ha_print_info(
 #endif /* !UNIV_HOTBACKUP */
 
 /** The hash table external chain node */
-typedef struct ha_node_struct ha_node_t;
-
-/** The hash table external chain node */
-struct ha_node_struct {
+struct ha_node_t {
 	ha_node_t*	next;	/*!< next chain node or NULL if none */
 #if defined UNIV_AHI_DEBUG || defined UNIV_DEBUG
 	buf_block_t*	block;	/*!< buffer block containing the data, or NULL */

=== modified file 'storage/innobase/include/ha0storage.h'
--- a/storage/innobase/include/ha0storage.h	revid:vasil.dimov@oracle.com-20120829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/include/ha0storage.h	revid:marko.makela@stripped20830074621-l9xz0lx5y467otb3
@@ -39,7 +39,7 @@ constant per ha_storage's lifetime. */
 #define HA_STORAGE_DEFAULT_HASH_CELLS	4096
 
 /** Hash storage */
-typedef struct ha_storage_struct	ha_storage_t;
+struct ha_storage_t;
 
 /*******************************************************************//**
 Creates a hash storage. If any of the parameters is 0, then a default

=== modified file 'storage/innobase/include/ha0storage.ic'
--- a/storage/innobase/include/ha0storage.ic	revid:vasil.dimov@stripped63824-d2mmbin5gzgjky8v
+++ b/storage/innobase/include/ha0storage.ic	revid:marko.makela@stripped9xz0lx5y467otb3
@@ -31,7 +31,7 @@ Created September 24, 2007 Vasil Dimov
 #include "mem0mem.h"
 
 /** Hash storage for strings */
-struct ha_storage_struct {
+struct ha_storage_t {
 	mem_heap_t*	heap;	/*!< memory heap from which memory is
 				allocated */
 	hash_table_t*	hash;	/*!< hash table used to avoid
@@ -39,9 +39,7 @@ struct ha_storage_struct {
 };
 
 /** Objects of this type are stored in ha_storage_t */
-typedef struct ha_storage_node_struct ha_storage_node_t;
-/** Objects of this type are stored in ha_storage_struct */
-struct ha_storage_node_struct {
+struct ha_storage_node_t {
 	ulint			data_len;/*!< length of the data */
 	const void*		data;	/*!< pointer to data */
 	ha_storage_node_t*	next;	/*!< next node in hash chain */

=== modified file 'storage/innobase/include/ha_prototypes.h'
--- a/storage/innobase/include/ha_prototypes.h	revid:vasil.dimov@strippedy8v
+++ b/storage/innobase/include/ha_prototypes.h	revid:marko.makela@stripped
@@ -39,7 +39,7 @@ Created 5/11/2006 Osku Salerma
 
 // Forward declarations
 class Field;
-typedef struct fts_string_struct fts_string_t;
+struct fts_string_t;
 
 /*********************************************************************//**
 Wrapper around MySQL's copy_and_convert function.

=== modified file 'storage/innobase/include/hash0hash.h'
--- a/storage/innobase/include/hash0hash.h	revid:vasil.dimov@stripped
+++ b/storage/innobase/include/hash0hash.h	revid:marko.makela@oracle.com-20120830074621-l9xz0lx5y467otb3
@@ -33,8 +33,8 @@ Created 5/20/1997 Heikki Tuuri
 # include "sync0rw.h"
 #endif /* !UNIV_HOTBACKUP */
 
-typedef struct hash_table_struct hash_table_t;
-typedef struct hash_cell_struct hash_cell_t;
+struct hash_table_t;
+struct hash_cell_t;
 
 typedef void*	hash_node_t;
 
@@ -524,12 +524,12 @@ hash_unlock_x_all_but(
 # define hash_unlock_x_all_but(t, l)	((void) 0)
 #endif /* !UNIV_HOTBACKUP */
 
-struct hash_cell_struct{
+struct hash_cell_t{
 	void*	node;	/*!< hash chain node, NULL if none */
 };
 
 /* The hash table structure */
-struct hash_table_struct {
+struct hash_table_t {
 	enum hash_table_sync_t	type;	/*<! type of hash_table. */
 #if defined UNIV_AHI_DEBUG || defined UNIV_DEBUG
 # ifndef UNIV_HOTBACKUP

=== modified file 'storage/innobase/include/ibuf0ibuf.ic'
--- a/storage/innobase/include/ibuf0ibuf.ic	revid:vasil.dimov@strippedmmbin5gzgjky8v
+++ b/storage/innobase/include/ibuf0ibuf.ic	revid:marko.makela@stripped67otb3
@@ -59,7 +59,7 @@ ibuf_mtr_commit(
 }
 
 /** Insert buffer struct */
-struct ibuf_struct{
+struct ibuf_t{
 	ulint		size;		/*!< current size of the ibuf index
 					tree, in pages */
 	ulint		max_size;	/*!< recommended maximum size of the

=== modified file 'storage/innobase/include/ibuf0types.h'
--- a/storage/innobase/include/ibuf0types.h	revid:vasil.dimov@stripped5gzgjky8v
+++ b/storage/innobase/include/ibuf0types.h	revid:marko.makela@stripped3
@@ -26,6 +26,6 @@ Created 7/29/1997 Heikki Tuuri
 #ifndef ibuf0types_h
 #define ibuf0types_h
 
-typedef	struct ibuf_struct	ibuf_t;
+struct ibuf_t;
 
 #endif

=== modified file 'storage/innobase/include/lock0iter.h'
--- a/storage/innobase/include/lock0iter.h	revid:vasil.dimov@oracle.com-20120829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/include/lock0iter.h	revid:marko.makela@stripped830074621-l9xz0lx5y467otb3
@@ -29,13 +29,13 @@ Created July 16, 2007 Vasil Dimov
 #include "univ.i"
 #include "lock0types.h"
 
-typedef struct lock_queue_iterator_struct {
+struct lock_queue_iterator_t {
 	const lock_t*	current_lock;
 	/* In case this is a record lock queue (not table lock queue)
 	then bit_no is the record number within the heap in which the
 	record is stored. */
 	ulint		bit_no;
-} lock_queue_iterator_t;
+};
 
 /*******************************************************************//**
 Initialize lock queue iterator so that it starts to iterate from

=== modified file 'storage/innobase/include/lock0lock.h'
--- a/storage/innobase/include/lock0lock.h	revid:vasil.dimov@stripped
+++ b/storage/innobase/include/lock0lock.h	revid:marko.makela@oracle.com-20120830074621-l9xz0lx5y467otb3
@@ -855,15 +855,13 @@ lock_table_get_n_locks(
 /* @} */
 
 /** Lock operation struct */
-typedef struct lock_op_struct	lock_op_t;
-/** Lock operation struct */
-struct lock_op_struct{
+struct lock_op_t{
 	dict_table_t*	table;	/*!< table to be locked */
 	enum lock_mode	mode;	/*!< lock mode */
 };
 
 /** The lock system struct */
-struct lock_sys_struct{
+struct lock_sys_t{
 	ib_mutex_t		mutex;			/*!< Mutex protecting the
 						locks */
 	hash_table_t*	rec_hash;		/*!< hash table of the record

=== modified file 'storage/innobase/include/lock0priv.h'
--- a/storage/innobase/include/lock0priv.h	revid:vasil.dimov@stripped4-d2mmbin5gzgjky8v
+++ b/storage/innobase/include/lock0priv.h	revid:marko.makela@stripped5y467otb3
@@ -40,9 +40,7 @@ those functions in lock/ */
 #include "ut0lst.h"
 
 /** A table lock */
-typedef struct lock_table_struct	lock_table_t;
-/** A table lock */
-struct lock_table_struct {
+struct lock_table_t {
 	dict_table_t*	table;		/*!< database table in dictionary
 					cache */
 	UT_LIST_NODE_T(lock_t)
@@ -51,9 +49,7 @@ struct lock_table_struct {
 };
 
 /** Record lock for a page */
-typedef struct lock_rec_struct		lock_rec_t;
-/** Record lock for a page */
-struct lock_rec_struct {
+struct lock_rec_t {
 	ulint	space;			/*!< space id */
 	ulint	page_no;		/*!< page number */
 	ulint	n_bits;			/*!< number of bits in the lock
@@ -63,7 +59,7 @@ struct lock_rec_struct {
 };
 
 /** Lock struct; protected by lock_sys->mutex */
-struct lock_struct {
+struct lock_t {
 	trx_t*		trx;		/*!< transaction owning the
 					lock */
 	UT_LIST_NODE_T(lock_t)

=== modified file 'storage/innobase/include/lock0types.h'
--- a/storage/innobase/include/lock0types.h	revid:vasil.dimov@strippedy8v
+++ b/storage/innobase/include/lock0types.h	revid:marko.makela@stripped
@@ -27,8 +27,8 @@ Created 5/7/1996 Heikki Tuuri
 #define lock0types_h
 
 #define lock_t ib_lock_t
-typedef struct lock_struct	lock_t;
-typedef struct lock_sys_struct	lock_sys_t;
+struct lock_t;
+struct lock_sys_t;
 
 /* Basic lock modes */
 enum lock_mode {

=== modified file 'storage/innobase/include/log0log.h'
--- a/storage/innobase/include/log0log.h	revid:vasil.dimov@strippedbin5gzgjky8v
+++ b/storage/innobase/include/log0log.h	revid:marko.makela@stripped3
@@ -48,9 +48,9 @@ typedef	ib_uint64_t		lsn_t;
 #define LSN_PF			UINT64PF
 
 /** Redo log buffer */
-typedef struct log_struct	log_t;
+struct log_t;
 /** Redo log group */
-typedef struct log_group_struct	log_group_t;
+struct log_group_t;
 
 #ifdef UNIV_DEBUG
 /** Flag: write to log file? */
@@ -67,7 +67,7 @@ extern	ibool	log_debug_writes;
 #define LOG_WAIT_ONE_GROUP	92
 #define	LOG_WAIT_ALL_GROUPS	93
 /* @} */
-/** Maximum number of log groups in log_group_struct::checkpoint_buf */
+/** Maximum number of log groups in log_group_t::checkpoint_buf */
 #define LOG_MAX_N_GROUPS	32
 
 /*******************************************************************//**
@@ -704,7 +704,7 @@ extern log_t*	log_sys;
 
 /** Log group consists of a number of log files, each of the same size; a log
 group is implemented as a space in the sense of the module fil0fil. */
-struct log_group_struct{
+struct log_group_t{
 	/* The following fields are protected by log_sys->mutex */
 	ulint		id;		/*!< log group id */
 	ulint		n_files;	/*!< number of files in the group */
@@ -756,7 +756,7 @@ struct log_group_struct{
 };
 
 /** Redo log buffer */
-struct log_struct{
+struct log_t{
 	byte		pad[64];	/*!< padding to prevent other memory
 					update hotspots from residing on the
 					same memory cache line */

=== modified file 'storage/innobase/include/log0recv.h'
--- a/storage/innobase/include/log0recv.h	revid:vasil.dimov@stripped120829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/include/log0recv.h	revid:marko.makela@stripped21-l9xz0lx5y467otb3
@@ -318,9 +318,7 @@ recv_recovery_from_archive_finish(void);
 #endif /* UNIV_LOG_ARCHIVE */
 
 /** Block of log record data */
-typedef struct recv_data_struct	recv_data_t;
-/** Block of log record data */
-struct recv_data_struct{
+struct recv_data_t{
 	recv_data_t*	next;	/*!< pointer to the next block or NULL */
 				/*!< the log record data is stored physically
 				immediately after this struct, max amount
@@ -328,9 +326,7 @@ struct recv_data_struct{
 };
 
 /** Stored log record struct */
-typedef struct recv_struct	recv_t;
-/** Stored log record struct */
-struct recv_struct{
+struct recv_t{
 	byte		type;	/*!< log record type */
 	ulint		len;	/*!< log record body length in bytes */
 	recv_data_t*	data;	/*!< chain of blocks containing the log record
@@ -347,7 +343,7 @@ struct recv_struct{
 			rec_list;/*!< list of log records for this page */
 };
 
-/** States of recv_addr_struct */
+/** States of recv_addr_t */
 enum recv_addr_state {
 	/** not yet processed */
 	RECV_NOT_PROCESSED,
@@ -361,9 +357,7 @@ enum recv_addr_state {
 };
 
 /** Hashed page file address struct */
-typedef struct recv_addr_struct	recv_addr_t;
-/** Hashed page file address struct */
-struct recv_addr_struct{
+struct recv_addr_t{
 	enum recv_addr_state state;
 				/*!< recovery state of the page */
 	unsigned	space:32;/*!< space id */
@@ -374,9 +368,7 @@ struct recv_addr_struct{
 };
 
 /** Recovery system data structure */
-typedef struct recv_sys_struct	recv_sys_t;
-/** Recovery system data structure */
-struct recv_sys_struct{
+struct recv_sys_t{
 #ifndef UNIV_HOTBACKUP
 	ib_mutex_t		mutex;	/*!< mutex protecting the fields apply_log_recs,
 				n_addrs, and the state field in each recv_addr

=== modified file 'storage/innobase/include/mem0mem.h'
--- a/storage/innobase/include/mem0mem.h	revid:vasil.dimov@stripped
+++ b/storage/innobase/include/mem0mem.h	revid:marko.makela@oracle.com-20120830074621-l9xz0lx5y467otb3
@@ -38,15 +38,12 @@ Created 6/9/1994 Heikki Tuuri
 
 /* -------------------- MEMORY HEAPS ----------------------------- */
 
-/* The info structure stored at the beginning of a heap block */
-typedef struct mem_block_info_struct mem_block_info_t;
-
 /* A block of a memory heap consists of the info structure
 followed by an area of memory */
-typedef mem_block_info_t	mem_block_t;
+typedef struct mem_block_info_t	mem_block_t;
 
 /* A memory heap is a nonempty linear list of memory blocks */
-typedef mem_block_t	mem_heap_t;
+typedef mem_block_t		mem_heap_t;
 
 /* Types of allocation for memory heaps: DYNAMIC means allocation from the
 dynamic memory pool of the C compiler, BUFFER means allocation from the
@@ -343,9 +340,8 @@ mem_validate_all_blocks(void);
 
 /*#######################################################################*/
 
-/* The info header of a block in a memory heap */
-
-struct mem_block_info_struct {
+/** The info structure stored at the beginning of a heap block */
+struct mem_block_info_t {
 	ulint	magic_n;/* magic number for debugging */
 	char	file_name[8];/* file name where the mem heap was created */
 	ulint	line;	/*!< line number where the mem heap was created */

=== modified file 'storage/innobase/include/mem0pool.h'
--- a/storage/innobase/include/mem0pool.h	revid:vasil.dimov@strippedom-20120829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/include/mem0pool.h	revid:marko.makela@stripped0074621-l9xz0lx5y467otb3
@@ -30,17 +30,14 @@ Created 6/9/1994 Heikki Tuuri
 #include "os0file.h"
 #include "ut0lst.h"
 
-/** Memory area header */
-typedef struct mem_area_struct	mem_area_t;
 /** Memory pool */
-typedef struct mem_pool_struct	mem_pool_t;
+struct mem_pool_t;
 
 /** The common memory pool */
 extern mem_pool_t*	mem_comm_pool;
 
 /** Memory area header */
-
-struct mem_area_struct{
+struct mem_area_t{
 	ulint		size_and_free;	/*!< memory area size is obtained by
 					anding with ~MEM_AREA_FREE; area in
 					a free list if ANDing with
@@ -50,7 +47,7 @@ struct mem_area_struct{
 };
 
 /** Each memory area takes this many extra bytes for control information */
-#define MEM_AREA_EXTRA_SIZE	(ut_calc_align(sizeof(struct mem_area_struct),\
+#define MEM_AREA_EXTRA_SIZE	(ut_calc_align(sizeof(struct mem_area_t),\
 			UNIV_MEM_ALIGNMENT))
 
 /********************************************************************//**

=== modified file 'storage/innobase/include/mtr0mtr.h'
--- a/storage/innobase/include/mtr0mtr.h	revid:vasil.dimov@strippedjky8v
+++ b/storage/innobase/include/mtr0mtr.h	revid:marko.makela@stripped
@@ -364,15 +364,14 @@ mtr_memo_push(
 	void*	object,	/*!< in: object */
 	ulint	type);	/*!< in: object type: MTR_MEMO_S_LOCK, ... */
 
-/* Type definition of a mini-transaction memo stack slot. */
-typedef	struct mtr_memo_slot_struct	mtr_memo_slot_t;
-struct mtr_memo_slot_struct{
+/** Mini-transaction memo stack slot. */
+struct mtr_memo_slot_t{
 	ulint	type;	/*!< type of the stored object (MTR_MEMO_S_LOCK, ...) */
 	void*	object;	/*!< pointer to the object */
 };
 
 /* Mini-transaction handle and buffer */
-struct mtr_struct{
+struct mtr_t{
 #ifdef UNIV_DEBUG
 	ulint		state;	/*!< MTR_ACTIVE, MTR_COMMITTING, MTR_COMMITTED */
 #endif

=== modified file 'storage/innobase/include/mtr0types.h'
--- a/storage/innobase/include/mtr0types.h	revid:vasil.dimov@stripped
+++ b/storage/innobase/include/mtr0types.h	revid:marko.makela@stripped
@@ -26,6 +26,6 @@ Created 11/26/1995 Heikki Tuuri
 #ifndef mtr0types_h
 #define mtr0types_h
 
-typedef struct mtr_struct	mtr_t;
+struct mtr_t;
 
 #endif

=== modified file 'storage/innobase/include/os0file.h'
--- a/storage/innobase/include/os0file.h	revid:vasil.dimov@strippedd2mmbin5gzgjky8v
+++ b/storage/innobase/include/os0file.h	revid:marko.makela@stripped7otb3
@@ -44,7 +44,7 @@ Created 10/21/1995 Heikki Tuuri
 #endif
 
 /** File node of a tablespace or the log data space */
-typedef	struct fil_node_struct	fil_node_t;
+struct fil_node_t;
 
 extern ibool	os_has_said_disk_full;
 /** Flag: enable debug printout for asynchronous i/o */
@@ -102,7 +102,7 @@ log. */
 #define OS_FILE_LOG_BLOCK_SIZE		512
 
 /** Options for os_file_create_func @{ */
-typedef enum os_file_create_enum {
+enum os_file_create_t {
 	OS_FILE_OPEN = 51,		/*!< to open an existing file (if
 					doesn't exist, error) */
 	OS_FILE_CREATE,			/*!< to create new file (if
@@ -122,7 +122,7 @@ typedef enum os_file_create_enum {
 					the log unless it is a fatal error,
 					this flag is only used if
 					ON_ERROR_NO_EXIT is set */
-} os_file_create_t;
+};
 
 #define OS_FILE_READ_ONLY		333
 #define	OS_FILE_READ_WRITE		444
@@ -345,13 +345,12 @@ to original un-instrumented file I/O API
 
 /* File types for directory entry data type */
 
-enum os_file_type_enum{
+enum os_file_type_t {
 	OS_FILE_TYPE_UNKNOWN = 0,
 	OS_FILE_TYPE_FILE,			/* regular file */
 	OS_FILE_TYPE_DIR,			/* directory */
 	OS_FILE_TYPE_LINK			/* symbolic link */
 };
-typedef enum os_file_type_enum	  os_file_type_t;
 
 /* Maximum path string length in bytes when referring to tables with in the
 './databasename/tablename.ibd' path format; we can allocate at least 2 buffers

=== modified file 'storage/innobase/include/os0sync.h'
--- a/storage/innobase/include/os0sync.h	revid:vasil.dimov@oracle.com-20120829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/include/os0sync.h	revid:marko.makela@stripped-20120830074621-l9xz0lx5y467otb3
@@ -54,22 +54,19 @@ typedef pthread_cond_t		os_cond_t;
 
 /** Structure that includes Performance Schema Probe pfs_psi
 in the os_fast_mutex structure if UNIV_PFS_MUTEX is defined */
-typedef struct os_fast_mutex_struct {
+struct os_fast_mutex_t {
 	fast_mutex_t		mutex;	/*!< os_fast_mutex */
 #ifdef UNIV_PFS_MUTEX
 	struct PSI_mutex*	pfs_psi;/*!< The performance schema
 					instrumentation hook */
 #endif
-} os_fast_mutex_t;
-
+};
 
-/** Operating system event */
-typedef struct os_event_struct	os_event_struct_t;
 /** Operating system event handle */
-typedef os_event_struct_t*	os_event_t;
+typedef struct os_event*	os_event_t;
 
 /** An asynchronous signal sent between threads */
-struct os_event_struct {
+struct os_event {
 #ifdef __WIN__
 	HANDLE		handle;		/*!< kernel event object, slow,
 					used on older Windows */
@@ -84,7 +81,7 @@ struct os_event_struct {
 					the event becomes signaled */
 	os_cond_t	cond_var;	/*!< condition variable is used in
 					waiting for the event */
-	UT_LIST_NODE_T(os_event_struct_t) os_event_list;
+	UT_LIST_NODE_T(os_event_t) os_event_list;
 					/*!< list of all created events */
 };
 
@@ -94,10 +91,8 @@ struct os_event_struct {
 /** Return value of os_event_wait_time() when the time is exceeded */
 #define OS_SYNC_TIME_EXCEEDED   1
 
-/** Operating system mutex */
-typedef struct os_mutex_struct	os_mutex_str_t;
 /** Operating system mutex handle */
-typedef os_mutex_str_t*		os_ib_mutex_t;
+typedef struct os_mutex_t*	os_ib_mutex_t;
 
 /** Mutex protecting counts and the event and OS 'slow' mutex lists */
 extern os_ib_mutex_t	os_sync_mutex;

=== modified file 'storage/innobase/include/page0cur.h'
--- a/storage/innobase/include/page0cur.h	revid:vasil.dimov@stripped20120829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/include/page0cur.h	revid:marko.makela@stripped4621-l9xz0lx5y467otb3
@@ -352,7 +352,7 @@ page_delete_rec(
 
 /** Index page cursor */
 
-struct page_cur_struct{
+struct page_cur_t{
 	byte*		rec;	/*!< pointer to a record on page */
 	buf_block_t*	block;	/*!< pointer to the block containing rec */
 };

=== modified file 'storage/innobase/include/page0types.h'
--- a/storage/innobase/include/page0types.h	revid:vasil.dimov@stripped4-d2mmbin5gzgjky8v
+++ b/storage/innobase/include/page0types.h	revid:marko.makela@strippedx5y467otb3
@@ -35,12 +35,12 @@ Created 2/2/1994 Heikki Tuuri
 /** Type of the index page */
 typedef	byte		page_t;
 /** Index page cursor */
-typedef struct page_cur_struct	page_cur_t;
+struct page_cur_t;
 
 /** Compressed index page */
 typedef byte				page_zip_t;
 /** Compressed page descriptor */
-typedef struct page_zip_des_struct	page_zip_des_t;
+struct page_zip_des_t;
 
 /* The following definitions would better belong to page0zip.h,
 but we cannot include page0zip.h from rem0rec.ic, because
@@ -60,7 +60,7 @@ ssize, which is the number of shifts fro
 #endif
 
 /** Compressed page descriptor */
-struct page_zip_des_struct
+struct page_zip_des_t
 {
 	page_zip_t*	data;		/*!< compressed page data */
 
@@ -82,7 +82,7 @@ struct page_zip_des_struct
 };
 
 /** Compression statistics for a given page size */
-struct page_zip_stat_struct {
+struct page_zip_stat_t {
 	/** Number of page compressions */
 	ulint		compressed;
 	/** Number of successful page compressions */
@@ -95,10 +95,7 @@ struct page_zip_stat_struct {
 	ib_uint64_t	decompressed_usec;
 };
 
-/** Compression statistics */
-typedef struct page_zip_stat_struct page_zip_stat_t;
-
-/** Statistics on compression, indexed by page_zip_des_struct::ssize - 1 */
+/** Statistics on compression, indexed by page_zip_des_t::ssize - 1 */
 extern page_zip_stat_t page_zip_stat[PAGE_ZIP_SSIZE_MAX];
 
 /**********************************************************************//**

=== modified file 'storage/innobase/include/pars0pars.h'
--- a/storage/innobase/include/pars0pars.h	revid:vasil.dimov@strippedzgjky8v
+++ b/storage/innobase/include/pars0pars.h	revid:marko.makela@stripped
@@ -668,7 +668,7 @@ pars_lexer_close(void);
 /*==================*/
 
 /** Extra information supplied for pars_sql(). */
-struct pars_info_struct {
+struct pars_info_t {
 	mem_heap_t*	heap;		/*!< our own memory heap */
 
 	ib_vector_t*	funcs;		/*!< user functions, or NUll
@@ -683,14 +683,14 @@ struct pars_info_struct {
 };
 
 /** User-supplied function and argument. */
-struct pars_user_func_struct {
+struct pars_user_func_t {
 	const char*		name;	/*!< function name */
 	pars_user_func_cb_t	func;	/*!< function address */
 	void*			arg;	/*!< user-supplied argument */
 };
 
 /** Bound literal. */
-struct pars_bound_lit_struct {
+struct pars_bound_lit_t {
 	const char*	name;		/*!< name */
 	const void*	address;	/*!< address */
 	ulint		length;		/*!< length of data */
@@ -700,20 +700,20 @@ struct pars_bound_lit_struct {
 };
 
 /** Bound identifier. */
-struct pars_bound_id_struct {
+struct pars_bound_id_t {
 	const char*	name;		/*!< name */
 	const char*	id;		/*!< identifier */
 };
 
 /** Struct used to denote a reserved word in a parsing tree */
-struct pars_res_word_struct{
+struct pars_res_word_t{
 	int	code;	/*!< the token code for the reserved word from
 			pars0grm.h */
 };
 
 /** A predefined function or operator node in a parsing tree; this construct
 is also used for some non-functions like the assignment ':=' */
-struct func_node_struct{
+struct func_node_t{
 	que_common_t	common;	/*!< type: QUE_NODE_FUNC */
 	int		func;	/*!< token code of the function name */
 	ulint		fclass;	/*!< class of the function */
@@ -728,14 +728,14 @@ struct func_node_struct{
 };
 
 /** An order-by node in a select */
-struct order_node_struct{
+struct order_node_t{
 	que_common_t	common;	/*!< type: QUE_NODE_ORDER */
 	sym_node_t*	column;	/*!< order-by column */
 	ibool		asc;	/*!< TRUE if ascending, FALSE if descending */
 };
 
 /** Procedure definition node */
-struct proc_node_struct{
+struct proc_node_t{
 	que_common_t	common;		/*!< type: QUE_NODE_PROC */
 	sym_node_t*	proc_id;	/*!< procedure name symbol in the symbol
 					table of this same procedure */
@@ -745,14 +745,14 @@ struct proc_node_struct{
 };
 
 /** elsif-element node */
-struct elsif_node_struct{
+struct elsif_node_t{
 	que_common_t	common;		/*!< type: QUE_NODE_ELSIF */
 	que_node_t*	cond;		/*!< if condition */
 	que_node_t*	stat_list;	/*!< statement list */
 };
 
 /** if-statement node */
-struct if_node_struct{
+struct if_node_t{
 	que_common_t	common;		/*!< type: QUE_NODE_IF */
 	que_node_t*	cond;		/*!< if condition */
 	que_node_t*	stat_list;	/*!< statement list */
@@ -761,14 +761,14 @@ struct if_node_struct{
 };
 
 /** while-statement node */
-struct while_node_struct{
+struct while_node_t{
 	que_common_t	common;		/*!< type: QUE_NODE_WHILE */
 	que_node_t*	cond;		/*!< while condition */
 	que_node_t*	stat_list;	/*!< statement list */
 };
 
 /** for-loop-statement node */
-struct for_node_struct{
+struct for_node_t{
 	que_common_t	common;		/*!< type: QUE_NODE_FOR */
 	sym_node_t*	loop_var;	/*!< loop variable: this is the
 					dereferenced symbol from the
@@ -785,24 +785,24 @@ struct for_node_struct{
 };
 
 /** exit statement node */
-struct exit_node_struct{
+struct exit_node_t{
 	que_common_t	common;		/*!< type: QUE_NODE_EXIT */
 };
 
 /** return-statement node */
-struct return_node_struct{
+struct return_node_t{
 	que_common_t	common;		/*!< type: QUE_NODE_RETURN */
 };
 
 /** Assignment statement node */
-struct assign_node_struct{
+struct assign_node_t{
 	que_common_t	common;		/*!< type: QUE_NODE_ASSIGNMENT */
 	sym_node_t*	var;		/*!< variable to set */
 	que_node_t*	val;		/*!< value to assign */
 };
 
 /** Column assignment node */
-struct col_assign_node_struct{
+struct col_assign_node_t{
 	que_common_t	common;		/*!< type: QUE_NODE_COL_ASSIGN */
 	sym_node_t*	col;		/*!< column to set */
 	que_node_t*	val;		/*!< value to assign */

=== modified file 'storage/innobase/include/pars0sym.h'
--- a/storage/innobase/include/pars0sym.h	revid:vasil.dimov@stripped120829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/include/pars0sym.h	revid:marko.makela@stripped21-l9xz0lx5y467otb3
@@ -119,9 +119,9 @@ sym_tab_add_bound_id(
 	sym_tab_t*	sym_tab,	/*!< in: symbol table */
 	const char*	name);		/*!< in: name of bound id */
 
-/** Index of sym_node_struct::field_nos corresponding to the clustered index */
+/** Index of sym_node_t::field_nos corresponding to the clustered index */
 #define	SYM_CLUST_FIELD_NO	0
-/** Index of sym_node_struct::field_nos corresponding to a secondary index */
+/** Index of sym_node_t::field_nos corresponding to a secondary index */
 #define	SYM_SEC_FIELD_NO	1
 
 /** Types of a symbol table node */
@@ -143,7 +143,7 @@ enum sym_tab_entry {
 };
 
 /** Symbol table node */
-struct sym_node_struct{
+struct sym_node_t{
 	que_common_t			common;		/*!< node type:
 							QUE_NODE_SYMBOL */
 	/* NOTE: if the data field in 'common.val' is not NULL and the symbol
@@ -227,7 +227,7 @@ struct sym_node_struct{
 };
 
 /** Symbol table */
-struct sym_tab_struct{
+struct sym_tab_t{
 	que_t*			query_graph;
 					/*!< query graph generated by the
 					parser */

=== modified file 'storage/innobase/include/pars0types.h'
--- a/storage/innobase/include/pars0types.h	revid:vasil.dimov@stripped
+++ b/storage/innobase/include/pars0types.h	revid:marko.makela@oracle.com-20120830074621-l9xz0lx5y467otb3
@@ -26,24 +26,24 @@ Created 1/11/1998 Heikki Tuuri
 #ifndef pars0types_h
 #define pars0types_h
 
-typedef struct pars_info_struct		pars_info_t;
-typedef struct pars_user_func_struct	pars_user_func_t;
-typedef struct pars_bound_lit_struct	pars_bound_lit_t;
-typedef struct pars_bound_id_struct	pars_bound_id_t;
-typedef struct sym_node_struct		sym_node_t;
-typedef struct sym_tab_struct		sym_tab_t;
-typedef struct pars_res_word_struct	pars_res_word_t;
-typedef struct func_node_struct		func_node_t;
-typedef struct order_node_struct	order_node_t;
-typedef struct proc_node_struct		proc_node_t;
-typedef struct elsif_node_struct	elsif_node_t;
-typedef struct if_node_struct		if_node_t;
-typedef struct while_node_struct	while_node_t;
-typedef struct for_node_struct		for_node_t;
-typedef struct exit_node_struct		exit_node_t;
-typedef struct return_node_struct	return_node_t;
-typedef struct assign_node_struct	assign_node_t;
-typedef struct col_assign_node_struct	col_assign_node_t;
+struct pars_info_t;
+struct pars_user_func_t;
+struct pars_bound_lit_t;
+struct pars_bound_id_t;
+struct sym_node_t;
+struct sym_tab_t;
+struct pars_res_word_t;
+struct func_node_t;
+struct order_node_t;
+struct proc_node_t;
+struct elsif_node_t;
+struct if_node_t;
+struct while_node_t;
+struct for_node_t;
+struct exit_node_t;
+struct return_node_t;
+struct assign_node_t;
+struct col_assign_node_t;
 
 typedef UT_LIST_BASE_NODE_T(sym_node_t)	sym_node_list_t;
 

=== modified file 'storage/innobase/include/que0que.h'
--- a/storage/innobase/include/que0que.h	revid:vasil.dimov@stripped
+++ b/storage/innobase/include/que0que.h	revid:marko.makela@oracle.com-20120830074621-l9xz0lx5y467otb3
@@ -349,7 +349,7 @@ que_close(void);
 /* Query graph query thread node: the fields are protected by the
 trx_t::mutex with the exceptions named below */
 
-struct que_thr_struct{
+struct que_thr_t{
 	que_common_t	common;		/*!< type: QUE_NODE_THR */
 	ulint		magic_n;	/*!< magic number to catch memory
 					corruption */
@@ -374,7 +374,7 @@ struct que_thr_struct{
 					thus far */
 	ulint		lock_state;	/*!< lock state of thread (table or
 					row) */
-	struct srv_slot_struct*
+	struct srv_slot_t*
 			slot;		/* The thread slot in the wait
 					array in srv_sys_t */
 	/*------------------------------*/
@@ -398,7 +398,7 @@ struct que_thr_struct{
 #define QUE_THR_MAGIC_FREED	123461526
 
 /* Query graph fork node: its fields are protected by the query thread mutex */
-struct que_fork_struct{
+struct que_fork_t{
 	que_common_t	common;		/*!< type: QUE_NODE_FORK */
 	que_t*		graph;		/*!< query graph of this node */
 	ulint		fork_type;	/*!< fork type */

=== modified file 'storage/innobase/include/que0types.h'
--- a/storage/innobase/include/que0types.h	revid:vasil.dimov@strippedd2mmbin5gzgjky8v
+++ b/storage/innobase/include/que0types.h	revid:marko.makela@stripped467otb3
@@ -32,18 +32,15 @@ Created 5/27/1996 Heikki Tuuri
 /* Pseudotype for all graph nodes */
 typedef void	que_node_t;
 
-typedef struct que_fork_struct	que_fork_t;
-
 /* Query graph root is a fork node */
-typedef	que_fork_t	que_t;
+typedef	struct que_fork_t	que_t;
 
-typedef struct que_thr_struct		que_thr_t;
-typedef struct que_common_struct	que_common_t;
+struct que_thr_t;
 
 /* Common struct at the beginning of each query graph node; the name of this
 substruct must be 'common' */
 
-struct que_common_struct{
+struct que_common_t{
 	ulint		type;	/*!< query node type */
 	que_node_t*	parent;	/*!< back pointer to parent node, or NULL */
 	que_node_t*	brother;/* pointer to a possible brother node */

=== modified file 'storage/innobase/include/read0read.h'
--- a/storage/innobase/include/read0read.h	revid:vasil.dimov@stripped824-d2mmbin5gzgjky8v
+++ b/storage/innobase/include/read0read.h	revid:marko.makela@strippedlx5y467otb3
@@ -122,7 +122,7 @@ read_cursor_set_for_mysql(
 /** Read view lists the trx ids of those transactions for which a consistent
 read should not see the modifications to the database. */
 
-struct read_view_struct{
+struct read_view_t{
 	ulint		type;	/*!< VIEW_NORMAL, VIEW_HIGH_GRANULARITY */
 	undo_no_t	undo_no;/*!< 0 or if type is
 				VIEW_HIGH_GRANULARITY
@@ -176,7 +176,7 @@ struct read_view_struct{
 cursors. This struct holds both heap where consistent read view
 is allocated and pointer to a read view. */
 
-struct cursor_view_struct{
+struct cursor_view_t{
 	mem_heap_t*	heap;
 				/*!< Memory heap for the cursor view */
 	read_view_t*	read_view;

=== modified file 'storage/innobase/include/read0types.h'
--- a/storage/innobase/include/read0types.h	revid:vasil.dimov@oracle.com-20120829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/include/read0types.h	revid:marko.makela@stripped0830074621-l9xz0lx5y467otb3
@@ -26,7 +26,7 @@ Created 2/16/1997 Heikki Tuuri
 #ifndef read0types_h
 #define read0types_h
 
-typedef struct read_view_struct	read_view_t;
-typedef struct cursor_view_struct	cursor_view_t;
+struct read_view_t;
+struct cursor_view_t;
 
 #endif

=== modified file 'storage/innobase/include/row0ext.h'
--- a/storage/innobase/include/row0ext.h	revid:vasil.dimov@stripped20120829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/include/row0ext.h	revid:marko.makela@stripped621-l9xz0lx5y467otb3
@@ -84,7 +84,7 @@ row_ext_lookup(
 					DICT_MAX_FIELD_LEN_BY_FORMAT() */
 
 /** Prefixes of externally stored columns */
-struct row_ext_struct{
+struct row_ext_t{
 	ulint		n_ext;	/*!< number of externally stored columns */
 	const ulint*	ext;	/*!< col_no's of externally stored columns */
 	byte*		buf;	/*!< backing store of the column prefix cache */

=== modified file 'storage/innobase/include/row0import.h'
--- a/storage/innobase/include/row0import.h	revid:vasil.dimov@stripped29163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/include/row0import.h	revid:marko.makela@stripped-l9xz0lx5y467otb3
@@ -31,9 +31,9 @@ Created 2012-02-08 by Sunny Bains
 #include "dict0types.h"
 
 // Forward declarations
-struct trx_struct;
-struct dict_table_struct;
-struct row_prebuilt_struct;
+struct trx_t;
+struct dict_table_t;
+struct row_prebuilt_t;
 
 /*****************************************************************//**
 Imports a tablespace. The space id in the .ibd file must match the space id
@@ -43,8 +43,8 @@ UNIV_INTERN
 dberr_t
 row_import_for_mysql(
 /*=================*/
-	dict_table_struct*	table,		/*!< in/out: table */
-	row_prebuilt_struct*	prebuilt)	/*!< in: prebuilt struct
+	dict_table_t*	table,		/*!< in/out: table */
+	row_prebuilt_t*	prebuilt)	/*!< in: prebuilt struct
 						in MySQL */
 	__attribute__((nonnull, warn_unused_result));
 
@@ -55,7 +55,7 @@ UNIV_INTERN
 dberr_t
 row_import_update_discarded_flag(
 /*=============================*/
-	trx_struct*	trx,			/*!< in/out: transaction that
+	trx_t*		trx,			/*!< in/out: transaction that
 						covers the update */
 	table_id_t	table_id,		/*!< in: Table for which we want
 						to set the root table->flags2 */
@@ -74,9 +74,9 @@ UNIV_INTERN
 dberr_t
 row_import_update_index_root(
 /*=========================*/
-	trx_struct*		trx,		/*!< in/out: transaction that
+	trx_t*			trx,		/*!< in/out: transaction that
 						covers the update */
-	const dict_table_struct*table,		/*!< in: Table for which we want
+	const dict_table_t*	table,		/*!< in: Table for which we want
 						to set the root page_no */
 	bool			reset,		/*!< in: if true then set to
 						FIL_NUL */

=== modified file 'storage/innobase/include/row0ins.h'
--- a/storage/innobase/include/row0ins.h	revid:vasil.dimov@strippedgjky8v
+++ b/storage/innobase/include/row0ins.h	revid:marko.makela@stripped
@@ -189,7 +189,7 @@ row_ins_step(
 
 /* Insert node structure */
 
-struct ins_node_struct{
+struct ins_node_t{
 	que_common_t	common;	/*!< node type: QUE_NODE_INSERT */
 	ulint		ins_type;/* INS_VALUES, INS_SEARCHED, or INS_DIRECT */
 	dtuple_t*	row;	/*!< row to insert */

=== modified file 'storage/innobase/include/row0merge.h'
--- a/storage/innobase/include/row0merge.h	revid:vasil.dimov@stripped20120829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/include/row0merge.h	revid:marko.makela@stripped74621-l9xz0lx5y467otb3
@@ -73,7 +73,7 @@ struct mtuple_t {
 };
 
 /** Buffer for sorting in main memory. */
-struct row_merge_buf_struct {
+struct row_merge_buf_t {
 	mem_heap_t*	heap;		/*!< memory heap where allocated */
 	dict_index_t*	index;		/*!< the index the tuples belong to */
 	ulint		total_size;	/*!< total amount of data bytes */
@@ -84,44 +84,31 @@ struct row_merge_buf_struct {
 					for sorting */
 };
 
-/** Buffer for sorting in main memory. */
-typedef struct row_merge_buf_struct	row_merge_buf_t;
-
 /** Information about temporary files used in merge sort */
-struct merge_file_struct {
+struct merge_file_t {
 	int		fd;		/*!< file descriptor */
 	ulint		offset;		/*!< file offset (end of file) */
 	ib_uint64_t	n_rec;		/*!< number of records in the file */
 };
 
-/** Information about temporary files used in merge sort */
-typedef struct merge_file_struct	merge_file_t;
-
 /** Index field definition */
-struct merge_index_field_struct {
+struct index_field_t {
 	ulint		col_no;		/*!< column offset */
 	ulint		prefix_len;	/*!< column prefix length, or 0
 					if indexing the whole column */
 };
 
-/** Index field definition */
-typedef struct merge_index_field_struct	merge_index_field_t;
-
 /** Definition of an index being created */
-struct merge_index_def_struct {
-	const char*		name;		/*!< index name */
-	ulint			ind_type;	/*!< 0, DICT_UNIQUE,
-						or DICT_CLUSTERED */
-	ulint			key_number;	/*!< MySQL key number,
-						or ULINT_UNDEFINED if none */
-	ulint			n_fields;	/*!< number of fields
-						in index */
-	merge_index_field_t*	fields;		/*!< field definitions */
+struct index_def_t {
+	const char*	name;		/*!< index name */
+	ulint		ind_type;	/*!< 0, DICT_UNIQUE,
+					or DICT_CLUSTERED */
+	ulint		key_number;	/*!< MySQL key number,
+					or ULINT_UNDEFINED if none */
+	ulint		n_fields;	/*!< number of fields in index */
+	index_field_t*	fields;		/*!< field definitions */
 };
 
-/** Definition of an index being created */
-typedef struct merge_index_def_struct	merge_index_def_t;
-
 /** Structure for reporting duplicate records. */
 struct row_merge_dup_t {
 	dict_index_t*		index;	/*!< index being sorted */
@@ -264,7 +251,7 @@ row_merge_create_index(
 /*===================*/
 	trx_t*			trx,	/*!< in/out: trx (sets error_state) */
 	dict_table_t*		table,	/*!< in: the index is on this table */
-	const merge_index_def_t*index_def);
+	const index_def_t*	index_def);
 					/*!< in: the index definition */
 /*********************************************************************//**
 Check if a transaction can use an index.

=== modified file 'storage/innobase/include/row0mysql.h'
--- a/storage/innobase/include/row0mysql.h	revid:vasil.dimov@stripped
+++ b/storage/innobase/include/row0mysql.h	revid:marko.makela@stripped
@@ -41,7 +41,7 @@ struct SysIndexCallback;
 
 extern ibool row_rollback_on_timeout;
 
-typedef struct row_prebuilt_struct row_prebuilt_t;
+struct row_prebuilt_t;
 
 /*******************************************************************//**
 Frees the blob heap in prebuilt when no longer needed. */
@@ -588,8 +588,7 @@ row format which is presented to the tab
 This template struct is used to speed up row transformations between
 Innobase and MySQL. */
 
-typedef struct mysql_row_templ_struct mysql_row_templ_t;
-struct mysql_row_templ_struct {
+struct mysql_row_templ_t {
 	ulint	col_no;			/*!< column number of the column */
 	ulint	rec_field_no;		/*!< field number of the column in an
 					Innobase record in the current index;
@@ -644,7 +643,7 @@ struct mysql_row_templ_struct {
 /** A struct for (sometimes lazily) prebuilt structures in an Innobase table
 handle used within MySQL; these are used to save CPU time. */
 
-struct row_prebuilt_struct {
+struct row_prebuilt_t {
 	ulint		magic_n;	/*!< this magic number is set to
 					ROW_PREBUILT_ALLOCATED when created,
 					or ROW_PREBUILT_FREED when the

=== modified file 'storage/innobase/include/row0purge.h'
--- a/storage/innobase/include/row0purge.h	revid:vasil.dimov@strippedn5gzgjky8v
+++ b/storage/innobase/include/row0purge.h	revid:marko.makela@stripped3
@@ -84,7 +84,7 @@ row_purge_step(
 
 /* Purge node structure */
 
-struct purge_node_struct{
+struct purge_node_t{
 	que_common_t	common;	/*!< node type: QUE_NODE_PURGE */
 	/*----------------------*/
 	/* Local storage for this graph node */

=== modified file 'storage/innobase/include/row0quiesce.h'
--- a/storage/innobase/include/row0quiesce.h	revid:vasil.dimov@strippedin5gzgjky8v
+++ b/storage/innobase/include/row0quiesce.h	revid:marko.makela@strippedotb3
@@ -30,7 +30,7 @@ Created 2012-02-08 by Sunny Bains
 #include "univ.i"
 #include "dict0types.h"
 
-struct trx_struct;
+struct trx_t;
 
 /** The version number of the export meta-data text file. */
 #define IB_EXPORT_CFG_VERSION_V1	0x1UL
@@ -42,7 +42,7 @@ void
 row_quiesce_table_start(
 /*====================*/
 	dict_table_t*	table,		/*!< in: quiesce this table */
-	trx_struct*	trx)		/*!< in/out: transaction/session */
+	trx_t*		trx)		/*!< in/out: transaction/session */
         __attribute__((nonnull));
 
 /*********************************************************************//**
@@ -54,7 +54,7 @@ row_quiesce_set_state(
 /*==================*/
 	dict_table_t*	table,		/*!< in: quiesce this table */
 	ib_quiesce_t	state,		/*!< in: quiesce state to set */
-	trx_struct*	trx)		/*!< in/out: transaction */
+	trx_t*		trx)		/*!< in/out: transaction */
         __attribute__((nonnull, warn_unused_result));
 
 /*********************************************************************//**
@@ -64,7 +64,7 @@ void
 row_quiesce_table_complete(
 /*=======================*/
 	dict_table_t*	table,		/*!< in: quiesce this table */
-	trx_struct*	trx)		/*!< in/out: transaction/session */
+	trx_t*		trx)		/*!< in/out: transaction/session */
         __attribute__((nonnull));
 
 #ifndef UNIV_NONINL

=== modified file 'storage/innobase/include/row0sel.h'
--- a/storage/innobase/include/row0sel.h	revid:vasil.dimov@stripped20829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/include/row0sel.h	revid:marko.makela@stripped-l9xz0lx5y467otb3
@@ -202,7 +202,7 @@ row_search_max_autoinc(
 	__attribute__((nonnull, warn_unused_result));
 
 /** A structure for caching column values for prefetched rows */
-struct sel_buf_struct{
+struct sel_buf_t{
 	byte*		data;	/*!< data, or NULL; if not NULL, this field
 				has allocated memory which must be explicitly
 				freed; can be != NULL even when len is
@@ -215,7 +215,7 @@ struct sel_buf_struct{
 };
 
 /** Query plan */
-struct plan_struct{
+struct plan_t{
 	dict_table_t*	table;		/*!< table struct in the dictionary
 					cache */
 	dict_index_t*	index;		/*!< table index used in the search */
@@ -301,7 +301,7 @@ enum sel_node_state {
 };
 
 /** Select statement node */
-struct sel_node_struct{
+struct sel_node_t{
 	que_common_t	common;		/*!< node type: QUE_NODE_SELECT */
 	enum sel_node_state
 			state;	/*!< node state */
@@ -354,7 +354,7 @@ struct sel_node_struct{
 };
 
 /** Fetch statement node */
-struct fetch_node_struct{
+struct fetch_node_t{
 	que_common_t	common;		/*!< type: QUE_NODE_FETCH */
 	sel_node_t*	cursor_def;	/*!< cursor definition */
 	sym_node_t*	into_list;	/*!< variables to set */
@@ -381,7 +381,7 @@ enum open_node_op {
 };
 
 /** Open or close cursor statement node */
-struct open_node_struct{
+struct open_node_t{
 	que_common_t	common;		/*!< type: QUE_NODE_OPEN */
 	enum open_node_op
 			op_type;	/*!< operation type: open or
@@ -390,7 +390,7 @@ struct open_node_struct{
 };
 
 /** Row printf statement node */
-struct row_printf_node_struct{
+struct row_printf_node_t{
 	que_common_t	common;		/*!< type: QUE_NODE_ROW_PRINTF */
 	sel_node_t*	sel_node;	/*!< select */
 };

=== modified file 'storage/innobase/include/row0types.h'
--- a/storage/innobase/include/row0types.h	revid:vasil.dimov@stripped29163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/include/row0types.h	revid:marko.makela@strippedl9xz0lx5y467otb3
@@ -26,32 +26,25 @@ Created 12/27/1996 Heikki Tuuri
 #ifndef row0types_h
 #define row0types_h
 
-typedef struct plan_struct plan_t;
+struct plan_t;
 
-typedef	struct upd_struct upd_t;
+struct upd_t;
+struct upd_field_t;
+struct upd_node_t;
+struct del_node_t;
+struct ins_node_t;
+struct sel_node_t;
+struct open_node_t;
+struct fetch_node_t;
 
-typedef struct upd_field_struct upd_field_t;
+struct row_printf_node_t;
+struct sel_buf_t;
 
-typedef	struct upd_node_struct upd_node_t;
+struct undo_node_t;
 
-typedef	struct del_node_struct del_node_t;
+struct purge_node_t;
 
-typedef	struct ins_node_struct ins_node_t;
-
-typedef struct sel_node_struct	sel_node_t;
-
-typedef struct open_node_struct	open_node_t;
-
-typedef struct fetch_node_struct fetch_node_t;
-
-typedef struct row_printf_node_struct	row_printf_node_t;
-typedef struct sel_buf_struct	sel_buf_t;
-
-typedef	struct undo_node_struct undo_node_t;
-
-typedef	struct purge_node_struct purge_node_t;
-
-typedef struct row_ext_struct row_ext_t;
+struct row_ext_t;
 
 /** Index record modification operations during online index creation */
 enum row_op {

=== modified file 'storage/innobase/include/row0undo.h'
--- a/storage/innobase/include/row0undo.h	revid:vasil.dimov@oracle.com-20120829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/include/row0undo.h	revid:marko.makela@stripped20830074621-l9xz0lx5y467otb3
@@ -99,7 +99,7 @@ enum undo_exec {
 };
 
 /** Undo node structure */
-struct undo_node_struct{
+struct undo_node_t{
 	que_common_t	common;	/*!< node type: QUE_NODE_UNDO */
 	enum undo_exec	state;	/*!< node execution state */
 	trx_t*		trx;	/*!< trx for which undo is done */

=== modified file 'storage/innobase/include/row0upd.h'
--- a/storage/innobase/include/row0upd.h	revid:vasil.dimov@strippedjky8v
+++ b/storage/innobase/include/row0upd.h	revid:marko.makela@stripped
@@ -392,7 +392,7 @@ row_upd_index_parse(
 
 
 /* Update vector field */
-struct upd_field_struct{
+struct upd_field_t{
 	unsigned	field_no:16;	/*!< field number in an index, usually
 					the clustered index, but in updating
 					a secondary index record in btr0cur.cc
@@ -411,7 +411,7 @@ struct upd_field_struct{
 };
 
 /* Update vector structure */
-struct upd_struct{
+struct upd_t{
 	ulint		info_bits;	/*!< new value of info bits to record;
 					default is 0 */
 	ulint		n_fields;	/*!< number of update fields */
@@ -422,7 +422,7 @@ struct upd_struct{
 /* Update node structure which also implements the delete operation
 of a row */
 
-struct upd_node_struct{
+struct upd_node_t{
 	que_common_t	common;	/*!< node type: QUE_NODE_UPDATE */
 	ibool		is_delete;/* TRUE if delete, FALSE if update */
 	ibool		searched_update;

=== modified file 'storage/innobase/include/srv0mon.h'
--- a/storage/innobase/include/srv0mon.h	revid:vasil.dimov@strippedin5gzgjky8v
+++ b/storage/innobase/include/srv0mon.h	revid:marko.makela@stripped
@@ -56,7 +56,7 @@ fill in counter information as described
 create the internal counter ID in "monitor_id_t". */
 
 /** Structure containing the actual values of a monitor counter. */
-struct monitor_value_struct {
+struct monitor_value_t {
 	ib_time_t	mon_start_time;	/*!< Start time of monitoring  */
 	ib_time_t	mon_stop_time;	/*!< Stop time of monitoring */
 	ib_time_t	mon_reset_time;	/*!< Time counter resetted */
@@ -71,11 +71,9 @@ struct monitor_value_struct {
 	monitor_running_t mon_status;	/* whether monitor still running */
 };
 
-typedef struct monitor_value_struct	monitor_value_t;
-
 /** Follwoing defines are possible values for "monitor_type" field in
 "struct monitor_info" */
-enum monitor_type_value {
+enum monitor_type_t {
 	MONITOR_NONE = 0,	/*!< No monitoring */
 	MONITOR_MODULE = 1,	/*!< This is a monitor module type,
 				not a counter */
@@ -98,8 +96,6 @@ enum monitor_type_value {
 				metrics table */
 };
 
-typedef enum monitor_type_value	monitor_type_t;
-
 /** Counter minimum value is initialized to be max value of
  mon_type_t (ib_int64_t) */
 #define	MIN_RESERVED		((mon_type_t) (IB_ULONGLONG_MAX >> 1))
@@ -118,7 +114,7 @@ name shall start with MONITOR_OVLD
 Please refer to "innodb_counter_info" in srv/srv0mon.cc for detail
 information for each monitor counter */
 
-enum monitor_id_value {
+enum monitor_id_t {
 	/* This is to identify the default value set by the metrics
 	control global variables */
 	MONITOR_DEFAULT_START = 0,
@@ -388,8 +384,6 @@ enum monitor_id_value {
 	NUM_MONITOR
 };
 
-typedef enum monitor_id_value		monitor_id_t;
-
 /** This informs the monitor control system to turn
 on/off and reset monitor counters through wild card match */
 #define	MONITOR_WILDCARD_MATCH		(NUM_MONITOR + 1)
@@ -399,7 +393,7 @@ on/off and reset monitor counters throug
 
 /** struct monitor_info describes the basic/static information
 about each monitor counter. */
-struct monitor_info_struct {
+struct monitor_info_t {
 	const char*	monitor_name;	/*!< Monitor name */
 	const char*	monitor_module;	/*!< Sub Module the monitor
 					belongs to */
@@ -413,12 +407,10 @@ struct monitor_info_struct {
 					monitor_id_t */
 };
 
-typedef struct monitor_info_struct	monitor_info_t;
-
 /** Following are the "set_option" values allowed for
 srv_mon_process_existing_counter() and srv_mon_process_existing_counter()
 functions. To turn on/off/reset the monitor counters. */
-enum mon_set_option {
+enum mon_option_t {
 	MONITOR_TURN_ON = 1,		/*!< Turn on the counter */
 	MONITOR_TURN_OFF,		/*!< Turn off the counter */
 	MONITOR_RESET_VALUE,		/*!< Reset current values */
@@ -428,8 +420,6 @@ enum mon_set_option {
 					function */
 };
 
-typedef enum mon_set_option		mon_option_t;
-
 /** Number of bit in a ulint datatype */
 #define	NUM_BITS_ULINT	(sizeof(ulint) * CHAR_BIT)
 

=== modified file 'storage/innobase/include/srv0srv.h'
--- a/storage/innobase/include/srv0srv.h	revid:vasil.dimov@strippedd2mmbin5gzgjky8v
+++ b/storage/innobase/include/srv0srv.h	revid:marko.makela@stripped7otb3
@@ -424,16 +424,7 @@ extern ulong srv_sync_array_size;
 extern my_bool srv_print_all_deadlocks;
 
 /** Status variables to be passed to MySQL */
-typedef struct export_var_struct export_struc;
-
-/** Thread slot in the thread table */
-typedef struct srv_slot_struct	srv_slot_t;
-
-/** Thread table is an array of slots */
-typedef srv_slot_t	srv_table_t;
-
-/** Status variables to be passed to MySQL */
-extern export_struc export_vars;
+extern struct export_var_t export_vars;
 
 /** Global counters */
 extern srv_stats_t	srv_stats;
@@ -768,7 +759,7 @@ srv_purge_wakeup(void);
 /*==================*/
 
 /** Status variables to be passed to MySQL */
-struct export_var_struct{
+struct export_var_t{
 	ulint innodb_data_pending_reads;	/*!< Pending reads */
 	ulint innodb_data_pending_writes;	/*!< Pending writes */
 	ulint innodb_data_pending_fsyncs;	/*!< Pending fsyncs */
@@ -828,7 +819,7 @@ struct export_var_struct{
 };
 
 /** Thread slot in the thread table.  */
-struct srv_slot_struct{
+struct srv_slot_t{
 	srv_thread_type type;			/*!< thread type: user,
 						utility etc. */
 	ibool		in_use;			/*!< TRUE if this slot

=== modified file 'storage/innobase/include/sync0arr.h'
--- a/storage/innobase/include/sync0arr.h	revid:vasil.dimov@oracle.com-20120829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/include/sync0arr.h	revid:marko.makela@strippedm-20120830074621-l9xz0lx5y467otb3
@@ -32,9 +32,9 @@ Created 9/5/1995 Heikki Tuuri
 #include "os0thread.h"
 
 /** Synchronization wait array cell */
-typedef struct sync_cell_struct		sync_cell_t;
+struct sync_cell_t;
 /** Synchronization wait array */
-typedef struct sync_array_struct	sync_array_t;
+struct sync_array_t;
 
 /******************************************************************//**
 Reserves a wait array cell for waiting for an object.

=== modified file 'storage/innobase/include/sync0rw.h'
--- a/storage/innobase/include/sync0rw.h	revid:vasil.dimov@oracle.com-20120829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/include/sync0rw.h	revid:marko.makela@stripped0830074621-l9xz0lx5y467otb3
@@ -95,9 +95,9 @@ of concurrent read locks before the rw_l
 0x00100000 allows 1,048,575 concurrent readers and 2047 recursive writers.*/
 #define X_LOCK_DECR		0x00100000
 
-typedef struct rw_lock_struct		rw_lock_t;
+struct rw_lock_t;
 #ifdef UNIV_SYNC_DEBUG
-typedef struct rw_lock_debug_struct	rw_lock_debug_t;
+struct rw_lock_debug_t;
 #endif /* UNIV_SYNC_DEBUG */
 
 typedef UT_LIST_BASE_NODE_T(rw_lock_t)	rw_lock_list_t;
@@ -568,7 +568,7 @@ shared locks are allowed. To prevent sta
 readers, a writer may queue for x-lock by decrementing lock_word: no
 new readers will be let in while the thread waits for readers to
 exit. */
-struct rw_lock_struct {
+struct rw_lock_t {
 	volatile lint	lock_word;
 				/*!< Holds the state of the lock. */
 	volatile ulint	waiters;/*!< 1: there are waiters */
@@ -593,7 +593,7 @@ struct rw_lock_struct {
 				/*!< Event for next-writer to wait on. A thread
 				must decrement lock_word before waiting. */
 #ifndef INNODB_RW_LOCKS_USE_ATOMICS
-	ib_mutex_t	mutex;		/*!< The mutex protecting rw_lock_struct */
+	ib_mutex_t	mutex;		/*!< The mutex protecting rw_lock_t */
 #endif /* INNODB_RW_LOCKS_USE_ATOMICS */
 
 	UT_LIST_NODE_T(rw_lock_t) list;
@@ -625,7 +625,7 @@ struct rw_lock_struct {
 	unsigned	last_x_line:14;	/*!< Line number where last time x-locked */
 #ifdef UNIV_DEBUG
 	ulint	magic_n;	/*!< RW_LOCK_MAGIC_N */
-/** Value of rw_lock_struct::magic_n */
+/** Value of rw_lock_t::magic_n */
 #define	RW_LOCK_MAGIC_N	22643
 #endif /* UNIV_DEBUG */
 };
@@ -633,7 +633,7 @@ struct rw_lock_struct {
 #ifdef UNIV_SYNC_DEBUG
 /** The structure for storing debug info of an rw-lock.  All access to this
 structure must be protected by rw_lock_debug_mutex_enter(). */
-struct	rw_lock_debug_struct {
+struct	rw_lock_debug_t {
 
 	os_thread_id_t thread_id;  /*!< The thread id of the thread which
 				locked the rw-lock */

=== modified file 'storage/innobase/include/sync0sync.h'
--- a/storage/innobase/include/sync0sync.h	revid:vasil.dimov@stripped
+++ b/storage/innobase/include/sync0sync.h	revid:marko.makela@stripped
@@ -768,7 +768,7 @@ struct ib_mutex_t {
 	ulong		count_os_wait;	/*!< count of os_wait */
 #ifdef UNIV_DEBUG
 
-/** Value of mutex_struct::magic_n */
+/** Value of mutex_t::magic_n */
 # define MUTEX_MAGIC_N	979585UL
 
 	os_thread_id_t thread_id; /*!< The thread id of the thread

=== modified file 'storage/innobase/include/trx0i_s.h'
--- a/storage/innobase/include/trx0i_s.h	revid:vasil.dimov@stripped20829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/include/trx0i_s.h	revid:marko.makela@stripped-l9xz0lx5y467otb3
@@ -79,25 +79,21 @@ do {								\
 } while (0)
 
 /** A row of INFORMATION_SCHEMA.innodb_locks */
-typedef struct i_s_locks_row_struct	i_s_locks_row_t;
-/** A row of INFORMATION_SCHEMA.innodb_trx */
-typedef struct i_s_trx_row_struct i_s_trx_row_t;
-/** A row of INFORMATION_SCHEMA.innodb_lock_waits */
-typedef struct i_s_lock_waits_row_struct i_s_lock_waits_row_t;
+struct i_s_locks_row_t;
 
 /** Objects of trx_i_s_cache_t::locks_hash */
-typedef struct i_s_hash_chain_struct	i_s_hash_chain_t;
+struct i_s_hash_chain_t;
 
 /** Objects of this type are added to the hash table
 trx_i_s_cache_t::locks_hash */
-struct i_s_hash_chain_struct {
+struct i_s_hash_chain_t {
 	i_s_locks_row_t*	value;	/*!< row of
 					INFORMATION_SCHEMA.innodb_locks*/
 	i_s_hash_chain_t*	next;	/*!< next item in the hash chain */
 };
 
 /** This structure represents INFORMATION_SCHEMA.innodb_locks row */
-struct i_s_locks_row_struct {
+struct i_s_locks_row_t {
 	trx_id_t	lock_trx_id;	/*!< transaction identifier */
 	const char*	lock_mode;	/*!< lock mode from
 					lock_get_mode_str() */
@@ -128,16 +124,16 @@ struct i_s_locks_row_struct {
 };
 
 /** This structure represents INFORMATION_SCHEMA.innodb_trx row */
-struct i_s_trx_row_struct {
+struct i_s_trx_row_t {
 	trx_id_t		trx_id;		/*!< transaction identifier */
 	const char*		trx_state;	/*!< transaction state from
 						trx_get_que_state_str() */
-	ib_time_t		trx_started;	/*!< trx_struct::start_time */
+	ib_time_t		trx_started;	/*!< trx_t::start_time */
 	const i_s_locks_row_t*	requested_lock_row;
 					/*!< pointer to a row
 					in innodb_locks if trx
 					is waiting, or NULL */
-	ib_time_t	trx_wait_started; /*!< trx_struct::wait_started */
+	ib_time_t	trx_wait_started; /*!< trx_t::wait_started */
 	ullint		trx_weight;	/*!< TRX_WEIGHT() */
 	ulint		trx_mysql_thread_id; /*!< thd_get_thread_id() */
 	const char*	trx_query;	/*!< MySQL statement being
@@ -145,36 +141,34 @@ struct i_s_trx_row_struct {
 	struct charset_info_st*	trx_query_cs;
 					/*!< charset encode the MySQL
 					statement */
-	const char*	trx_operation_state; /*!< trx_struct::op_info */
+	const char*	trx_operation_state; /*!< trx_t::op_info */
 	ulint		trx_tables_in_use;/*!< n_mysql_tables_in_use in
-					 trx_struct */
+					 trx_t */
 	ulint		trx_tables_locked;
 					/*!< mysql_n_tables_locked in
-					trx_struct */
+					trx_t */
 	ulint		trx_lock_structs;/*!< list len of trx_locks in
-					trx_struct */
+					trx_t */
 	ulint		trx_lock_memory_bytes;
 					/*!< mem_heap_get_size(
 					trx->lock_heap) */
 	ulint		trx_rows_locked;/*!< lock_number_of_rows_locked() */
-	ullint		trx_rows_modified;/*!< trx_struct::undo_no */
+	ullint		trx_rows_modified;/*!< trx_t::undo_no */
 	ulint		trx_concurrency_tickets;
 					/*!< n_tickets_to_enter_innodb in
-					trx_struct */
+					trx_t */
 	const char*	trx_isolation_level;
-					/*!< isolation_level in trx_struct*/
+					/*!< isolation_level in trx_t */
 	ibool		trx_unique_checks;
-					/*!< check_unique_secondary in
-					trx_struct*/
+					/*!< check_unique_secondary in trx_t*/
 	ibool		trx_foreign_key_checks;
-					/*!< check_foreigns in trx_struct */
+					/*!< check_foreigns in trx_t */
 	const char*	trx_foreign_key_error;
-					/*!< detailed_error in trx_struct */
+					/*!< detailed_error in trx_t */
 	ibool		trx_has_search_latch;
-					/*!< has_search_latch in trx_struct */
+					/*!< has_search_latch in trx_t */
 	ulint		trx_search_latch_timeout;
-					/*!< search_latch_timeout in
-					trx_struct */
+					/*!< search_latch_timeout in trx_t */
 	ulint		trx_is_read_only;
 					/*!< trx_t::read_only */
 	ulint		trx_is_autocommit_non_locking;
@@ -183,13 +177,13 @@ struct i_s_trx_row_struct {
 };
 
 /** This structure represents INFORMATION_SCHEMA.innodb_lock_waits row */
-struct i_s_lock_waits_row_struct {
+struct i_s_lock_waits_row_t {
 	const i_s_locks_row_t*	requested_lock_row;	/*!< requested lock */
 	const i_s_locks_row_t*	blocking_lock_row;	/*!< blocking lock */
 };
 
 /** Cache of INFORMATION_SCHEMA table data */
-typedef struct trx_i_s_cache_struct	trx_i_s_cache_t;
+struct trx_i_s_cache_t;
 
 /** Auxiliary enum used by functions that need to select one of the
 INFORMATION_SCHEMA tables */

=== modified file 'storage/innobase/include/trx0purge.h'
--- a/storage/innobase/include/trx0purge.h	revid:vasil.dimov@strippedv
+++ b/storage/innobase/include/trx0purge.h	revid:marko.makela@stripped
@@ -122,16 +122,16 @@ trx_purge_state(void);
 
 /** This is the purge pointer/iterator. We need both the undo no and the
 transaction no up to which purge has parsed and applied the records. */
-typedef struct purge_iter_struct {
+struct purge_iter_t {
 	trx_id_t	trx_no;		/*!< Purge has advanced past all
 					transactions whose number is less
 					than this */
 	undo_no_t	undo_no;	/*!< Purge has advanced past all records
 					whose undo number is less than this */
-} purge_iter_t;
+};
 
 /** The control structure used in the purge operation */
-struct trx_purge_struct{
+struct trx_purge_t{
 	sess_t*		sess;		/*!< System session running the purge
 					query */
 	trx_t*		trx;		/*!< System transaction running the
@@ -201,13 +201,11 @@ struct trx_purge_struct{
 };
 
 /** Info required to purge a record */
-struct trx_purge_rec_struct {
+struct trx_purge_rec_t {
 	trx_undo_rec_t*	undo_rec;	/*!< Record to purge */
 	roll_ptr_t	roll_ptr;	/*!< File pointr to UNDO record */
 };
 
-typedef struct trx_purge_rec_struct trx_purge_rec_t;
-
 #ifndef UNIV_NONINL
 #include "trx0purge.ic"
 #endif

=== modified file 'storage/innobase/include/trx0roll.h'
--- a/storage/innobase/include/trx0roll.h	revid:vasil.dimov@stripped
+++ b/storage/innobase/include/trx0roll.h	revid:marko.makela@stripped
@@ -234,8 +234,8 @@ trx_roll_savepoints_free(
 					if this is NULL, free all savepoints
 					of trx */
 
-/** A cell of trx_undo_arr_struct; used during a rollback and a purge */
-struct	trx_undo_inf_struct{
+/** A cell of trx_undo_arr_t; used during a rollback and a purge */
+struct	trx_undo_inf_t{
 	ibool		in_use;	/*!< true if cell is being used */
 	trx_id_t	trx_no;	/*!< transaction number: not defined during
 				a rollback */
@@ -245,7 +245,7 @@ struct	trx_undo_inf_struct{
 /** During a rollback and a purge, undo numbers of undo records currently being
 processed are stored in this array */
 
-struct trx_undo_arr_struct{
+struct trx_undo_arr_t{
 	ulint		n_cells;	/*!< number of cells in the array */
 	ulint		n_used;		/*!< number of cells in use */
 	trx_undo_inf_t*	infos;		/*!< the array of undo infos */
@@ -262,7 +262,7 @@ enum roll_node_state {
 };
 
 /** Rollback command node in a query graph */
-struct roll_node_struct{
+struct roll_node_t{
 	que_common_t		common;	/*!< node type: QUE_NODE_ROLLBACK */
 	enum roll_node_state	state;	/*!< node execution state */
 	ibool			partial;/*!< TRUE if we want a partial
@@ -274,7 +274,7 @@ struct roll_node_struct{
 };
 
 /** A savepoint set with SQL's "SAVEPOINT savepoint_id" command */
-struct trx_named_savept_struct{
+struct trx_named_savept_t{
 	char*		name;		/*!< savepoint name */
 	trx_savept_t	savept;		/*!< the undo number corresponding to
 					the savepoint */

=== modified file 'storage/innobase/include/trx0rseg.h'
--- a/storage/innobase/include/trx0rseg.h	revid:vasil.dimov@stripped
+++ b/storage/innobase/include/trx0rseg.h	revid:marko.makela@oracle.com-20120830074621-l9xz0lx5y467otb3
@@ -151,7 +151,7 @@ trx_rseg_get_n_undo_tablespaces(
 #define TRX_RSEG_MAX_N_TRXS	(TRX_RSEG_N_SLOTS / 2)
 
 /* The rollback segment memory object */
-struct trx_rseg_struct{
+struct trx_rseg_t{
 	/*--------------------------------------------------------*/
 	ulint		id;	/*!< rollback segment id == the index of
 				its slot in the trx system file copy */
@@ -192,13 +192,11 @@ struct trx_rseg_struct{
 };
 
 /** For prioritising the rollback segments for purge. */
-struct rseg_queue_struct {
+struct rseg_queue_t {
         trx_id_t	trx_no;         /*!< trx_rseg_t::last_trx_no */
         trx_rseg_t*     rseg;           /*!< Rollback segment */
 };
 
-typedef struct rseg_queue_struct rseg_queue_t;
-
 /* Undo log segment slot in a rollback segment header */
 /*-------------------------------------------------------------*/
 #define	TRX_RSEG_SLOT_PAGE_NO	0	/* Page number of the header page of

=== modified file 'storage/innobase/include/trx0sys.h'
--- a/storage/innobase/include/trx0sys.h	revid:vasil.dimov@strippedin5gzgjky8v
+++ b/storage/innobase/include/trx0sys.h	revid:marko.makela@stripped
@@ -600,7 +600,7 @@ identifier is added to this 64-bit const
 
 #ifndef UNIV_HOTBACKUP
 /** The transaction system central memory data structure. */
-struct trx_sys_struct{
+struct trx_sys_t{
 
 	ib_mutex_t		mutex;		/*!< mutex protecting most fields in
 					this structure except when noted

=== modified file 'storage/innobase/include/trx0trx.h'
--- a/storage/innobase/include/trx0trx.h	revid:vasil.dimov@stripped
+++ b/storage/innobase/include/trx0trx.h	revid:marko.makela@oracle.com-20120830074621-l9xz0lx5y467otb3
@@ -286,9 +286,9 @@ trx_print_low(
 	ulint		max_query_len,
 			/*!< in: max query length to print,
 			or 0 to use the default max length */
-	ulint		n_lock_rec,
+	ulint		n_rec_locks,
 			/*!< in: lock_number_of_rows_locked(&trx->lock) */
-	ulint		n_lock_struct,
+	ulint		n_trx_locks,
 			/*!< in: length of trx->lock.trx_locks */
 	ulint		heap_size)
 			/*!< in: mem_heap_get_size(trx->lock.lock_heap) */
@@ -325,7 +325,7 @@ trx_print(
 Determine if a transaction is a dictionary operation.
 @return	dictionary operation mode */
 UNIV_INLINE
-enum trx_dict_op
+enum trx_dict_op_t
 trx_get_dict_operation(
 /*===================*/
 	const trx_t*	trx)	/*!< in: transaction */
@@ -337,7 +337,7 @@ void
 trx_set_dict_operation(
 /*===================*/
 	trx_t*			trx,	/*!< in/out: transaction */
-	enum trx_dict_op	op);	/*!< in: operation, not
+	enum trx_dict_op_t	op);	/*!< in: operation, not
 					TRX_DICT_OP_NONE */
 
 #ifndef UNIV_HOTBACKUP
@@ -539,7 +539,7 @@ code and no mutex is required when the q
 
 /** The locks and state of an active transaction. Protected by
 lock_sys->mutex, trx->mutex or both. */
-struct trx_lock_struct {
+struct trx_lock_t {
 	ulint		n_active_thrs;	/*!< number of active query threads */
 
 	trx_que_t	que_state;	/*!< valid when trx->state
@@ -648,7 +648,7 @@ lock_rec_convert_impl_to_expl()) will ac
 to other connections. The locks of transactions are protected by
 lock_sys->mutex and sometimes by trx->mutex. */
 
-struct trx_struct{
+struct trx_t{
 	ulint		magic_n;
 
 	ib_mutex_t		mutex;		/*!< Mutex protecting the fields
@@ -1042,7 +1042,7 @@ enum commit_node_state {
 };
 
 /** Commit command node in a query graph */
-struct commit_node_struct{
+struct commit_node_t{
 	que_common_t	common;	/*!< node type: QUE_NODE_COMMIT */
 	enum commit_node_state
 			state;	/*!< node execution state */

=== modified file 'storage/innobase/include/trx0trx.ic'
--- a/storage/innobase/include/trx0trx.ic	revid:vasil.dimov@oracle.com-20120829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/include/trx0trx.ic	revid:marko.makela@stripped120830074621-l9xz0lx5y467otb3
@@ -108,12 +108,12 @@ trx_get_que_state_str(
 Determine if a transaction is a dictionary operation.
 @return	dictionary operation mode */
 UNIV_INLINE
-enum trx_dict_op
+enum trx_dict_op_t
 trx_get_dict_operation(
 /*===================*/
 	const trx_t*	trx)	/*!< in: transaction */
 {
-	enum trx_dict_op op = (enum trx_dict_op) trx->dict_operation;
+	trx_dict_op_t op = static_cast<trx_dict_op_t>(trx->dict_operation);
 
 #ifdef UNIV_DEBUG
 	switch (op) {
@@ -124,7 +124,7 @@ trx_get_dict_operation(
 	}
 	ut_error;
 #endif /* UNIV_DEBUG */
-	return((enum trx_dict_op) op);
+	return(op);
 }
 /**********************************************************************//**
 Flag a transaction a dictionary operation. */
@@ -133,11 +133,11 @@ void
 trx_set_dict_operation(
 /*===================*/
 	trx_t*			trx,	/*!< in/out: transaction */
-	enum trx_dict_op	op)	/*!< in: operation, not
+	enum trx_dict_op_t	op)	/*!< in: operation, not
 					TRX_DICT_OP_NONE */
 {
 #ifdef UNIV_DEBUG
-	enum trx_dict_op	old_op = trx_get_dict_operation(trx);
+	enum trx_dict_op_t	old_op = trx_get_dict_operation(trx);
 
 	switch (op) {
 	case TRX_DICT_OP_NONE:

=== modified file 'storage/innobase/include/trx0types.h'
--- a/storage/innobase/include/trx0types.h	revid:vasil.dimov@stripped824-d2mmbin5gzgjky8v
+++ b/storage/innobase/include/trx0types.h	revid:marko.makela@strippedlx5y467otb3
@@ -36,7 +36,7 @@ the terminating NUL character. */
 #define TRX_ID_MAX_LEN		17
 
 /** Transaction execution states when trx->state == TRX_STATE_ACTIVE */
-enum trx_que_enum {
+enum trx_que_t {
 	TRX_QUE_RUNNING,		/*!< transaction is running */
 	TRX_QUE_LOCK_WAIT,		/*!< transaction is waiting for
 					a lock */
@@ -45,7 +45,7 @@ enum trx_que_enum {
 };
 
 /** Transaction states (trx_t::state) */
-enum trx_state_enum {
+enum trx_state_t {
 	TRX_STATE_NOT_STARTED,
 	TRX_STATE_ACTIVE,
 	TRX_STATE_PREPARED,			/* Support for 2PC/XA */
@@ -53,7 +53,7 @@ enum trx_state_enum {
 };
 
 /** Type of data dictionary operation */
-typedef enum trx_dict_op {
+enum trx_dict_op_t {
 	/** The transaction is not modifying the data dictionary. */
 	TRX_DICT_OP_NONE = 0,
 	/** The transaction is creating a table or an index, or
@@ -65,38 +65,34 @@ typedef enum trx_dict_op {
 	existing table.  In crash recovery, the data dictionary
 	must be locked, but the table must not be dropped. */
 	TRX_DICT_OP_INDEX = 2
-} trx_dict_op_t;
+};
 
 /** Memory objects */
 /* @{ */
 /** Transaction */
-typedef struct trx_struct	trx_t;
+struct trx_t;
 /** The locks and state of an active transaction */
-typedef struct trx_lock_struct	trx_lock_t;
+struct trx_lock_t;
 /** Transaction system */
-typedef struct trx_sys_struct	trx_sys_t;
+struct trx_sys_t;
 /** Signal */
-typedef struct trx_sig_struct	trx_sig_t;
+struct trx_sig_t;
 /** Rollback segment */
-typedef struct trx_rseg_struct	trx_rseg_t;
+struct trx_rseg_t;
 /** Transaction undo log */
-typedef struct trx_undo_struct	trx_undo_t;
+struct trx_undo_t;
 /** Array of undo numbers of undo records being rolled back or purged */
-typedef struct trx_undo_arr_struct trx_undo_arr_t;
+struct trx_undo_arr_t;
 /** A cell of trx_undo_arr_t */
-typedef struct trx_undo_inf_struct trx_undo_inf_t;
+struct trx_undo_inf_t;
 /** The control structure used in the purge operation */
-typedef struct trx_purge_struct	trx_purge_t;
+struct trx_purge_t;
 /** Rollback command node in a query graph */
-typedef struct roll_node_struct	roll_node_t;
+struct roll_node_t;
 /** Commit command node in a query graph */
-typedef struct commit_node_struct commit_node_t;
+struct commit_node_t;
 /** SAVEPOINT command node in a query graph */
-typedef struct trx_named_savept_struct trx_named_savept_t;
-/** Transaction concurrency state */
-typedef enum trx_state_enum trx_state_t;
-/** Transaction query thread state */
-typedef enum trx_que_enum trx_que_t;
+struct trx_named_savept_t;
 /* @} */
 
 /** Rollback contexts */
@@ -124,9 +120,7 @@ typedef ib_id_t	roll_ptr_t;
 typedef ib_id_t	undo_no_t;
 
 /** Transaction savepoint */
-typedef struct trx_savept_struct trx_savept_t;
-/** Transaction savepoint */
-struct trx_savept_struct{
+struct trx_savept_t{
 	undo_no_t	least_undo_no;	/*!< least undo number to undo */
 };
 

=== modified file 'storage/innobase/include/trx0undo.h'
--- a/storage/innobase/include/trx0undo.h	revid:vasil.dimov@stripped
+++ b/storage/innobase/include/trx0undo.h	revid:marko.makela@oracle.com-20120830074621-l9xz0lx5y467otb3
@@ -414,7 +414,7 @@ trx_undo_mem_free(
 /** Transaction undo log memory object; this is protected by the undo_mutex
 in the corresponding transaction object */
 
-struct trx_undo_struct{
+struct trx_undo_t{
 	/*-----------------------------*/
 	ulint		id;		/*!< undo log slot number within the
 					rollback segment */

=== modified file 'storage/innobase/include/usr0sess.h'
--- a/storage/innobase/include/usr0sess.h	revid:vasil.dimov@strippedgzgjky8v
+++ b/storage/innobase/include/usr0sess.h	revid:marko.makela@stripped
@@ -53,7 +53,7 @@ sess_close(
 
 /* The session handle. This data structure is only used by purge and is
 not really necessary. We should get rid of it. */
-struct sess_struct{
+struct sess_t{
 	ulint		state;		/*!< state of the session */
 	trx_t*		trx;		/*!< transaction object permanently
 					assigned for the session: the

=== modified file 'storage/innobase/include/usr0types.h'
--- a/storage/innobase/include/usr0types.h	revid:vasil.dimov@stripped20120829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/include/usr0types.h	revid:marko.makela@stripped74621-l9xz0lx5y467otb3
@@ -26,6 +26,6 @@ Created 6/25/1996 Heikki Tuuri
 #ifndef usr0types_h
 #define usr0types_h
 
-typedef struct sess_struct	sess_t;
+struct sess_t;
 
 #endif

=== modified file 'storage/innobase/include/ut0bh.h'
--- a/storage/innobase/include/ut0bh.h	revid:vasil.dimov@stripped
+++ b/storage/innobase/include/ut0bh.h	revid:marko.makela@strippedm-20120830074621-l9xz0lx5y467otb3
@@ -31,7 +31,7 @@ Created 2010-05-28 by Sunny Bains
 /** Comparison function for objects in the binary heap. */
 typedef int (*ib_bh_cmp_t)(const void* p1, const void* p2);
 
-typedef struct ib_bh_struct ib_bh_t;
+struct ib_bh_t;
 
 /**********************************************************************//**
 Get the number of elements in the binary heap.
@@ -138,7 +138,7 @@ ib_bh_pop(
 	ib_bh_t*	ib_bh);			/*!< in/out: instance */
 
 /** Binary heap data structure */
-struct ib_bh_struct {
+struct ib_bh_t {
 	ulint		max_elems;		/*!< max elements allowed */
 	ulint		n_elems;		/*!< current size */
 	ulint		sizeof_elem;		/*!< sizeof element */

=== modified file 'storage/innobase/include/ut0dbg.h'
--- a/storage/innobase/include/ut0dbg.h	revid:vasil.dimov@oracle.com-20120829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/include/ut0dbg.h	revid:marko.makela@stripped0830074621-l9xz0lx5y467otb3
@@ -143,10 +143,10 @@ ut_dbg_stop_thread(
 #include <sys/resource.h>
 
 /** structure used for recording usage statistics */
-typedef struct speedo_struct {
+struct speedo_t {
 	struct rusage	ru;	/*!< getrusage() result */
 	struct timeval	tv;	/*!< gettimeofday() result */
-} speedo_t;
+};
 
 /*******************************************************************//**
 Resets a speedo (records the current time in it). */

=== modified file 'storage/innobase/include/ut0list.h'
--- a/storage/innobase/include/ut0list.h	revid:vasil.dimov@oracle.com-20120829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/include/ut0list.h	revid:marko.makela@stripped30074621-l9xz0lx5y467otb3
@@ -48,9 +48,8 @@ automatically freeing the list node when
 
 #include "mem0mem.h"
 
-typedef struct ib_list_struct ib_list_t;
-typedef struct ib_list_node_struct ib_list_node_t;
-typedef struct ib_list_helper_struct ib_list_helper_t;
+struct ib_list_t;
+struct ib_list_node_t;
 
 /****************************************************************//**
 Create a new list using mem_alloc. Lists created with this function must be
@@ -152,7 +151,7 @@ ib_list_is_empty(
 	const ib_list_t*	list);	/* in: list */
 
 /* List. */
-struct ib_list_struct {
+struct ib_list_t {
 	ib_list_node_t*		first;		/*!< first node */
 	ib_list_node_t*		last;		/*!< last node */
 	ibool			is_heap_list;	/*!< TRUE if this list was
@@ -160,7 +159,7 @@ struct ib_list_struct {
 };
 
 /* A list node. */
-struct ib_list_node_struct {
+struct ib_list_node_t {
 	ib_list_node_t*		prev;		/*!< previous node */
 	ib_list_node_t*		next;		/*!< next node */
 	void*			data;		/*!< user data */
@@ -169,7 +168,7 @@ struct ib_list_node_struct {
 /* Quite often, the only additional piece of data you need is the per-item
 memory heap, so we have this generic struct available to use in those
 cases. */
-struct ib_list_helper_struct {
+struct ib_list_helper_t {
 	mem_heap_t*	heap;		/*!< memory heap */
 	void*		data;		/*!< user data */
 };

=== modified file 'storage/innobase/include/ut0lst.h'
--- a/storage/innobase/include/ut0lst.h	revid:vasil.dimov@strippedky8v
+++ b/storage/innobase/include/ut0lst.h	revid:marko.makela@stripped
@@ -65,8 +65,7 @@ The name of the field in the node struct
 to the list.
 @param TYPE	the list node type name */
 /* Example:
-typedef struct LRU_node_struct	LRU_node_t;
-struct LRU_node_struct {
+struct LRU_node_t {
 	UT_LIST_NODE_T(LRU_node_t)	LRU_list;
 	...
 }

=== modified file 'storage/innobase/include/ut0rbt.h'
--- a/storage/innobase/include/ut0rbt.h	revid:vasil.dimov@strippedmmbin5gzgjky8v
+++ b/storage/innobase/include/ut0rbt.h	revid:marko.makela@strippedb3
@@ -44,25 +44,19 @@ Created 2007-03-20 Sunny Bains
 #define	FALSE		0
 #endif
 
-/* Red black tree typedefs */
-typedef struct ib_rbt_struct ib_rbt_t;
-typedef struct ib_rbt_node_struct ib_rbt_node_t;
-/* FIXME: Iterator is a better name than _bound_ */
-typedef struct ib_rbt_bound_struct ib_rbt_bound_t;
+struct ib_rbt_node_t;
 typedef void (*ib_rbt_print_node)(const ib_rbt_node_t* node);
 typedef int (*ib_rbt_compare)(const void* p1, const void* p2);
 typedef int (*ib_rbt_arg_compare)(const void*, const void* p1, const void* p2);
 
 /** Red black tree color types */
-enum ib_rbt_color_enum {
+enum ib_rbt_color_t {
 	IB_RBT_RED,
 	IB_RBT_BLACK
 };
 
-typedef enum ib_rbt_color_enum ib_rbt_color_t;
-
 /** Red black tree node */
-struct ib_rbt_node_struct {
+struct ib_rbt_node_t {
 	ib_rbt_color_t	color;			/* color of this node */
 
 	ib_rbt_node_t*	left;			/* points left child */
@@ -73,7 +67,7 @@ struct ib_rbt_node_struct {
 };
 
 /** Red black tree instance.*/
-struct	ib_rbt_struct {
+struct	ib_rbt_t {
 	ib_rbt_node_t*	nil;			/* Black colored node that is
 						used as a sentinel. This is
 						pre-allocated too.*/
@@ -94,7 +88,7 @@ struct	ib_rbt_struct {
 
 /** The result of searching for a key in the tree, this is useful for
 a speedy lookup and insert if key doesn't exist.*/
-struct ib_rbt_bound_struct {
+struct ib_rbt_bound_t {
 	const ib_rbt_node_t*
 			last;			/* Last node visited */
 

=== modified file 'storage/innobase/include/ut0ut.h'
--- a/storage/innobase/include/ut0ut.h	revid:vasil.dimov@strippedm-20120829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/include/ut0ut.h	revid:marko.makela@stripped621-l9xz0lx5y467otb3
@@ -345,7 +345,7 @@ ut_print_filename(
 
 #ifndef UNIV_HOTBACKUP
 /* Forward declaration of transaction handle */
-struct trx_struct;
+struct trx_t;
 
 /**********************************************************************//**
 Outputs a fixed-length string, quoted as an SQL identifier.
@@ -357,8 +357,7 @@ void
 ut_print_name(
 /*==========*/
 	FILE*		f,	/*!< in: output stream */
-	const struct trx_struct*
-			trx,	/*!< in: transaction */
+	const trx_t*	trx,	/*!< in: transaction */
 	ibool		table_id,/*!< in: TRUE=print a table name,
 				FALSE=print other identifier */
 	const char*	name);	/*!< in: name to print */
@@ -373,8 +372,7 @@ void
 ut_print_namel(
 /*===========*/
 	FILE*		f,	/*!< in: output stream */
-	const struct trx_struct*
-			trx,	/*!< in: transaction (NULL=no quotes) */
+	const trx_t*	trx,	/*!< in: transaction (NULL=no quotes) */
 	ibool		table_id,/*!< in: TRUE=print a table name,
 				FALSE=print other identifier */
 	const char*	name,	/*!< in: name to print */

=== modified file 'storage/innobase/include/ut0vec.h'
--- a/storage/innobase/include/ut0vec.h	revid:vasil.dimov@stripped0120829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/include/ut0vec.h	revid:marko.makela@stripped1-l9xz0lx5y467otb3
@@ -29,8 +29,8 @@ Created 4/6/2006 Osku Salerma
 #include "univ.i"
 #include "mem0mem.h"
 
-typedef struct ib_alloc_struct ib_alloc_t;
-typedef struct ib_vector_struct ib_vector_t;
+struct ib_alloc_t;
+struct ib_vector_t;
 
 typedef void* (*ib_mem_alloc_t)(
 					/* out: Pointer to allocated memory */
@@ -64,7 +64,7 @@ freeing it when done with the vector.
 
 /********************************************************************
 Create a new vector with the given initial size. */
-
+UNIV_INTERN
 ib_vector_t*
 ib_vector_create(
 /*=============*/
@@ -124,7 +124,7 @@ ib_vector_size(
 
 /********************************************************************
 Increase the size of the vector. */
-
+UNIV_INTERN
 void
 ib_vector_resize(
 /*=============*/
@@ -311,7 +311,7 @@ ib_ut_allocator_free(
 	ib_alloc_t*	ib_ut_alloc);	/* in: alloc instace to free */
 
 /* Allocator used by ib_vector_t. */
-struct ib_alloc_struct {
+struct ib_alloc_t {
 	ib_mem_alloc_t	mem_malloc;	/* For allocating memory */
 	ib_mem_free_t	mem_release;	/* For freeing memory */
 	ib_mem_resize_t	mem_resize;	/* For resizing memory */
@@ -320,7 +320,7 @@ struct ib_alloc_struct {
 };
 
 /* See comment at beginning of file. */
-struct ib_vector_struct {
+struct ib_vector_t {
 	ib_alloc_t*	allocator;	/* Allocator, because one size
 					doesn't fit all */
 	void*		data;		/* data elements */

=== modified file 'storage/innobase/include/ut0wqueue.h'
--- a/storage/innobase/include/ut0wqueue.h	revid:vasil.dimov@strippedbin5gzgjky8v
+++ b/storage/innobase/include/ut0wqueue.h	revid:marko.makela@strippedtb3
@@ -37,7 +37,7 @@ processing.
 #include "os0sync.h"
 #include "sync0types.h"
 
-typedef struct ib_wqueue_struct ib_wqueue_t;
+struct ib_wqueue_t;
 
 /****************************************************************//**
 Create a new work queue.
@@ -96,7 +96,7 @@ ib_wqueue_timedwait(
 	ib_time_t	wait_in_usecs); /* in: wait time in micro seconds */
 
 /* Work queue. */
-struct ib_wqueue_struct {
+struct ib_wqueue_t {
 	ib_mutex_t		mutex;	/*!< mutex protecting everything */
 	ib_list_t*	items;	/*!< work item list */
 	os_event_t	event;	/*!< event we use to signal additions to list */

=== modified file 'storage/innobase/lock/lock0lock.cc'
--- a/storage/innobase/lock/lock0lock.cc	revid:vasil.dimov@strippedgzgjky8v
+++ b/storage/innobase/lock/lock0lock.cc	revid:marko.makela@stripped
@@ -41,7 +41,7 @@ Created 5/7/1996 Heikki Tuuri
 #include "pars0pars.h" /* pars_complete_graph_for_exec() */
 #include "que0que.h" /* que_node_get_parent() */
 #include "row0mysql.h" /* row_mysql_handle_errors() */
-#include "row0sel.h" /* sel_node_create(), sel_node_struct */
+#include "row0sel.h" /* sel_node_create(), sel_node_t */
 #include "row0types.h" /* sel_node_t */
 #include "srv0mon.h"
 #include "ut0vec.h"
@@ -345,10 +345,7 @@ static const byte lock_strength_matrix[5
 };
 
 /** Deadlock check context. */
-typedef struct lock_deadlock_ctx_struct lock_deadlock_ctx_t;
-
-/** Deadlock check context. */
-struct lock_deadlock_ctx_struct {
+struct lock_deadlock_ctx_t {
 	const trx_t*	start;		/*!< Joining transaction that is
 					requesting a lock in an incompatible
 					mode */
@@ -366,10 +363,8 @@ struct lock_deadlock_ctx_struct {
 					was aborted */
 };
 
-typedef struct lock_stack_struct lock_stack_t;
-
 /** DFS visited node information used during deadlock checking. */
-struct lock_stack_struct {
+struct lock_stack_t {
 	const lock_t*	lock;			/*!< Current lock */
 	const lock_t*	wait_lock;		/*!< Waiting for lock */
 	unsigned	heap_no:16;		/*!< heap number if rec lock */
@@ -3471,24 +3466,24 @@ lock_deadlock_trx_print(
 	ulint		max_query_len)	/*!< in: max query length to print,
 					or 0 to use the default max length */
 {
-	ulint	n_lock_rec;
-	ulint	n_lock_struct;
+	ulint	n_rec_locks;
+	ulint	n_trx_locks;
 	ulint	heap_size;
 
 	ut_ad(lock_mutex_own());
 
-	n_lock_rec = lock_number_of_rows_locked(&trx->lock);
-	n_lock_struct = UT_LIST_GET_LEN(trx->lock.trx_locks);
+	n_rec_locks = lock_number_of_rows_locked(&trx->lock);
+	n_trx_locks = UT_LIST_GET_LEN(trx->lock.trx_locks);
 	heap_size = mem_heap_get_size(trx->lock.lock_heap);
 
 	mutex_enter(&trx_sys->mutex);
 
 	trx_print_low(lock_latest_err_file, trx, max_query_len,
-		      n_lock_rec, n_lock_struct, heap_size);
+		      n_rec_locks, n_trx_locks, heap_size);
 
 	if (srv_print_all_deadlocks) {
 		trx_print_low(stderr, trx, max_query_len,
-			      n_lock_rec, n_lock_struct, heap_size);
+			      n_rec_locks, n_trx_locks, heap_size);
 	}
 
 	mutex_exit(&trx_sys->mutex);

=== modified file 'storage/innobase/mem/mem0dbg.cc'
--- a/storage/innobase/mem/mem0dbg.cc	revid:vasil.dimov@oracle.com-20120829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/mem/mem0dbg.cc	revid:marko.makela@stripped074621-l9xz0lx5y467otb3
@@ -58,8 +58,7 @@ static ibool		mem_hash_initialized		= FA
 
 /* The node of the list containing currently allocated memory heaps */
 
-typedef struct mem_hash_node_struct mem_hash_node_t;
-struct mem_hash_node_struct {
+struct mem_hash_node_t {
 	UT_LIST_NODE_T(mem_hash_node_t)
 				list;	/*!< hash list node */
 	mem_heap_t*		heap;	/*!< memory heap */

=== modified file 'storage/innobase/mem/mem0pool.cc'
--- a/storage/innobase/mem/mem0pool.cc	revid:vasil.dimov@stripped24-d2mmbin5gzgjky8v
+++ b/storage/innobase/mem/mem0pool.cc	revid:marko.makela@stripped67otb3
@@ -100,7 +100,7 @@ pool, and after that its locks will grow
 
 /** Data structure for a memory pool. The space is allocated using the buddy
 algorithm, where free list i contains areas of size 2 to power i. */
-struct mem_pool_struct{
+struct mem_pool_t{
 	byte*		buf;		/*!< memory pool */
 	ulint		size;		/*!< memory common pool size */
 	ulint		reserved;	/*!< amount of currently allocated
@@ -116,7 +116,7 @@ struct mem_pool_struct{
 UNIV_INTERN mem_pool_t*	mem_comm_pool	= NULL;
 
 #ifdef UNIV_PFS_MUTEX
-/* Key to register mutex in mem_pool_struct with performance schema */
+/* Key to register mutex in mem_pool_t with performance schema */
 UNIV_INTERN mysql_pfs_key_t	mem_pool_mutex_key;
 #endif /* UNIV_PFS_MUTEX */
 

=== modified file 'storage/innobase/os/os0file.cc'
--- a/storage/innobase/os/os0file.cc	revid:vasil.dimov@stripped120829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/os/os0file.cc	revid:marko.makela@strippedxz0lx5y467otb3
@@ -147,10 +147,7 @@ UNIV_INTERN mysql_pfs_key_t  innodb_file
 #endif /* UNIV_PFS_IO */
 
 /** The asynchronous i/o array slot structure */
-typedef struct os_aio_slot_struct	os_aio_slot_t;
-
-/** The asynchronous i/o array slot structure */
-struct os_aio_slot_struct{
+struct os_aio_slot_t{
 	ibool		is_read;	/*!< TRUE if a read operation */
 	ulint		pos;		/*!< index of the slot in the aio
 					array */
@@ -186,10 +183,7 @@ struct os_aio_slot_struct{
 };
 
 /** The asynchronous i/o array structure */
-typedef struct os_aio_array_struct	os_aio_array_t;
-
-/** The asynchronous i/o array structure */
-struct os_aio_array_struct{
+struct os_aio_array_t{
 	os_ib_mutex_t	mutex;	/*!< the mutex protecting the aio array */
 	os_event_t	not_full;
 				/*!< The event which is set to the
@@ -3712,8 +3706,8 @@ os_aio_init(
 
 	os_aio_validate();
 
-	os_aio_segment_wait_events = static_cast<os_event_struct_t**>(
-		ut_malloc(n_segments * sizeof(void*)));
+	os_aio_segment_wait_events = static_cast<os_event_t*>(
+		ut_malloc(n_segments * sizeof *os_aio_segment_wait_events));
 
 	for (i = 0; i < n_segments; i++) {
 		os_aio_segment_wait_events[i] = os_event_create(NULL);
@@ -4291,7 +4285,7 @@ os_aio_func(
 	ibool		retval;
 	BOOL		ret		= TRUE;
 	DWORD		len		= (DWORD) n;
-	struct fil_node_struct * dummy_mess1;
+	struct fil_node_t* dummy_mess1;
 	void*		dummy_mess2;
 	ulint		dummy_type;
 #endif /* WIN_ASYNC_IO */

=== modified file 'storage/innobase/os/os0sync.cc'
--- a/storage/innobase/os/os0sync.cc	revid:vasil.dimov@oracle.com-20120829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/os/os0sync.cc	revid:marko.makela@stripped20830074621-l9xz0lx5y467otb3
@@ -38,7 +38,7 @@ Created 9/6/1995 Heikki Tuuri
 #include "srv0srv.h"
 
 /* Type definition for an operating system mutex struct */
-struct os_mutex_struct{
+struct os_mutex_t{
 	os_event_t	event;	/*!< Used by sync0arr.cc for queing threads */
 	void*		handle;	/*!< OS handle to mutex */
 	ulint		count;	/*!< we use this counter to check
@@ -47,7 +47,7 @@ struct os_mutex_struct{
 				do not assume that the OS mutex
 				supports recursive locking, though
 				NT seems to do that */
-	UT_LIST_NODE_T(os_mutex_str_t) os_mutex_list;
+	UT_LIST_NODE_T(os_mutex_t) os_mutex_list;
 				/* list of all 'slow' OS mutexes created */
 };
 
@@ -63,10 +63,10 @@ os_thread_exit */
 UNIV_INTERN ulint	os_thread_count		= 0;
 
 /** The list of all events created */
-static UT_LIST_BASE_NODE_T(os_event_struct_t)	os_event_list;
+static UT_LIST_BASE_NODE_T(os_event)		os_event_list;
 
 /** The list of all OS 'slow' mutexes */
-static UT_LIST_BASE_NODE_T(os_mutex_str_t)	os_mutex_list;
+static UT_LIST_BASE_NODE_T(os_mutex_t)		os_mutex_list;
 
 UNIV_INTERN ulint	os_event_count		= 0;
 UNIV_INTERN ulint	os_mutex_count		= 0;
@@ -392,8 +392,7 @@ os_event_create(
 	{
 		UT_NOT_USED(name);
 
-		event = static_cast<os_event_struct_t*>(
-			ut_malloc(sizeof(struct os_event_struct)));
+		event = static_cast<os_event_t>(ut_malloc(sizeof *event));
 
 #ifndef PFS_SKIP_EVENT_MUTEX
 		os_fast_mutex_init(event_os_mutex_key, &event->os_mutex);
@@ -754,8 +753,7 @@ os_mutex_create(void)
 
 	os_fast_mutex_init(os_mutex_key, mutex);
 
-	mutex_str = static_cast<os_ib_mutex_t>(
-		ut_malloc(sizeof(os_mutex_str_t)));
+	mutex_str = static_cast<os_ib_mutex_t>(ut_malloc(sizeof *mutex_str));
 
 	mutex_str->handle = mutex;
 	mutex_str->count = 0;

=== modified file 'storage/innobase/row/row0ins.cc'
--- a/storage/innobase/row/row0ins.cc	revid:vasil.dimov@stripped-d2mmbin5gzgjky8v
+++ b/storage/innobase/row/row0ins.cc	revid:marko.makela@strippedtb3
@@ -729,13 +729,13 @@ row_ins_foreign_trx_print(
 /*======================*/
 	trx_t*	trx)	/*!< in: transaction */
 {
-	ulint	n_lock_rec;
-	ulint	n_lock_struct;
+	ulint	n_rec_locks;
+	ulint	n_trx_locks;
 	ulint	heap_size;
 
 	lock_mutex_enter();
-	n_lock_rec = lock_number_of_rows_locked(&trx->lock);
-	n_lock_struct = UT_LIST_GET_LEN(trx->lock.trx_locks);
+	n_rec_locks = lock_number_of_rows_locked(&trx->lock);
+	n_trx_locks = UT_LIST_GET_LEN(trx->lock.trx_locks);
 	heap_size = mem_heap_get_size(trx->lock.lock_heap);
 	lock_mutex_exit();
 
@@ -747,7 +747,7 @@ row_ins_foreign_trx_print(
 	fputs(" Transaction:\n", dict_foreign_err_file);
 
 	trx_print_low(dict_foreign_err_file, trx, 600,
-		      n_lock_rec, n_lock_struct, heap_size);
+		      n_rec_locks, n_trx_locks, heap_size);
 
 	mutex_exit(&trx_sys->mutex);
 

=== modified file 'storage/innobase/row/row0merge.cc'
--- a/storage/innobase/row/row0merge.cc	revid:vasil.dimov@strippedmbin5gzgjky8v
+++ b/storage/innobase/row/row0merge.cc	revid:marko.makela@stripped3
@@ -3300,7 +3300,7 @@ row_merge_create_index(
 /*===================*/
 	trx_t*			trx,	/*!< in/out: trx (sets error_state) */
 	dict_table_t*		table,	/*!< in: the index is on this table */
-	const merge_index_def_t*index_def)
+	const index_def_t*	index_def)
 					/*!< in: the index definition */
 {
 	dict_index_t*	index;
@@ -3318,7 +3318,7 @@ row_merge_create_index(
 	ut_a(index);
 
 	for (i = 0; i < n_fields; i++) {
-		merge_index_field_t*	ifield = &index_def->fields[i];
+		index_field_t*	ifield = &index_def->fields[i];
 
 		dict_mem_index_add_field(
 			index, dict_table_get_col_name(table, ifield->col_no),

=== modified file 'storage/innobase/row/row0mysql.cc'
--- a/storage/innobase/row/row0mysql.cc	revid:vasil.dimov@strippedm-20120829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/row/row0mysql.cc	revid:marko.makela@stripped4621-l9xz0lx5y467otb3
@@ -67,10 +67,7 @@ Created 9/17/2000 Heikki Tuuri
 UNIV_INTERN ibool	row_rollback_on_timeout	= FALSE;
 
 /** Chain node of the list of tables to drop in the background. */
-typedef struct row_mysql_drop_struct	row_mysql_drop_t;
-
-/** Chain node of the list of tables to drop in the background. */
-struct row_mysql_drop_struct{
+struct row_mysql_drop_t{
 	char*				table_name;	/*!< table name */
 	UT_LIST_NODE_T(row_mysql_drop_t)row_mysql_drop_list;
 							/*!< list chain node */

=== modified file 'storage/innobase/srv/srv0conc.cc'
--- a/storage/innobase/srv/srv0conc.cc	revid:vasil.dimov@stripped-20120829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/srv/srv0conc.cc	revid:marko.makela@stripped21-l9xz0lx5y467otb3
@@ -72,13 +72,11 @@ UNIV_INTERN ulong	srv_thread_concurrency
 /** This mutex protects srv_conc data structures */
 static os_fast_mutex_t	srv_conc_mutex;
 
-/** Slot for a thread waiting in the concurrency control queue. */
-typedef struct srv_conc_slot_struct	srv_conc_slot_t;
-
 /** Concurrency list node */
-typedef UT_LIST_NODE_T(srv_conc_slot_t)	srv_conc_node_t;
+typedef UT_LIST_NODE_T(struct srv_conc_slot_t)	srv_conc_node_t;
 
-struct srv_conc_slot_struct{
+/** Slot for a thread waiting in the concurrency control queue. */
+struct srv_conc_slot_t{
 	os_event_t	event;		/*!< event to wait */
 	ibool		reserved;	/*!< TRUE if slot
 					reserved */
@@ -105,10 +103,8 @@ UNIV_INTERN mysql_pfs_key_t	srv_conc_mut
 
 #endif /* !HAVE_ATOMIC_BUILTINS */
 
-typedef struct srv_conc_struct srv_conc_t;
-
 /** Variables tracking the active and waiting threads. */
-struct srv_conc_struct {
+struct srv_conc_t {
 	char		pad[64  - (sizeof(ulint) + sizeof(lint))];
 
 	/** Number of transactions that have declared_to_be_inside_innodb set.

=== modified file 'storage/innobase/srv/srv0srv.cc'
--- a/storage/innobase/srv/srv0srv.cc	revid:vasil.dimov@strippedn5gzgjky8v
+++ b/storage/innobase/srv/srv0srv.cc	revid:marko.makela@stripped
@@ -295,7 +295,7 @@ UNIV_INTERN ulong srv_innodb_stats_metho
 UNIV_INTERN srv_stats_t	srv_stats;
 
 /* structure to pass status variables to MySQL */
-UNIV_INTERN export_struc export_vars;
+UNIV_INTERN export_var_t export_vars;
 
 /* If the following is != 0 we do not allow inserts etc. This protects
 the user from forgetting the innodb_force_recovery keyword to my.cnf */
@@ -537,23 +537,19 @@ suspending the master thread and utility
 to do.  The thread table can be seen as an analogue to the process table
 in a traditional Unix implementation. */
 
-/** The server system */
-typedef struct srv_sys_struct	srv_sys_t;
-
 /** The server system struct */
-struct srv_sys_struct{
-	ib_mutex_t		tasks_mutex;		/*!< variable protecting the
+struct srv_sys_t{
+	ib_mutex_t	tasks_mutex;		/*!< variable protecting the
 						tasks queue */
 	UT_LIST_BASE_NODE_T(que_thr_t)
 			tasks;			/*!< task queue */
 
-	ib_mutex_t		mutex;			/*!< variable protecting the
-
+	ib_mutex_t	mutex;			/*!< variable protecting the
 						fields below. */
 	ulint		n_sys_threads;		/*!< size of the sys_threads
 						array */
 
-	srv_table_t*	sys_threads;		/*!< server thread table */
+	srv_slot_t*	sys_threads;		/*!< server thread table */
 
 	ulint		n_threads_active[SRV_MASTER + 1];
 						/*!< number of threads active

=== modified file 'storage/innobase/sync/sync0arr.cc'
--- a/storage/innobase/sync/sync0arr.cc	revid:vasil.dimov@stripped0829163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/sync/sync0arr.cc	revid:marko.makela@stripped9xz0lx5y467otb3
@@ -79,7 +79,7 @@ any waiting threads who have missed the
 /** A cell where an individual thread may wait suspended
 until a resource is released. The suspending is implemented
 using an operating system event semaphore. */
-struct sync_cell_struct {
+struct sync_cell_t {
 	void*		wait_object;	/*!< pointer to the object the
 					thread is waiting for; if NULL
 					the cell is free for use */
@@ -117,7 +117,7 @@ all changes (set or reset) to the state
 while owning the mutex. */
 
 /** Synchronization array */
-struct sync_array_struct {
+struct sync_array_t {
 	ulint		n_reserved;	/*!< number of currently reserved
 					cells in the wait array */
 	ulint		n_cells;	/*!< number of cells in the

=== modified file 'storage/innobase/sync/sync0sync.cc'
--- a/storage/innobase/sync/sync0sync.cc	revid:vasil.dimov@stripped824-d2mmbin5gzgjky8v
+++ b/storage/innobase/sync/sync0sync.cc	revid:marko.makela@stripped5y467otb3
@@ -187,9 +187,9 @@ UNIV_INTERN ibool	sync_initialized	= FAL
 
 #ifdef UNIV_SYNC_DEBUG
 /** An acquired mutex or rw-lock and its level in the latching order */
-typedef struct sync_level_struct	sync_level_t;
+struct sync_level_t;
 /** Mutexes or rw-locks held by a thread */
-typedef struct sync_thread_struct	sync_thread_t;
+struct sync_thread_t;
 
 /** The latch levels currently owned by threads are stored in this data
 structure; the size of this array is OS_THREAD_MAX_N */
@@ -221,10 +221,8 @@ UNIV_INTERN ibool	sync_order_checks_on	=
 /** Number of slots reserved for each OS thread in the sync level array */
 static const ulint SYNC_THREAD_N_LEVELS = 10000;
 
-typedef struct sync_arr_struct sync_arr_t;
-
 /** Array for tracking sync levels per thread. */
-struct sync_arr_struct {
+struct sync_arr_t {
 	ulint		in_use;		/*!< Number of active cells */
 	ulint		n_elems;	/*!< Number of elements in the array */
 	ulint		max_elems;	/*!< Maximum elements */
@@ -234,14 +232,14 @@ struct sync_arr_struct {
 };
 
 /** Mutexes or rw-locks held by a thread */
-struct sync_thread_struct{
+struct sync_thread_t{
 	os_thread_id_t	id;		/*!< OS thread id */
 	sync_arr_t*	levels;		/*!< level array for this thread; if
 					this is NULL this slot is unused */
 };
 
 /** An acquired mutex or rw-lock and its level in the latching order */
-struct sync_level_struct{
+struct sync_level_t{
 	void*		latch;		/*!< pointer to a mutex or an
 					rw-lock; NULL means that
 					the slot is empty */

=== modified file 'storage/innobase/trx/trx0i_s.cc'
--- a/storage/innobase/trx/trx0i_s.cc	revid:vasil.dimov@strippedv
+++ b/storage/innobase/trx/trx0i_s.cc	revid:marko.makela@stripped
@@ -131,25 +131,25 @@ noop because it will be empty. */
 /** Memory for each table in the intermediate buffer is allocated in
 separate chunks. These chunks are considered to be concatenated to
 represent one flat array of rows. */
-typedef struct i_s_mem_chunk_struct {
+struct i_s_mem_chunk_t {
 	ulint	offset;		/*!< offset, in number of rows */
 	ulint	rows_allocd;	/*!< the size of this chunk, in number
 				of rows */
 	void*	base;		/*!< start of the chunk */
-} i_s_mem_chunk_t;
+};
 
 /** This represents one table's cache. */
-typedef struct i_s_table_cache_struct {
+struct i_s_table_cache_t {
 	ulint		rows_used;	/*!< number of used rows */
 	ulint		rows_allocd;	/*!< number of allocated rows */
 	ulint		row_size;	/*!< size of a single row */
 	i_s_mem_chunk_t	chunks[MEM_CHUNKS_IN_TABLE_CACHE]; /*!< array of
 					memory chunks that stores the
 					rows */
-} i_s_table_cache_t;
+};
 
 /** This structure describes the intermediate buffer */
-struct trx_i_s_cache_struct {
+struct trx_i_s_cache_t {
 	rw_lock_t	rw_lock;	/*!< read-write lock protecting
 					the rest of this structure */
 	ullint		last_read;	/*!< last time the cache was read;

=== modified file 'storage/innobase/trx/trx0sys.cc'
--- a/storage/innobase/trx/trx0sys.cc	revid:vasil.dimov@stripped
+++ b/storage/innobase/trx/trx0sys.cc	revid:marko.makela@stripped0120830074621-l9xz0lx5y467otb3
@@ -45,7 +45,7 @@ Created 3/26/1996 Heikki Tuuri
 #include "read0read.h"
 
 /** The file format tag structure with id and name. */
-struct file_format_struct {
+struct file_format_t {
 	ulint		id;		/*!< id of the file format */
 	const char*	name;		/*!< text representation of the
 					file format */
@@ -53,9 +53,6 @@ struct file_format_struct {
 					fields */
 };
 
-/** The file format tag */
-typedef struct file_format_struct	file_format_t;
-
 /** The transaction system */
 UNIV_INTERN trx_sys_t*		trx_sys		= NULL;
 

=== modified file 'storage/innobase/trx/trx0trx.cc'
--- a/storage/innobase/trx/trx0trx.cc	revid:vasil.dimov@stripped163824-d2mmbin5gzgjky8v
+++ b/storage/innobase/trx/trx0trx.cc	revid:marko.makela@stripped5y467otb3
@@ -1516,9 +1516,9 @@ trx_print_low(
 	ulint		max_query_len,
 			/*!< in: max query length to print,
 			or 0 to use the default max length */
-	ulint		n_lock_rec,
+	ulint		n_rec_locks,
 			/*!< in: lock_number_of_rows_locked(&trx->lock) */
-	ulint		n_lock_struct,
+	ulint		n_trx_locks,
 			/*!< in: length of trx->lock.trx_locks */
 	ulint		heap_size)
 			/*!< in: mem_heap_get_size(trx->lock.lock_heap) */
@@ -1597,14 +1597,14 @@ state_ok:
 		fprintf(f, "que state %lu ", (ulong) trx->lock.que_state);
 	}
 
-	if (n_lock_struct > 0 || heap_size > 400) {
+	if (n_trx_locks > 0 || heap_size > 400) {
 		newline = TRUE;
 
 		fprintf(f, "%lu lock struct(s), heap size %lu,"
 			" %lu row lock(s)",
-			(ulong) n_lock_struct,
+			(ulong) n_trx_locks,
 			(ulong) heap_size,
-			(ulong) n_lock_rec);
+			(ulong) n_rec_locks);
 	}
 
 	if (trx->has_search_latch) {
@@ -1660,19 +1660,19 @@ trx_print(
 	ulint		max_query_len)	/*!< in: max query length to print,
 					or 0 to use the default max length */
 {
-	ulint	n_lock_rec;
-	ulint	n_lock_struct;
+	ulint	n_rec_locks;
+	ulint	n_trx_locks;
 	ulint	heap_size;
 
 	lock_mutex_enter();
-	n_lock_rec = lock_number_of_rows_locked(&trx->lock);
-	n_lock_struct = UT_LIST_GET_LEN(trx->lock.trx_locks);
+	n_rec_locks = lock_number_of_rows_locked(&trx->lock);
+	n_trx_locks = UT_LIST_GET_LEN(trx->lock.trx_locks);
 	heap_size = mem_heap_get_size(trx->lock.lock_heap);
 	lock_mutex_exit();
 
 	mutex_enter(&trx_sys->mutex);
 	trx_print_low(f, trx, max_query_len,
-		      n_lock_rec, n_lock_struct, heap_size);
+		      n_rec_locks, n_trx_locks, heap_size);
 	mutex_exit(&trx_sys->mutex);
 }
 

=== modified file 'storage/innobase/ut/ut0mem.cc'
--- a/storage/innobase/ut/ut0mem.cc	revid:vasil.dimov@stripped24-d2mmbin5gzgjky8v
+++ b/storage/innobase/ut/ut0mem.cc	revid:marko.makela@strippedtb3
@@ -35,9 +35,6 @@ Created 5/11/1994 Heikki Tuuri
 
 #include <stdlib.h>
 
-/** This struct is placed first in every allocated memory block */
-typedef struct ut_mem_block_struct ut_mem_block_t;
-
 /** The total amount of memory currently allocated from the operating
 system with os_mem_alloc_large() or malloc().  Does not count malloc()
 if srv_use_sys_malloc is set.  Protected by ut_list_mutex. */
@@ -52,14 +49,14 @@ UNIV_INTERN mysql_pfs_key_t	ut_list_mute
 #endif
 
 /** Dynamically allocated memory block */
-struct ut_mem_block_struct{
+struct ut_mem_block_t{
 	UT_LIST_NODE_T(ut_mem_block_t) mem_block_list;
 			/*!< mem block list node */
 	ulint	size;	/*!< size of allocated memory */
 	ulint	magic_n;/*!< magic number (UT_MEM_MAGIC_N) */
 };
 
-/** The value of ut_mem_block_struct::magic_n.  Used in detecting
+/** The value of ut_mem_block_t::magic_n.  Used in detecting
 memory corruption. */
 #define UT_MEM_MAGIC_N	1601650166
 

No bundle (reason: useless for push emails).
Thread
bzr push into mysql-5.6 branch (marko.makela:4213 to 4214) Bug#14543059marko.makela30 Aug