List:Commits« Previous MessageNext Message »
From:monty Date:February 25 2006 3:46pm
Subject:bk commit into 5.0 tree (monty:1.2084)
View as plain text  
Below is the list of changes that have just been committed into a local
5.0 repository of monty. When monty does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet
  1.2084 06/02/25 17:46:30 monty@stripped +21 -0
  Fixed compiler warnings from gcc 4.0.2:
  - Added empty constructors and virtual destructors to many classes and structs
  - Removed some usage of the offsetof() macro to instead use C++ class pointers

  sql/tztime.h
    1.13 06/02/25 17:46:27 monty@stripped +1 -0
    Fixed compiler warnings from gcc 4.0.2

  sql/tztime.cc
    1.30 06/02/25 17:46:27 monty@stripped +2 -0
    Fixed compiler warnings from gcc 4.0.2

  sql/table.h
    1.124 06/02/25 17:46:27 monty@stripped +4 -0
    Fixed compiler warnings from gcc 4.0.2

  sql/sql_update.cc
    1.186 06/02/25 17:46:27 monty@stripped +1 -1
    Fixed compiler warnings from gcc 4.0.2

  sql/sql_select.h
    1.106 06/02/25 17:46:27 monty@stripped +2 -1
    Fixed compiler warnings from gcc 4.0.2

  sql/sql_parse.cc
    1.528 06/02/25 17:46:26 monty@stripped +4 -3
    Fixed compiler warnings from gcc 4.0.2
    (Not pretty, but seams to work...)

  sql/sql_class.h
    1.282 06/02/25 17:46:26 monty@stripped +5 -1
    Fixed compiler warnings from gcc 4.0.2

  sql/sql_cache.h
    1.32 06/02/25 17:46:26 monty@stripped +6 -0
    Fixed compiler warnings from gcc 4.0.2

  sql/sql_base.cc
    1.329 06/02/25 17:46:26 monty@stripped +2 -2
    Fixed compiler warnings from gcc 4.0.2

  sql/spatial.h
    1.19 06/02/25 17:46:26 monty@stripped +16 -0
    Fixed compiler warnings from gcc 4.0.2

  sql/sp_rcontext.h
    1.30 06/02/25 17:46:26 monty@stripped +1 -0
    Fixed compiler warnings from gcc 4.0.2

  sql/parse_file.h
    1.11 06/02/25 17:46:26 monty@stripped +3 -0
    Fixed compiler warnings from gcc 4.0.2

  sql/opt_range.cc
    1.205 06/02/25 17:46:26 monty@stripped +10 -0
    Fixed compiler warnings from gcc 4.0.2

  sql/mysql_priv.h
    1.374 06/02/25 17:46:26 monty@stripped +4 -3
    Fixed compiler warnings from gcc 4.0.2
    For find_table_in_list I fixed it to use proper C++ class pointers instead of C style pointers
     

  sql/log_event.h
    1.123 06/02/25 17:46:25 monty@stripped +1 -0
    Fixed compiler warnings from gcc 4.0.2

  sql/item_cmpfunc.h
    1.120 06/02/25 17:46:25 monty@stripped +17 -0
    Fixed compiler warnings from gcc 4.0.2

  sql/item.h
    1.187 06/02/25 17:46:25 monty@stripped +4 -1
    Fixed compiler warnings from gcc 4.0.2

  sql/handler.h
    1.167 06/02/25 17:46:25 monty@stripped +2 -0
    Fixed compiler warnings from gcc 4.0.2

  sql/field.cc
    1.298 06/02/25 17:46:25 monty@stripped +1 -1
    Fixed compiler warnings from gcc 4.0.2

  ndb/include/ndbapi/NdbDictionary.hpp
    1.52 06/02/25 17:46:25 monty@stripped +3 -0
    Fixed compiler warnings from gcc 4.0.2

  configure.in
    1.375 06/02/25 17:46:25 monty@stripped +3 -0
    Added comment

# This is a BitKeeper patch.  What follows are the unified diffs for the
# set of deltas contained in the patch.  The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User:	monty
# Host:	narttu.mysql.fi
# Root:	/home/my/mysql-5.0

--- 1.374/configure.in	2006-02-02 17:17:12 +02:00
+++ 1.375/configure.in	2006-02-25 17:46:25 +02:00
@@ -356,6 +356,9 @@
   # mysqld requires -fno-implicit-templates.
   # Disable exceptions as they seams to create problems with gcc and threads.
   # mysqld doesn't use run-time-type-checking, so we disable it.
+  # We should use -Wno-invalid-offsetof flag to disable some warnings from gcc
+  # regarding offset() usage in C++ which are done in a safe manner in the
+  # server
   CXXFLAGS="$CXXFLAGS -fno-implicit-templates -fno-exceptions -fno-rtti"
   AC_DEFINE([HAVE_EXPLICIT_TEMPLATE_INSTANTIATION],
     [1], [Defined by configure. Use explicit template instantiation.])

--- 1.297/sql/field.cc	2006-01-30 16:02:51 +02:00
+++ 1.298/sql/field.cc	2006-02-25 17:46:25 +02:00
@@ -5262,7 +5262,7 @@
   }
 
   if (nr >= 19000000000000.0 && nr <= 99991231235959.0)
-    nr=floor(nr/1000000.0);			// Timestamp to date
+    nr= (longlong) floor(nr/1000000.0);         // Timestamp to date
 
   if (error)
     set_datetime_warning(MYSQL_ERROR::WARN_LEVEL_WARN,

--- 1.166/sql/handler.h	2006-02-17 08:51:10 +02:00
+++ 1.167/sql/handler.h	2006-02-25 17:46:25 +02:00
@@ -231,6 +231,7 @@
   long bqual_length;
   char data[XIDDATASIZE];  // not \0-terminated !
 
+  xid_t() {}                                /* Remove gcc warning */  
   bool eq(struct xid_t *xid)
   { return eq(xid->gtrid_length, xid->bqual_length, xid->data); }
   bool eq(long g, long b, const char *d)
@@ -463,6 +464,7 @@
 
 typedef struct st_ha_check_opt
 {
+  st_ha_check_opt() {}                        /* Remove gcc warning */
   ulong sort_buffer_size;
   uint flags;       /* isam layer flags (e.g. for myisamchk) */
   uint sql_flags;   /* sql layer flags - for something myisamchk cannot do */

--- 1.186/sql/item.h	2006-02-16 19:54:42 +02:00
+++ 1.187/sql/item.h	2006-02-25 17:46:25 +02:00
@@ -164,7 +164,8 @@
   virtual my_decimal *val_decimal(Hybrid_type *val, my_decimal *buf) const;
   virtual String *val_str(Hybrid_type *val, String *buf, uint8 decimals) const;
   static const Hybrid_type_traits *instance();
-  Hybrid_type_traits() {};
+  Hybrid_type_traits() {}
+  virtual ~Hybrid_type_traits() {}
 };
 
 
@@ -339,6 +340,7 @@
   bool        save_resolve_in_select_list;
 
 public:
+  Name_resolution_context_state() {}          /* Remove gcc warning */
   TABLE_LIST *save_next_local;
 
 public:
@@ -1015,6 +1017,7 @@
 class Item_num: public Item
 {
 public:
+  Item_num() {}                               /* Remove gcc warning */
   virtual Item_num *neg()= 0;
   Item *safe_charset_converter(CHARSET_INFO *tocs);
 };

--- 1.119/sql/item_cmpfunc.h	2006-01-14 18:12:02 +02:00
+++ 1.120/sql/item_cmpfunc.h	2006-02-25 17:46:25 +02:00
@@ -128,6 +128,8 @@
 class Comp_creator
 {
 public:
+  Comp_creator() {}                           /* Remove gcc warning */
+  virtual ~Comp_creator() {}                  /* Remove gcc warning */
   virtual Item_bool_func2* create(Item *a, Item *b) const = 0;
   virtual const char* symbol(bool invert) const = 0;
   virtual bool eqne_op() const = 0;
@@ -137,6 +139,8 @@
 class Eq_creator :public Comp_creator
 {
 public:
+  Eq_creator() {}                             /* Remove gcc warning */
+  virtual ~Eq_creator() {}                    /* Remove gcc warning */
   virtual Item_bool_func2* create(Item *a, Item *b) const;
   virtual const char* symbol(bool invert) const { return invert? "<>" : "="; }
   virtual bool eqne_op() const { return 1; }
@@ -146,6 +150,8 @@
 class Ne_creator :public Comp_creator
 {
 public:
+  Ne_creator() {}                             /* Remove gcc warning */
+  virtual ~Ne_creator() {}                    /* Remove gcc warning */
   virtual Item_bool_func2* create(Item *a, Item *b) const;
   virtual const char* symbol(bool invert) const { return invert? "=" : "<>"; }
   virtual bool eqne_op() const { return 1; }
@@ -155,6 +161,8 @@
 class Gt_creator :public Comp_creator
 {
 public:
+  Gt_creator() {}                             /* Remove gcc warning */
+  virtual ~Gt_creator() {}                    /* Remove gcc warning */
   virtual Item_bool_func2* create(Item *a, Item *b) const;
   virtual const char* symbol(bool invert) const { return invert? "<=" : ">"; }
   virtual bool eqne_op() const { return 0; }
@@ -164,6 +172,8 @@
 class Lt_creator :public Comp_creator
 {
 public:
+  Lt_creator() {}                             /* Remove gcc warning */
+  virtual ~Lt_creator() {}                    /* Remove gcc warning */
   virtual Item_bool_func2* create(Item *a, Item *b) const;
   virtual const char* symbol(bool invert) const { return invert? ">=" : "<"; }
   virtual bool eqne_op() const { return 0; }
@@ -173,6 +183,8 @@
 class Ge_creator :public Comp_creator
 {
 public:
+  Ge_creator() {}                             /* Remove gcc warning */
+  virtual ~Ge_creator() {}                    /* Remove gcc warning */
   virtual Item_bool_func2* create(Item *a, Item *b) const;
   virtual const char* symbol(bool invert) const { return invert? "<" : ">="; }
   virtual bool eqne_op() const { return 0; }
@@ -182,6 +194,8 @@
 class Le_creator :public Comp_creator
 {
 public:
+  Le_creator() {}                             /* Remove gcc warning */
+  virtual ~Le_creator() {}                    /* Remove gcc warning */
   virtual Item_bool_func2* create(Item *a, Item *b) const;
   virtual const char* symbol(bool invert) const { return invert? ">" : "<="; }
   virtual bool eqne_op() const { return 0; }
@@ -739,6 +753,7 @@
 {
   longlong value;
 public:
+  cmp_item_int() {}                           /* Remove gcc warning */
   void store_value(Item *item)
   {
     value= item->val_int();
@@ -759,6 +774,7 @@
 {
   double value;
 public:
+  cmp_item_real() {}                          /* Remove gcc warning */
   void store_value(Item *item)
   {
     value= item->val_real();
@@ -780,6 +796,7 @@
 {
   my_decimal value;
 public:
+  cmp_item_decimal() {}                       /* Remove gcc warning */
   void store_value(Item *item);
   int cmp(Item *arg);
   int compare(cmp_item *c);

--- 1.122/sql/log_event.h	2005-10-27 15:13:52 +03:00
+++ 1.123/sql/log_event.h	2006-02-25 17:46:25 +02:00
@@ -121,6 +121,7 @@
  ****************************************************************************/
 struct sql_ex_info
 {
+  sql_ex_info() {}                            /* Remove gcc warning */
   char* field_term;
   char* enclosed;
   char* line_term;

--- 1.373/sql/mysql_priv.h	2006-02-16 15:19:18 +02:00
+++ 1.374/sql/mysql_priv.h	2006-02-25 17:46:26 +02:00
@@ -432,6 +432,7 @@
   byte *first;
   byte **next;
 
+  st_sql_list() {}                              /* Remove gcc warning */
   inline void empty()
   {
     elements=0;
@@ -983,7 +984,7 @@
 void close_temporary_tables(THD *thd);
 void close_tables_for_reopen(THD *thd, TABLE_LIST **tables);
 TABLE_LIST *find_table_in_list(TABLE_LIST *table,
-                               uint offset_to_list,
+                               st_table_list *TABLE_LIST::*link,
                                const char *db_name,
                                const char *table_name);
 TABLE_LIST *unique_table(THD *thd, TABLE_LIST *table, TABLE_LIST *table_list);
@@ -1024,7 +1025,7 @@
                                              const char *db_name,
                                              const char *table_name)
 {
-  return find_table_in_list(table, offsetof(TABLE_LIST, next_global),
+  return find_table_in_list(table, &TABLE_LIST::next_global,
                             db_name, table_name);
 }
 
@@ -1032,7 +1033,7 @@
                                             const char *db_name,
                                             const char *table_name)
 {
-  return find_table_in_list(table, offsetof(TABLE_LIST, next_local),
+  return find_table_in_list(table, &TABLE_LIST::next_local,
                             db_name, table_name);
 }
 

--- 1.204/sql/opt_range.cc	2006-02-06 21:35:06 +02:00
+++ 1.205/sql/opt_range.cc	2006-02-25 17:46:26 +02:00
@@ -1495,6 +1495,8 @@
   { return (void*) alloc_root(mem_root, (uint) size); }
   static void operator delete(void *ptr,size_t size) { TRASH(ptr, size); }
   static void operator delete(void *ptr, MEM_ROOT *mem_root) { /* Never called */ }
+  virtual ~TABLE_READ_PLAN() {}               /* Remove gcc warning */
+
 };
 
 class TRP_ROR_INTERSECT;
@@ -1518,6 +1520,7 @@
   TRP_RANGE(SEL_ARG *key_arg, uint idx_arg)
    : key(key_arg), key_idx(idx_arg)
   {}
+  virtual ~TRP_RANGE() {}                     /* Remove gcc warning */
 
   QUICK_SELECT_I *make_quick(PARAM *param, bool retrieve_full_rows,
                              MEM_ROOT *parent_alloc)
@@ -1539,6 +1542,8 @@
 class TRP_ROR_INTERSECT : public TABLE_READ_PLAN
 {
 public:
+  TRP_ROR_INTERSECT() {}                      /* Remove gcc warning */
+  virtual ~TRP_ROR_INTERSECT() {}             /* Remove gcc warning */
   QUICK_SELECT_I *make_quick(PARAM *param, bool retrieve_full_rows,
                              MEM_ROOT *parent_alloc);
 
@@ -1560,6 +1565,8 @@
 class TRP_ROR_UNION : public TABLE_READ_PLAN
 {
 public:
+  TRP_ROR_UNION() {}                          /* Remove gcc warning */
+  virtual ~TRP_ROR_UNION() {}                 /* Remove gcc warning */
   QUICK_SELECT_I *make_quick(PARAM *param, bool retrieve_full_rows,
                              MEM_ROOT *parent_alloc);
   TABLE_READ_PLAN **first_ror; /* array of ptrs to plans for merged scans */
@@ -1576,6 +1583,8 @@
 class TRP_INDEX_MERGE : public TABLE_READ_PLAN
 {
 public:
+  TRP_INDEX_MERGE() {}                        /* Remove gcc warning */
+  virtual ~TRP_INDEX_MERGE() {}               /* Remove gcc warning */
   QUICK_SELECT_I *make_quick(PARAM *param, bool retrieve_full_rows,
                              MEM_ROOT *parent_alloc);
   TRP_RANGE **range_scans; /* array of ptrs to plans of merged scans */
@@ -1625,6 +1634,7 @@
       if (key_infix_len)
         memcpy(this->key_infix, key_infix_arg, key_infix_len);
     }
+  virtual ~TRP_GROUP_MIN_MAX() {}             /* Remove gcc warning */
 
   QUICK_SELECT_I *make_quick(PARAM *param, bool retrieve_full_rows,
                              MEM_ROOT *parent_alloc);

--- 1.328/sql/sql_base.cc	2006-02-24 18:34:09 +02:00
+++ 1.329/sql/sql_base.cc	2006-02-25 17:46:26 +02:00
@@ -687,11 +687,11 @@
 */
 
 TABLE_LIST *find_table_in_list(TABLE_LIST *table,
-                               uint offset,
+                               st_table_list *TABLE_LIST::*link,
                                const char *db_name,
                                const char *table_name)
 {
-  for (; table; table= *(TABLE_LIST **) ((char*) table + offset))
+  for (; table; table= table->*link )
   {
     if ((table->table == 0 || table->table->s->tmp_table == NO_TMP_TABLE) &&
         strcmp(table->db, db_name) == 0 &&

--- 1.281/sql/sql_class.h	2006-02-24 18:34:09 +02:00
+++ 1.282/sql/sql_class.h	2006-02-25 17:46:26 +02:00
@@ -69,7 +69,8 @@
 
 class TC_LOG_DUMMY: public TC_LOG // use it to disable the logging
 {
-  public:
+public:
+  TC_LOG_DUMMY() {}                           /* Remove gcc warning */
   int open(const char *opt_name)        { return 0; }
   void close()                          { }
   int log(THD *thd, my_xid xid)         { return 1; }
@@ -930,6 +931,7 @@
 
 class Security_context {
 public:
+  Security_context() {}                       /* Remove gcc warning */
   /*
     host - host of the client
     user - user of the client, set to NULL until the user has been read from
@@ -1679,6 +1681,7 @@
 class select_result_interceptor: public select_result
 {
 public:
+  select_result_interceptor() {}              /* Remove gcc warning */
   uint field_count(List<Item> &fields) const { return 0; }
   bool send_fields(List<Item> &fields, uint flag) { return FALSE; }
 };
@@ -1966,6 +1969,7 @@
 class user_var_entry
 {
  public:
+  user_var_entry() {}                         /* Remove gcc warning */
   LEX_STRING name;
   char *value;
   ulong length;

--- 1.527/sql/sql_parse.cc	2006-02-24 18:34:09 +02:00
+++ 1.528/sql/sql_parse.cc	2006-02-25 17:46:26 +02:00
@@ -5979,10 +5979,11 @@
     /*
       table_list.next points to the last inserted TABLE_LIST->next_local'
       element
+      We don't use the offsetof() macro here to avoid warnings from gcc
     */
-    previous_table_ref= (TABLE_LIST*) (table_list.next -
-                                       offsetof(TABLE_LIST, next_local));
-    DBUG_ASSERT(previous_table_ref);
+    previous_table_ref= (TABLE_LIST*) ((char*) table_list.next -
+                                       ((char*) &(ptr->next_local) -
+                                        (char*) ptr));
     /*
       Set next_name_resolution_table of the previous table reference to point
       to the current table reference. In effect the list

--- 1.105/sql/sql_select.h	2006-02-02 16:25:23 +02:00
+++ 1.106/sql/sql_select.h	2006-02-25 17:46:27 +02:00
@@ -104,6 +104,7 @@
 Next_select_func setup_end_select_func(JOIN *join);
 
 typedef struct st_join_table {
+  st_join_table() {}                          /* Remove gcc warning */
   TABLE		*table;
   KEYUSE	*keyuse;			/* pointer to first used key */
   SQL_SELECT	*select;
@@ -287,7 +288,7 @@
   }
 
   JOIN(JOIN &join)
-    :fields_list(join.fields_list)
+    :Sql_alloc(), fields_list(join.fields_list)
   {
     init(join.thd, join.fields_list, join.select_options,
          join.result);

--- 1.185/sql/sql_update.cc	2006-02-16 15:22:46 +02:00
+++ 1.186/sql/sql_update.cc	2006-02-25 17:46:27 +02:00
@@ -1303,7 +1303,7 @@
       memcpy((char*) tmp_table->field[0]->ptr,
 	     (char*) table->file->ref, table->file->ref_length);
       /* Write row, ignoring duplicated updates to a row */
-      if (error= tmp_table->file->write_row(tmp_table->record[0]))
+      if ((error= tmp_table->file->write_row(tmp_table->record[0])))
       {
         if (error != HA_ERR_FOUND_DUPP_KEY &&
             error != HA_ERR_FOUND_DUPP_UNIQUE &&

--- 1.123/sql/table.h	2006-01-29 03:43:20 +02:00
+++ 1.124/sql/table.h	2006-02-25 17:46:27 +02:00
@@ -187,6 +187,8 @@
 /* Information for one open table */
 
 struct st_table {
+  st_table() {}                               /* Remove gcc warning */
+
   TABLE_SHARE	*s;
   handler	*file;
 #ifdef NOT_YET
@@ -444,6 +446,7 @@
 
 typedef struct st_table_list
 {
+  st_table_list() {}                          /* Remove gcc warning */
   /*
     List of tables local to a subquery (used by SQL_LIST). Considers
     views as leaves (unlike 'next_leaf' below). Created at parse time
@@ -675,6 +678,7 @@
 class Field_iterator: public Sql_alloc
 {
 public:
+  Field_iterator() {}                         /* Remove gcc warning */
   virtual ~Field_iterator() {}
   virtual void set(TABLE_LIST *)= 0;
   virtual void next()= 0;

--- 1.18/sql/spatial.h	2006-01-21 16:39:33 +02:00
+++ 1.19/sql/spatial.h	2006-02-25 17:46:26 +02:00
@@ -165,6 +165,8 @@
 class Geometry
 {
 public:
+  Geometry() {}                               /* Remove gcc warning */
+  virtual ~Geometry() {}                        /* Remove gcc warning */
   static void *operator new(size_t size, void *buffer)
   {
     return buffer;
@@ -302,6 +304,8 @@
 class Gis_point: public Geometry
 {
 public:
+  Gis_point() {}                              /* Remove gcc warning */
+  virtual ~Gis_point() {}                     /* Remove gcc warning */
   uint32 get_data_size() const;
   bool init_from_wkt(Gis_read_stream *trs, String *wkb);
   uint init_from_wkb(const char *wkb, uint len, wkbByteOrder bo, String *res);
@@ -349,6 +353,8 @@
 class Gis_line_string: public Geometry
 {
 public:
+  Gis_line_string() {}                        /* Remove gcc warning */
+  virtual ~Gis_line_string() {}               /* Remove gcc warning */
   uint32 get_data_size() const;
   bool init_from_wkt(Gis_read_stream *trs, String *wkb);
   uint init_from_wkb(const char *wkb, uint len, wkbByteOrder bo, String *res);
@@ -375,6 +381,8 @@
 class Gis_polygon: public Geometry
 {
 public:
+  Gis_polygon() {}                            /* Remove gcc warning */
+  virtual ~Gis_polygon() {}                   /* Remove gcc warning */
   uint32 get_data_size() const;
   bool init_from_wkt(Gis_read_stream *trs, String *wkb);
   uint init_from_wkb(const char *wkb, uint len, wkbByteOrder bo, String *res);
@@ -401,6 +409,8 @@
 class Gis_multi_point: public Geometry
 {
 public:
+  Gis_multi_point() {}                        /* Remove gcc warning */
+  virtual ~Gis_multi_point() {}               /* Remove gcc warning */
   uint32 get_data_size() const;
   bool init_from_wkt(Gis_read_stream *trs, String *wkb);
   uint init_from_wkb(const char *wkb, uint len, wkbByteOrder bo, String *res);
@@ -423,6 +433,8 @@
 class Gis_multi_line_string: public Geometry
 {
 public:
+  Gis_multi_line_string() {}                  /* Remove gcc warning */
+  virtual ~Gis_multi_line_string() {}         /* Remove gcc warning */
   uint32 get_data_size() const;
   bool init_from_wkt(Gis_read_stream *trs, String *wkb);
   uint init_from_wkb(const char *wkb, uint len, wkbByteOrder bo, String *res);
@@ -447,6 +459,8 @@
 class Gis_multi_polygon: public Geometry
 {
 public:
+  Gis_multi_polygon() {}                      /* Remove gcc warning */
+  virtual ~Gis_multi_polygon() {}             /* Remove gcc warning */
   uint32 get_data_size() const;
   bool init_from_wkt(Gis_read_stream *trs, String *wkb);
   uint init_from_wkb(const char *wkb, uint len, wkbByteOrder bo, String *res);
@@ -471,6 +485,8 @@
 class Gis_geometry_collection: public Geometry
 {
 public:
+  Gis_geometry_collection() {}                /* Remove gcc warning */
+  virtual ~Gis_geometry_collection() {}       /* Remove gcc warning */
   uint32 get_data_size() const;
   bool init_from_wkt(Gis_read_stream *trs, String *wkb);
   uint init_from_wkb(const char *wkb, uint len, wkbByteOrder bo, String *res);

--- 1.10/sql/parse_file.h	2005-11-20 20:47:00 +02:00
+++ 1.11/sql/parse_file.h	2006-02-25 17:46:26 +02:00
@@ -49,6 +49,8 @@
 class Unknown_key_hook
 {
 public:
+  Unknown_key_hook() {}                       /* Remove gcc warning */
+  virtual ~Unknown_key_hook() {}              /* Remove gcc warning */
   virtual bool process_unknown_string(char *&unknown_key, gptr base,
                                       MEM_ROOT *mem_root, char *end)= 0;
 };
@@ -59,6 +61,7 @@
 class File_parser_dummy_hook: public Unknown_key_hook
 {
 public:
+  File_parser_dummy_hook() {}                 /* Remove gcc warning */
   virtual bool process_unknown_string(char *&unknown_key, gptr base,
                                       MEM_ROOT *mem_root, char *end);
 };

--- 1.29/sql/tztime.cc	2005-12-13 18:40:16 +02:00
+++ 1.30/sql/tztime.cc	2006-02-25 17:46:27 +02:00
@@ -961,6 +961,7 @@
 class Time_zone_system : public Time_zone
 {
 public:
+  Time_zone_system() {}                       /* Remove gcc warning */
   virtual my_time_t TIME_to_gmt_sec(const TIME *t,
                                     my_bool *in_dst_time_gap) const;
   virtual void gmt_sec_to_TIME(TIME *tmp, my_time_t t) const;
@@ -1054,6 +1055,7 @@
 class Time_zone_utc : public Time_zone
 {
 public:
+  Time_zone_utc() {}                          /* Remove gcc warning */
   virtual my_time_t TIME_to_gmt_sec(const TIME *t,
                                     my_bool *in_dst_time_gap) const;
   virtual void gmt_sec_to_TIME(TIME *tmp, my_time_t t) const;

--- 1.12/sql/tztime.h	2005-07-31 12:49:47 +03:00
+++ 1.13/sql/tztime.h	2006-02-25 17:46:27 +02:00
@@ -30,6 +30,7 @@
 class Time_zone: public Sql_alloc 
 {
 public:
+  Time_zone() {}                              /* Remove gcc warning */
   /*
     Converts local time in broken down TIME representation to 
     my_time_t (UTC seconds since Epoch) represenation.

--- 1.51/ndb/include/ndbapi/NdbDictionary.hpp	2005-08-18 15:09:05 +03:00
+++ 1.52/ndb/include/ndbapi/NdbDictionary.hpp	2006-02-25 17:46:25 +02:00
@@ -61,12 +61,15 @@
  */
 class NdbDictionary {
 public:
+  NdbDictionary() {}                          /* Remove gcc warning */
   /**
    * @class Object
    * @brief Meta information about a database object (a table, index, etc)
    */
   class Object {
   public:
+    Object() {}                               /* Remove gcc warning */
+    virtual ~Object() {}                      /* Remove gcc warning */
     /**
      * Status of object
      */

--- 1.31/sql/sql_cache.h	2005-11-23 00:50:32 +02:00
+++ 1.32/sql/sql_cache.h	2006-02-25 17:46:26 +02:00
@@ -69,6 +69,7 @@
 
 struct Query_cache_block_table
 {
+  Query_cache_block_table() {}                /* Remove gcc warning */
   TABLE_COUNTER_TYPE n;		// numbr in table (from 0)
   Query_cache_block_table *next, *prev;
   Query_cache_table *parent;
@@ -78,6 +79,7 @@
 
 struct Query_cache_block
 {
+  Query_cache_block() {}                      /* Remove gcc warning */
   enum block_type {FREE, QUERY, RESULT, RES_CONT, RES_BEG,
 		   RES_INCOMPLETE, TABLE, INCOMPLETE};
 
@@ -143,6 +145,7 @@
 
 struct Query_cache_table
 {
+  Query_cache_table() {}                      /* Remove gcc warning */
   char *tbl;
   uint32 key_len;
   uint8 table_type;
@@ -171,6 +174,7 @@
 
 struct Query_cache_result
 {
+  Query_cache_result() {}                     /* Remove gcc warning */
   Query_cache_block *query;
 
   inline gptr data()
@@ -197,6 +201,7 @@
 
 struct Query_cache_memory_bin
 {
+  Query_cache_memory_bin() {}                 /* Remove gcc warning */
 #ifndef DBUG_OFF
   ulong size;
 #endif
@@ -215,6 +220,7 @@
 
 struct Query_cache_memory_bin_step
 {
+  Query_cache_memory_bin_step() {}            /* Remove gcc warning */
   ulong size;
   ulong increment;
   uint idx;

--- 1.29/sql/sp_rcontext.h	2005-12-07 16:01:08 +02:00
+++ 1.30/sql/sp_rcontext.h	2006-02-25 17:46:26 +02:00
@@ -268,6 +268,7 @@
   List<struct sp_pvar> *spvar_list;
   uint field_count;
 public:
+  Select_fetch_into_spvars() {}               /* Remove gcc warning */
   uint get_field_count() { return field_count; }
   void set_spvar_list(List<struct sp_pvar> *vars) { spvar_list= vars; }
 
Thread
bk commit into 5.0 tree (monty:1.2084)monty25 Feb